The exploration began with a show. And it wasn't even specifially for anything that had to do with multi-touch technology. I went to FlashForward 2008 in San Fran thanks to the company I work at, Optiem. And there is watched an interesting presentation on the value of prototyping presented by Danny Stillion from IDEO. He went over the power of prototyping and that extra bit of value that helps sell an idea to a client and work out problems you may not have initially thought of. Then he mentioned that the released source code onto Google Code for builing and using a multi-touch screen. And that was it, just a small mention. During the rest of the event, I didn't really think too much about it. There were just so many other great speakers to focus on. And I wasn't even there for technology like that. I was there for learning more in the field of Flash.
Inspiration Brewing - Proof of Concept Building
So I got back home. Flash wise, came back with a lot of great conceptually, not too much in the way of new code I can use, but more of a re-kindling of the passion to become the best Flash Developer/Designer in the company or even in my area, in that sense work was going great I was working hard and loving it. Then I though back to the IDEO presentation, and thought more about just the idea of multi-touch. Then I couldn't stop thinking about it. The main question in my mind, What can you do with more than one point of contact? So i went back to look more into what IDEO released to Google Code. -- I love the diagram they used. So it made a little bit of sense. Ok, honestly, I didn't get it, so I just read through it and kind of set it aside. And I knew I couldn't really do anything with just the Flash if I didn't have the hardware to test it on, I needed a touchscreen of some sort.
A little time passed, and thought more about it. And I decided to dig a little deeper. What did I have on that diagram I could start with, other than Flash. Well, I had a webcam. Right, step 1, remove IR filter. I like taking stuff apart, so that was no problem. Grabbed to screwdriver, POW, no more IR filter. Found some old exposed camera film, used that to replace the IR filter, reduced natural light interferance. Done.
Step 2, get control of some IR light. I started looking online for places I could buy IR LEDs from. Found some really nice, really cheap LEDs thanks to site and blogs like BlaXwan's. I even started to dabble with what i had. Took the webcam, and hooked up the LEDs to some pen casings, added switches and just wove them around in the air. The demo apps worked even with that! I was infatuated with it now and I had no choice but to learn more.
Step 3. Multi-Touch screen. But where to start? Enter NUI Group. I would not have gotten as far as I have, as quickly as I have without the help of everyone there. I got a piece of acrylic and decided to try the FTIR route. Quick note, Learn what the actual forward voltage is for your LEDs when you calculate what kind of resistor you need before hooking up a 12V old computer power supply. After burning out, oh 25 or so LEDs and completely burning out several resistors (with smoke emission and fire present) it finally worked how it should.
FTIR - New Lens from Chris Yanc on Vimeo.
From Hardware to Software
After getting it to start working. And learning more thanks to NUI Group. I switched grears for what application I was using for the touchscreen application. I started using tBeta and Touchlib. tBeta is a great interface for gathering the touchscreen information for applications to use, but Touchlib had all of the Flash application information for me to build apps in Flash, which is a much more comfortable programming environment for me. After building able to start using loading and testing the Demo applications, I brought in my touchscreen to Optiem to demo it to everyone, some people knew what I was building but most of them knew nothing about it. It was received very well by everyone.
And that is where I am currently at. Now that I have a working multi-touch screen, which is being converted into a table-top setup, I have been working on understanding the nuances of the code behind getting applications built and working in Flash. I will be working on keeping this site up to date on my progress in Flash application development for a multi-touch environments.
I've uploaded into the blog sections, source code to the video below. It's the latest demo of the multi-touch app experiments I have been working on. Enjoy.
Multi-touch Flash Experiments from Chris Yanc on Vimeo.
Multi-Touch Flash Updated Experiments from Chris Yanc on Vimeo.
As I began working more with the Flash development of multi-touch apps, I decided to share as much as I could with the community. So I began with just uploading files to my server for anyone to download. This worked alright, but I knew there could be something better. That's when I came across Google Code. I could tie all the work I was doing into a SVN repository, then anything I commit, everyone else could just update the files. I find it very useful, especially not knowing the end all be all solution yet, and there may just not be one.
Google Code SVN Reposatory Available at: http://code.google.com/p/multitouchas3experiments/
Now that I've learned a strong foundation around coding multi-touch within Flash, it's time to put it out use. I approaching local artist Alex Boxerbaum to work on his website for the upcoming ingenuity fest event, but he already found a designer. But he expressed great interest in this multi-touch technology. So we met and he described to me what he needed for his exhibit; The will be a series of time-lapse videos projected in a HD screen, users will be able to use the table to select the next video in the play order.
I've written some posts regarding my approach to developing the application:
- Multi-touch Flash app prototype - for 36 views of a bridge video project
- Promotion Time ~ 36 Views of a Bridge / Ingenuity Fest
- Flash Communication Ninjutsu
Ingenuity Fest is now quickly approaching. But I'm still confident that everything will be completed in time. Join me July 10-12 Downtown Cleveland for my first public appearance of the technology I've been working so diligently on since October 2008.
More to come...