A Quartz Composer prototype of the Microsoft Surface demo

mita_Foundation.html
 
I believe anyone has seen at least one of the Surface demos, the touchscreen big coffee table computer coming from Microsoft.  One very common demo is the one for photo browsing where using two fingers, you can pull the corners of a photo and stretched it to a new size or move it around the table.  Just in case you need a recap you can find of course a short video on youTube.

That was very attractive and there are re-implementations of that demo on other multi touch devices like iPhone/iPod Touch and even several RIA adoption. There are Flash, Silverlight and even standard SVG implementation on the Web where you can simulate the multi touch using regular mouse.

But what about a think different implementation ?  While I was working for the StarLight project on the Apple Quartz Composer technologies a different approach for the same problem come to my mind.

I figured out that Apple multi touch approach is far more than let the user put their fingers on the screen.  Since the introduction of the MacBook Apple has landed to end user the usage of multi touch using gesture.  On MacBook you can use two finger on your trackpad to simulate right click or scroll up and down.  On the recent MacBookAir Apple has innovated again this approach and added support for three fingers and several new gestures for operations like pinch, swipe, rotate and zoom. 

In my QC prototype I’ve used current MacBook gesture because SDK for new multi touch gesture isn’t available yet and more important because I don't have a Mac Book Air yet.

I simulate the pinch effect with the scroll up/down gesture and the rotation with the scroll left/right gesture.  An interesting effect of this roundtrip by the way is that it works even with a mighty mouse, that in some way it also implement a sort of multi touch experience.

Well the composition that you can  download Surface.qtz is just a prototype and doesn’t implement all the features of the original Microsoft demo but there are some consideration about the development of it that I’d like to share with you.

I’m not an expert at all here and this was really my first experience with this tool but I found extreme advantages from Quartz Composer.  I found it a very high level tool, easier to use than any other  traditional development environment and I believe it implements a real visual approach on graphic programming.  I really appreciate how easy it is to reuse graphic components and I focused only on the script that handle user input and move photos, all the graphics effects have been just copied from the samples in the SDK.

It’s amazing how easy and transparent is to add complex animation and graphic filtering. I found outstanding how few lines of code I had to write to build such a user interface.

I really believe that QC has lot of potential, probably more than actually appears from the sample and the few stuff you can find on the Web.  


jacopo@edjwonders.com
http://www.youtube.com/watch?v=vjq6Ux664wMhttp://silverlight.net/samples/1.1/SilverlightSurface/Run/default.htmlhttp://people.mozilla.com/~vladimir/demos/photos.svgmita_Foundation.htmlQuartz_Composer_Surface_Prototype_files/Surface.qtzmailto:jacopo@edjwonders.com../Site_2/StarLight_new.htmlshapeimage_2_link_0shapeimage_2_link_1shapeimage_2_link_2shapeimage_2_link_3shapeimage_2_link_4shapeimage_2_link_5