Digital projector technology continues to improve, lending them to novel new applications. The relevance of these new applications will also continue to increase as the projectors themselves enter the home as well as various embedded devices.
This project outlines one novel use of this technology, the propagation of executable code fragments between computing systems constructed by the analysis of visual input.
Our implementation consists of two computers running small Java graphics applications, projecting their results onto a wall. These two projections are represented below as a yellow and blue square, for computer A and computer B, respectively. Computer A is displaying an object that moves in a particular fashion, represented internally as an executable block of Java code.
As this object moves into the overlapping region between the two projections, computer B detects the presence of a new object from an attached camera. Computer B discerns patterns in the movement of the object, and dynamically constructs a new object to represent the motion of the object. In the example given, the circle is simply moving according to a velocity vector v. This object is then instantiated and executed within the runtime of Computer B. In addition to this propagation, Computer A is also able to "see" it's object move into the overlapping region. Thus, Computer A subsequently deallocates the object that represents the moving object within it's own runtime.
The end result is the propagation of executable code via the analysis of purely visual cues.

Systems such as these hold the possibility for new types of gaming experiences when used in conjunction with projector-enabled handheld devices with support for video capture.