Most of this page is speculation. Although every step of the plan is technically possible, the final product may look slightly different.

A refactoring table is a normal table equipped with input/output devices and a processing unit (computer). The user scratches the table, and microphones taped to its underside corners reveal the location of contact (via latency between different microphones). The output is usually the imagery shone from above by a light projector, although speakers and lasers can be used too. Optionally, a camera is also mounted above the table to recognize objects placed on the table. The camera may not be necessary since by sound/vibration alone can the OS differentiate different material used to scratch the table surface and where the table is scratched.

This idea is inspired by Dynamic Land, although they have not yet published the source code of their OS. Also, their system is cumbersome to set up in a poor household.

The OS should have pluggable syscalls/API as effects, and the user application’s effect type shows its required system APIs. (In case you don’t already know, an OS with pluggable API already exists (see Genode OS).)

The target audience of this technology is families who can afford a desktop computer and a projector, but not much more. (Other peripherals, like cameras and contact microphones, cost next to nothing.) In many families, the dining table is the only large enough flat surface above the floor, and the accompanied hardware is designed to not interfere with daily activities (like dining) on the same table when the OS is turned off.

To achieve reasonable productivity, it is necessary to build a custom UI for this new type of appliance. A custom OS not based on Linux is also desired since the interface of software running on it would be so different from what Linux offers. A custom drawn programming language would also be provided for productivity.


It’s very hard to describe this with words. Check back when it’s made.

It should use 2-hyperbolic geometry to compress content (since the table has limited size).