About
A note from brien:
A few years ago I wrote a proposal to the Experimental Computing Facility (XCF) at Berkeley, entitled "interviic – interactive visual sonic technologies". The XCF was non-respondent (I later learned they are defunct) and the central theme of that proposal – the pinstripe cadet – kind of got lost for a little while. Later I had the fortune of meeting Jeff Heer, who became my research mentor for a year, and we spun off this program to test some visualization techniques we had been thinking about. Conception credit for mixing in fractals goes to Jeff.
I moved to Palo Alto and dug up this code, which I consider the first step in realizing that original proposal. I think there are something like three pieces to this image world concept, of which a way to translate an experience of a world into some concrete form (here) is one. I'm looking forward to developing the others, and the concept as a whole, towards an interactive story.
Minor FAQ:
1. Why are pieces of the image world blurry or (worse) missing?
The program uses multi-resolution rendering to bring you pieces of the image world from a server (currently located in Brien's apartment), which means that it will use the best available image to render each location on the screen. So, due to the algorithms used to load images, different pieces of the image world may be available at different qualities, hence some may be blurrier than others.
So that's why some places are blurrier than others. In general, even when you've been viewing the same location for several minutes, why are the images still blurry? It's because the images are stored using lossy compression (currently a wavelet encoding, per JPEG2k). This compression allows us to store up to 20 images in the same space that one lossless image would take. Click here for a visual comparison of three different compression techniques.
Ok, so why are are some places missing (you're seeing a gray rectangle with an orange corner)? Well, simply, the volume of information in the image world is huge! I wrote several programs (and there is a crawler that will use JavaSpaces in the works) to generate the image world before-hand. The first ran for about a month, generated over 14 gibibytes of data, and covered only half the world! The current scheme pushes this task to the viewers (you!) using a simple algorithm -- if you encounter a missing spot, your computer generates it. This lets us avoid loading unwanted places, and also (hehe) lets us track how people are viewing the image world (future visualizations pending!).
2. What are are these lines and colors doing?
They're trying to help you visualize the movement of the camera. The rectangle represents the camera's vision (what you see) as it moves through the image world.
3. What are your future plans?
I'm going to start working on a crawler and a way to generate new image worlds. I have this analogy to painting, and I would like to create the aqua chamber. [insert link to Jeff's projects]