Date: Sun, 22 Feb 2015 14:57:11 -0800
From: Bret Victor
Subject: Re: Time and Possibility
[notes about plans for room]

Having too many "want to do"s can be overwhelming, especially when unsure about "how to do" many of them.  It seemed helpful to break the big project down into sequential subprojects, to focus on building the more-known while background-ruminating on the less known.

Plans are made to be broken, and things probably won't develop as described here.  But without a roadmap like this, they might not develop at all.  

This all might take a while (years, probably), but if it results in an Alto-like situation (a new computer system/interface giving rise to new applications and ways-of-thinking), it'll of course be worth it.


phase 1 -- applications (escaping the tiny rectangle)

Build the "escaping the tiny rectangle" set of exhibits, with the system as it is now.  The end goal is a website and possibly an exhibition.

Relevant research agenda items include dynamic library, research gallery, representation gallery.


Small fixes and improvements to the system are okay, as needed.  But accept, for now:
- a 0D data model (no timelines or possibilities)
- nouns represented as table rows in tiny rectangles
- verbs represented as javascript in tiny rectangles


phase 2 -- system (nouns)

Implement the 2D data model, programmatic random access across:
- time / causality
- possibility / what-if
(A robust implementation isn't the point, so cheat as much as possible, take advantage of everything being on the local ethernet, throw hardware at the problem, generally try to minimize the infrastructure work.)

Visually represent the nouns in the system accordingly.  (This is the real point.)  This probably won't fit in a tiny rectangle, so use the system itself to go big, spread out, make a "wing" of the gallery the "engine room".  

Build out the equipment as needed.  (10's of projectors/cameras/etc)

Accept, for now, verbs represented as code in tiny rectangles.  (That is, none of the "transformation" stuff for now.)


phase 3 -- applications (nouns)

Use the capabilities implemented in the previous phase to make would-have-been-impossible spatial applications, particularly Seeing Spaces-like spatial "time and possibilities" representations.

Play with applications related to the noun-representation-oriented agenda items -- dynamic spatial media, dynamic stage, dynamic library, dynamic history, etc.  Become familiar with thinking in room-scale nouns.

Significantly build out the equipment.  (100's of projectors/cameras/etc)


phase 4 -- system (verbs)

Represent behavior (verbs) by direct manipulation of noun representations.

This could include, at least, spreadsheet-like table transformations as mentioned earlier.  But this is the time to seriously play with weirder concepts such as "programming" by direct manipulation of large-scale objects and tangible, physical objects, using the hands and the body, etc.

The goals are (small prize) to get "programming" out of the tiny rectangle, and (big prize) to eliminate "code" to the extent possible.


phase 5 -- applications (verbs)

Use the concepts and infrastructure from the previous phase to expand direct-manipulation verbs beyond just programming the system itself, to creating dynamic behavior more broadly.  This gets into the verb-oriented agenda items -- dynamic authoring, dynamic mathematics, dynamic creative play, dynamic conversation, etc.


phase 6 -- I don't know what phase 6 is

Enjoy it, I guess?