January 2015

Room OS

by Bret Victor, Robert M Ochshorn

The first pass at an "operating system" for programs running on real-world objects. Programs can project onto surfaces, and respond to laser pointers.

Began with the Research gallery (2015). See the email thread there for the origin story.

The Dynamic Library (2015) was another early motivation.

Completely redesigned a couple months later, as Hypercard in the World (2015).

(The names used in this archive are somewhat retrospective. At the time, this whole set of work was referred to vaguely as "the room". This first OS was labelled "v1", and Hypercard in the World was a nickname for what was internally labelled "v2".)


Hardware consisted of Mac Minis, BenQ 1080p projectors, PS3 Eye webcams.

Each machine ran a full-screen Chrome instance on each projector. "Processes" were iframes, running JavaScript, synchronized via a realtime database in Python.

Below is the system state visualizer and live-editor, which later evolved into Bigboard (2015). The state shown here was shared by all machines. For the best documentation on the architecture, see the visualizer.

0:06

For ideas on deepening the visualizer, see Database of meaning (2015).


Early planning sketches / aspirations, immediately following the initial Research gallery (2015) prototypes.