Date: Mon, 22 Feb 2016 18:42:02 -0800
From: Bret Victor
Subject: Re: Programming Imagination Jam
I thought about implementing Glen's video coasters.

I was imagining a binder (seen here at lower left) as a kind of "magic tome" that gives life to the objects near it.  That way, I can make my own video coaster "app" in my binder, and Glen can make his in his binder.  The behavior of the coasters and other objects is determined by whoever's binder is lying on the table.



Booper 

You play a video by booping the coasters with the booper.  The booper is a stylus with an LED on the tip, which lights up when you touch something.  (The camera above the table can see the LED.)

Booping video here:
[IMG_9014.mov]



Rules 

The behavior of the objects is determined by rule-cards lying on the table.  I later decided to designate a specific area as "active rules", so I could try out various rulesets by taking the cards on and off the area.

One rule here is referencing the distance between the two yellow markers, which turns them into an informal slider.



Binder

On the first page of the binder, I defined some "classes" of objects.  "These are the types of objects in my microworld."  I don't know if this is a good idea or not, but I wanted to start exploring it.  The class descriptions were typed on the receipt-typewriter and taped to the page.

At the bottom of the page, I define the binder's "radius of influence".  The behavior described in the binder affects objects within this spatial scope.  An overhead camera image is being projected onto the page, with the radius of influence highlighted in yellow.



Snapshots

I used the next page of the binder to hold "snapshots" of rule configurations that I liked and captured.  The picture and caption are projected onto the page.  I can go back to a snapshot by selecting it on the page.  (I'm not sure how that would be reflected on the physical rule-area.  Probably a projection over it or near it, indicating that the active rules are in a kind of "ghost world".)



Notebook

I used the next page of the binder to simply take notes.  The green is handwritten, the black ("3 hours ago", etc) is projected.  

I am able to draw diagrams in the notebook (unlike most text-file-based notes app), and I'm also able to capture images and recordings of the state of the world.  On the last line, I've placed a capture of a performance that I liked, which I can now replay.



Gestures

I started thinking about using booper gestures as a command language.  The gestures are recorded by demonstration, and represented in the binder as comic-strip panels.  To loop a video clip, I might move the booper in a circle.  To stop a clip, swipe left.

How is the gesture system itself implemented?  Maybe that's on the next page of the binder.

I liked being able to simply add pages to the binder as I thought of new features or views that I wanted.


Swiping up on a clip might send it to a clip queue, to be played in sequence.  I grabbed a blank piece of foamcore, propped it up next to the video player, and called it the clip queue.  Now it's there.