Most of my readers already know that I am a fan of Jeff Han’s multi-touch screen interface technology. I think it is a great interface for future parallel programming in a COSA development environment because it makes it easy to visually manipulate and experiment with a large pool of plug-compatible parallel components. Even though it is easy to represent objects in three dimensions on a 2-D surface, I always felt that it would be nice to be able to virtually immerse oneself into a program under construction. I envisioned a day when an application designer could visually jump into and navigate through a running program under construction. I think it would add a natural and highly productive feel to application design akin to moving around in a familiar environment such as one’s home. The reason is that the brain loves 3-D. It can quickly make sense of and adapt to its surroundings by getting a fix on its position and orientation relative to other nearby objects. Also, previously encountered 3-D configurations or patterns will add to overall scene comprehension in a way that makes it easy to spot out of place or wrongly connected objects that can potentially ruin a design.
This is the reason that I was pleasantly surprised to read about the newest 3-D user interfaces currently being shown at SIGGRAPH 2009, as reported by MIT’s Technology Review. I think this stuff is awesome. In my opinion, anybody who is interested in the future of parallel computing should get acquainted with these new technologies. The availability of a virtual touch interface is particularly interesting, not only because it adds another sensory modality that will reinforce the 3-D experience, but also because it may open the door for even the blind to enjoy computing in a powerful way that they are already familiar with. It might even provide them with an effective sense of 3-D vision through touch, a great help for navigation.
Get ready. The future is on our doorsteps.
How to Solve the Parallel Programming Crisis
Why I Hate All Computer Programming Languages