Wednesday, 11 June 2008

Sensing stuff...

OK, here's another set of methods of getting information into the computer, other than my webcam experiments.

A short while ago I read a very inspirational book by Brendan Dawes ( called 'Analog In , Digital Out' (at Amazon UK). He's one of the gurus on Flash and all things multimedia. His book focusses on the ways that analog or real-life sources of data, like light and sound, can be converted into useful and meaningful data on a computer.

His experiments include making a doorbell ring when someone visits his website, and gathering colour, size and shape data from a webcam trained on a piece of playdough - where the playdough was the user interface...!

All sounds strange but these two examples alone have given me lots of ideas and influence on my project.

The doorbell example was created using the following kit:
This electronics kit connects to the computer using either USB or ethernet and can have an array of sensor devices attached to it. These sensors include those for light, infrared, pressure and a series of switches. It's also possible to send signals out to the device and control devices like motors and LED lights.

The data is received into Flash using a custom actionscript class as a stream of numerical data. It's then moreorless up to the designer to use the data as they see fit.

The playdough example was created using a combination of a webcam and a piece of software called Cycling74 Max 5. The software company originally began by making audio-plugins for editing suites on the Apple Mac. Using the program's video capabilities, it's possible to detect an object's size, colour and whole load of other variables...

Lastly, a lot of the examples in the book employ a programming language called Processing, which is derived from JAVA. The description from the website says...

"Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production."

Processing is an incredibly versatile language that makes programming specifically for graphics a complete cinch. Many of the classes you would have to explicitly call if using a traditional JAVA compiler are readily available. I downloaded a special class that enabled me to use my webcam within the Processing environment. The example I tested consisted of around only 50 lines of code. It enabled the user to wave their hand (or any other object) in front of the camera and attract a virtual tennis ball to their fingertips... I'll provide an example on my website soon!

These are the 3 main programming environments I shall research and employ during the course of my project...


No comments: