Sunday, November 30, 2008

sense of touch

I have been looking at multitouch applications for the last several months. The idea of interacting with computers and data via touch is much more intuitive than a mouse and is much cooler. Touchscreens have been around for a long time, but we are now on the verge of seeing screens and software that can take advantage of multiple inputs. The main problem that most people have with this new technology is that it is expensive, especially when it comes to multitouch. This is because you need hardware that can detect more than one finger and software that can decide what to do with that. Luckily, the awesome people in the hacking community have come up with a novel solution that is dirt cheap and still has the same effectivness. By using a webcam, a cardboard box, and a pane of glass, we can make a multitouch sensor. The webcam is filtered through a piece of paper, which is then picked up by a nice piece of code that does some color adjustment to the image to isolate the ends of the fingers. The software is all open source and free for Mac, Linux and Windows. They also put a bunch of demos in there for you to play with. Here is where to get it all. That is also the AudioTouch page. They have a cool video of the demo, but haven't released the code for it yet.

What makes all of this possible is some nifty coding. But last week a new programming language came out called Processing 1.0. It is still in beta, but it allows for rapid coding of visualization demos for all sorts of applications. Many multitouch demos are coded at least in part with Processing. You can google 'Processing 1.o" and download the compiler. It was written in Java, so it is similar to that. The site has a good collections of man pages and resources for learning the lanugage. The compiler also comes with a bunch of really cool examples. I like the ones that involve capturing live video and messing with it. For those examples to work, you have to download QuickTime 7 and a program called WinVDIG, version 1.01 (NOT the lastest version). If you can't find a copy of WinVDIG, email me and I will send you the setup.

So Microsoft released a video of some multitouch research they were doing that does not require a physical screen or touchpad. It uses only the webcam input detects and tracks certain points. After seeing this demo, guru remade a version of the demo in Processing (in only 20 minutes, a tribute to the power of Processing). Here is the post. I ran it myself and got it to work with 2 post it notes like he did and also got it to work by coloring the tips of my fingers with purple and red sharpie. Note that for it to work, you have to copy and paste it in, then save it, and put an image called 'mangoofdeath.jpg' in the same directory. Or you can change the name in the script to whatever the image is called. Anyway, it is a really neat demo. Over Christmas break, my friend and I plan to whip up a couple demos and play around with more multitouch applications. It would be really cool to make a bootable Linux Live CD that had all of the libraries preconfigured and the USB drivers for a bunch of webcams and a bunch of demos for multitouch. It could also have Processing installed on it. Hmm. I have never made a Linux Live CD before, but I have a post somewhere in my 1700 bookmarks that details how to do it. I think that will be another project to look into over break.

But this week is dead week at Tech, and next week is finals, so I will most likely not be posting anything for the next 2 weeks. Like anyone reads this anyway! But to the one person who subscribes to my RSS feed, go take something apart.

No comments:

Post a Comment