Paper Programs
Run JavaScript programs on pieces of paper, using a projector and camera. Physically hold,
Paper Programs is a browser-based system for running JavaScript programs on pieces of paper. You set up a projector and camera aimed at a wall, table, or floor, and print out papers that are recognised and executed by the system. Programs are stored on a server (using Node.js and PostgreSQL), hosted on paperprograms.org. Each program has a number, and the dots on the paper encode that number. A camera detects the dots and retrieves the program associated with each paper. This is done in a browser, using OpenCV compiled to WebAssembly, and some custom JavaScript code. Calibration happens manually, using a UI built in React. Program code and configuration are stored in the browser's local storage. Projection and execution of programs happens in a separate browser window. Each program runs asynchronously in a Web Worker, and can request access to a canvas, coordinates of other programs, and so on. There is an editor page, which anyone in the space with a laptop or tablet can use to edit programs, using Monaco. When having created a new program, you can click a print button to print out a new paper that runs that program. It has the program text printed on the paper itself. Any edited program can be reverted to its original state.
7 alternatives to Paper Programs
Ranked by how well each tool replaces Paper Programs: shared features, audience, price and popularity.
An easy programming language that runs in the browser, for teaching and learning to code.
Has a free plan.
Free plan49 out of 100 matchFreehybrid visual live programming - rethinking general purpose and creative coding
47 out of 100 match—- 43 out of 100 match$25/mo
A flexible software sketchbook and a language for learning how to code
Has a free plan.
Free planOpen source39 out of 100 matchContact salesCloud GPU platform for developing, training, and deploying AI models
Has a free plan.
Free plan37 out of 100 match$8/mo