Monday, April 7, 2008

Week 14 - The Teapot from 1975, Utah.

0407

I've stumbled upon a few videos related to the OpenTouch project that I've mentioned last Friday, 0404.

Introduction to MacLibre and OpenTouch
http://video.google.com/videoplay?docid=-3884258697819652860
Topics covered:
  • MacLibre
  • Multitouch introduction
  • OpenTouch concept
  • OpenTouch modules description
  • OpenTouch gestures

Compiling OpenTouch on Linux and Mac OSX
oscpack
  1. Copy /oscpack/MakefileLinux over /oscpack/Makefile
  2. Change "INCLUDES = -I./" into "INCLUDES = -I./ -I./ip/" !!!important!!!

Some related files posted on GSoC file repo
http://groups.google.com/group/google-summer-of-code-discuss/files


TUIO: A Protocol for Tangible User Interfaces
http://tuio.lfsaw.de/



0408

Today I experimented with Quartz Composer mainly because it has the potential for lots of eye candy and also because it is the easiest way for me to create a splashTop with widgets. I was a little reluctant at first, but this beats having to do the aesthetics in OpenGL where it could potentially eat into my development time.

So I did a little exploring and within minutes I was able to get a cloud to follow my mouse pointer. Then Kevin took this a step further and threw in a Utah teapot that rotates with respect to the cursor location. However, there was a latency between the laser point and mouse cursor, mainly because my Lightdraw application was calling X11 API to move the pointer. This would be slow since X11 is not the native windowing system on Leopard OS X, and also because Quartz Composer was polling the mouse pointer location on every loop.

I would think that the simplest way to resolve these issues is to send the laser coordinates from Lightdraw to Quartz Composer directly, via OpenSoundControl (OSC), much like what OpenTouch uses.



0409

Finally hooked up Lightdraw and Quartz Composer to communicate via OSC protocols. I shall not have to endure choppy X11 on Mac anymore!

To do:
  1. Standardize usage of OSC protocol communication.
  2. Learn more about Quartz Composer. Find out if persistent variables are possible. (DONE, use Javascript)


0410 - Thanks Ben!

Ben from Apple Singapore came over to visit the Lightdraw crew. He kindly assisted us by cleverly introducing a smoothing function to our Quartz Composer Utah teapot demo, and that disguised the visual disruptions caused by unstable motions from a user's trembling hands. I suspect that I could implement the smoothing functions in Lightdraw to correct such visual disruptions too. After which Kevin and I prepared a few demos for tomorrow's video recording and also for future presentations.




0411

Recorded our first Lightdraw video with an entire length dedicated to lazer applications. That's right, its lazer with a "z". The demos recorded involves:
  • Rotating an enironment mapped Utah teapot
  • Moving a rendered image of cloud
  • Navigating Mozilla Firefox
  • Interacting with Google Earth

These demos are more interesting now because of flashy graphics they show how we can easily extend the laser interactions to applications with practical uses.

Here's the link to our previous video. Pardon the crappy music loop. I suggest that we may try using loops from fffff.at, with thanks and credit where credit is due of course.


Outstanding tasks:
  • Multiuser splashtop
  • OSC multiuser protocol
  • $1 gesture recognition module
  • Profiling
  • Auto calibration

No comments: