TANGIBLE COMPUTING Is a radically different way of thinking about interactive design. This lesson should give a basic understanding of the methods and styles used in Tangible Computing and so you can begin to think about projects in a technically pragmatic way.

Putting Users In Touch
Typical user interfaces allow users to interact using the mouse and keyboard. Installation design the other hand, seeks to respond to users using almost anything else. Much of the work executed in the field is conceptual, without the ability for users to meaningfully explore and understand large amounts of information. Tangible computing is a field which is usually specialized, and until recently, development platforms have required advanced knowledge of low-level programming, electronics, and physical prototyping abilities. However, the proliferation of low-cost wireless technologies and the advancement of democratized programming languages opens doors for designers to explore the medium in meaningful new ways.


Illustration of the paths on which input data must travel.

When selecting a platform to build your input hardware, you should consider:

1) how your device will connect to your computer
2) how youre software reads the input
3) if the raw input data requires any special filtering to communicate effectively with your software


Methods

Microcontrollers
Microcontrollers are miniature computers that can be programmed to act either as a mediator between electronic components and a multimedia computer, or as stand-alone devices to control installations. These devices allow the user to connect binary input devices, such as switches, buttons and contact sensors, and most feature onboard Analog-to-Digital Converters (ADCs) which allow analog components like potentiometers, photoresistors and flex-sensors to be converted to digital data. These solutions require at least working knowledge of electronics, but offer a wide variety of options for different kinds of input.

Choosing a Microcontroller
The gamut of microcontrollers runs from high-level devices such as the MakingThings' Teleo controllers which feature plugins for Flash and Max/MSP to a variety of PIC chips that require extensive knowledge of electronics to operate. A good middle-of-the road chip is the BX-24 Chip from NetMedia. It can be programmed with the easy to understand PicBasic, and makes data available to applications via the serial port (or USB via a KeySpan adapter). It is the simplest solution for getting analog data into Processing. For Flash applications however, the Teleo might be a more easily-deployed solution.

Hardware Hacking
This method requires the least knowledge of electronics. It entails reverse-engineering low-cost, off-the-shelf computer hardware to extract the working components. This method is extremely versatile, since ubiquitous devices, such as keyboards and mice can be leveraged to create a reusable device. For designers, reverse-engineering is also far easier since it can be accomplished methodically, without the learning-curve of designing circuits and electronics from the ground-up. If the input data you require from your user is binary, hardware hacking a keyboard is one of the quickest ways to obtain your data.

Alternative Input Devices
Another way of creating new input methods is to utilize a standard input device in a new way. Webcams and microphones provide excellent passive input which can be filtered to create meaningful, real-time information about the user. The JMyron extension for Processing allows the developer to track the motion of an object within the camera's field-of-view by defining the colour or brightness of the object. Microphones return momentary levels of ambient noise, which can be filtered to detect a finger-snap or hand-clapping. An interesting aspect of these input methods is that the input device is separated from the user, so they may not know that the system is interactive until they notice it is reacting to them.

Combinations
Especially when taking shortcuts in developing new user interfaces, input strategies can employ multiple types of devices. For example, a webcam is easily accessible and can be used to track the motion of a user, while a hardware-hacked keyboard might provide any necessary binary input to compliment the interactive scheme.