Mike Fotinakis
In: Open Source| Personal| Research
2009As a side project, a few friends and I decided to build a multi-touch interaction surface (a multi-touch table). We had no expertise or knowledge at all in the area, but we attempted it regardless—simply to satisfy our curiosity and because multi-touch interfaces are rapidly changing the way we all think about UI design.
After doing some research, we decided to build our surface based on the technique of frustrated total internal reflection (FTIR):

FTIR diagram (image from Tim Roth’s Multi-touch Dev Blog)
This design for multi-touch interfaces has been popularized by Jeff Han, a researcher from NYU. Infrared LEDs are placed around two sides of a sheet of acrylic, causing the IR light to be reflected within it. Then, when a finger or object touches it, the light is “frustrated” and refracts off of the object and out of the acrylic. An IR camera below the screen then sees this as a blob of IR light which can be interpreted by a computer for recognition of gestures, touches, and movement.
For snazzy pictures and more info about this project, see unui.org.
We created the uNUI Group site as an extension of the Natural User Interface Group to document our progress as we experimented with devices and software. We successfully built the multi-touch surface and tested it using the Touchlib library.
Later on, while I was taking a CS game development course, I was able to write a multi-touch 3D game in C# and using the XNA framework for my final project in the class. In addition to learning C# and XNA for this class, I was exposed to cool topics like collision detection, shaders, and game design.
Overall, this was a fascinating side-project and I would love to pursue multi-touch programming further. It was also quite fun to research and complete something very different than my day to day programming tasks.
Welcome to the chronicle of my professional work, topped with a dash of personal projects. Feel free to contact me; I am always looking for new opportunities and to meet new people.