Back to the real world: Tangible interaction for design

1. INTRODUCTION1.1. What is tangible interaction? Why shouldwe care? Afterseveraldecadesinwhichdesigncomputinghasbeenal-most exclusively the domain of software, today, many inves-tigators are building hybrid systems and toolsthat in onewayor another bridge the divide between physical “real-world”artifacts and computational artifacts. On the one hand, therise and popularityof mass customization, rapid prototyping,and manufacturing raises questions about the kinds of soft-waresystemsandtoolsthatwillmakethesehardwaretechnol-ogies useful in designing. In contrast, advances in microcon-troller and communications technologies have led to a waveof embedding computation in physical artifacts and environ-ments.BotharedescribedinGershenfeld’s(1999,2005)popu-lar books.Tangibleinteractionisagrowingfieldthatdrawstechnologyand methods from disciplines as diverse as human–computerinteraction (HCI), industrial design, engineering, and psy-chology. If the idea of ubiquitous computing (Weiser, 1991)is computation integrated seamlessly into the world indifferentformsfordifferenttasks,“tangibility”givesphysicalform and meaning to computational resources and data. TheHCI community terms this seamless interaction variously“tangible bits” (Ishii & Ullmer, 1997) or “embodied interac-tion” (Dourish, 2001). Tangible interaction is simply cou-plingdigitalinformationtophysicalrepresentations.Atangi-ble user interface (TUI) extendsthe traditional graphical userinterface on screens into the everyday physical world to real-ize the old goal of “direct manipulation” of data (Shneider-man, 1983). Aish (1979) and Frazer et al. (1980) were pioneers in tan-gible interaction for design; both developed instrumentedphysical objects as input devices for computer-aided design.However, the widespread adoption of the mouse in the firstcommercial personal computers shadowed other forms ofinteracting with computers such as the pen and TUIs. ThedevelopmentofTUIsbasedonaugmentedrealityandembed-ded computing proceeded independently, and it was manyyears before the HCI community rediscovered these earlyefforts (Sutphen et al., 2000). Coupling physical features to digital information can beperceptually mediated by human senses (i.e., sight, touch,smell, etc.), leveraging the affordances of things (blocks arestackable,ballsarebouncy)andcontrolmechanisms(squeez-ing toothpaste out of the tube or turning a knob). Before thedays of fast CPUs programmers could read the changing pat-terns of lightson the mainframe console (known colloquiallyas “das Blinkenlights”) to help debug their code, an early in-stance of bringing processes within the machine into thephysical realm. More recent tangible interaction researchmakesvirtualobjects“graspable”(Fitzmauriceetal.,1995)byusing physical “bricks” as handles and letting people “takethedigitalout”intotherealworldtomanipulateitphysically.Blocks,forexample,areapopularphysicalformfortangi-ble interaction. We rotate Navigational Blocks (Camarataet al., 2002) to query digital content in a tourist spot; flipand rotate blocks to scroll a map on Z-Agon (Matsumotoet al., 2006); stack up Computational Building Blocks (An-derson et al., 2000) to model three dimensions; or snap to-gether Active Cubes (Watanabe et al., 2004) to interactwith the virtual world. Alternatively, consider projection:projection andspatialaugmentedreality have beenemployedwith multitouch surfaces and computer vision in reac-Table (Jorda et al., 2007) for hands-on musical collaborationor in bringing dinosaurs to life in Virtual Showcase (Bimberetal.,2003). Comingfullcircleisthe“richinteractioncamera”(Frens, 2006)that appliestheform, interaction, and function-ality of a conventional 35-mm film camera to improve theusability of its digital counterpart.Since its first issue, AI EDAM has published the best workat the frontiers of engineering design and computing; today,tangible interaction is one of those frontiers. At first glancetangible interaction might seem a mere conceit: interfacesare inherently superficial. However, new input and output