January 20, 2005

Bay Area Product Design Studios

Product design consultancies or studios in the Bay Area that I should contact about observing the prototyping process:
  • Astro Design
    Designed Nike wrist watches, InFocus LCD projectors, Compaq iPaq, Kensington Gravis game controller, Virgin Boomtubes+handheld MP3 player, HP home projectors, Iomega Zip 750, Good Technology G100 pdawirelessemailerthing
    Contact: 461 Valencia St, San Francico, CA 94103
    (415) 487-6787
    infoATastrostudiosDOTcom
  • Brad Bissell
    Freelancer?, worked on earlier Apple products, including Newton
    Address: 1539 Bordelais Drive, San Jose, CA 95118
    408-448-1747
  • fuseproject - SF
    some technology work w/ Toshiba, Moviebeam, Microsoft. But not tech-centric.
    Address: 123 South Park, San Francisco, CA 94107
    415 908 1492
    infoATfuseprojectDOTcom
  • Frog Design
    Disney ATM, Microsoft Media Player Skins, Ford Th!nk Kiosk, eCast internet jukebox
    Addresses: 1327 Chesapeake Terrace, Sunnyvale, CA 94089, Tel. +1-408-734-5800
    420 Bryant Street, San Francisco, CA 94107, Tel. +1-415-442-4804
    infoATfrogdesignDOTcom
  • Hiemstra
    Product development focusing on hand held instruments and "custom enclosures".
    Address: 101 Townsend Street, Suite 301, San Francisco, CA 94107
    415-495-6441
    James Flom {VicePresident, Research & Development} jflomAThiemstraDOTcom
  • inno Design
    Samsung Camcorders, LG PDA/Phone, Samsung cell phones and game pad, iRiver portable MP3 and video players
    Address: 577 College Avenue, Palo Alto, CA 94306
    650-493-4666
  • Jay Wilson Design
    Freelance? Phone 650 529 9181; 30 Ciervos Road, Portola Valley, CA 94028
  • Lunar Design
    Motorola Talkabout phone, Palm m100 series PDA, Biosentient physiological monitoring, Optimize digital eyewear
    Addresses: 541 Eighth Street, San Francisco, CA 94103; 415-252-4388
    537 Hamilton, Palo Alto, CA 94301, 650-326-7788
  • Moto
    Intel dot.station, Zeum Artist Studio, Experience Music Project museum guide, collaborations with Interval Research
    Address: 85 Second Street, Suite 710, San Francisco, CA 94105-3459
    Tel 415.281.4800
  • Pentagram
    387 Tehama Street, San Francisco, CA 94103
    +415 896 0499
    infoATsf.pentagram.com
  • Speck Product Design
    ACT Labs game controllers, MedPoint Medication Management System, Gyration Gyropoint
    Address: 227 Forest Avenue, Palo Alto, CA 94301, P: 650.462.9080
    speckpaATspeckdesignDOTcom
  • Zoe Design
    Rocket eBook, Motorola Accompli 2-way pager, Siemens Tradeboard, NEC Urban Warrior Address: 466 Brannan St, San Francisco, CA 94107, 415-896-1438
    infoATzoeDOTcom
Companies with their own in-house ID departments (presumably):

Studio addresses were mostly collected from design-engine.com's link list Other interesting companies, not local: Additional links (thanks to Krispin Leydon):
Posted by Bjoern Hartmann at 03:16 AM | Comments (0)

January 19, 2005

Survey of Physical Interaction Hardware Toolkits

NOTE: This article is a work in progress and will be updated as I find more time to work on it.
This list is an overview of currently available commercial tangible user interface (TUI) hardware toolkits. While one can distinguish these products along many dimensions, I have chosen the locus of the control code as my primary differentiating characteristic. A complete spreadsheet for feature-comparison is in the works. I see three different categories:
  1. tethered PC-only control where the user cannot or should not reprogram the microcontroller;
  2. hybrid PC+microcontroller systems where user code can run on both the PC and the microchip;
  3. standalone microcontrollers that are initially programmed through a PC but then run autonomously.
The categories often don't have hard boundaries - I have grouped products below by their path-of-least-resistance - the mode of operation that the system designers facilitate most.
Other possible categorization dimensions:
  • sensors 1: plug-and-play or SIY (solder-it-yourself)?
  • sensors 2: which kinds are shipped, which other supported/possible?
  • actuators: feedback possible?
  • programming models: for microcontroller, for pc. debugging available?
  • form factor
  • chip only, protoboard?
  • networking/daisychaining - what if you run out of inputs?
The list:
  1. High-Level Plug'n'Play Architectures - you don't/can't program the microcontroller:
  2. Hybrid MC/PC systems: user program can reside on the microcontroller or on the PC, or on both - most flexible:
  3. Low-level MC only for autonomous, untethered systems (robotics):
  4. Others:


Phidgets
USB-Based physical interface kit; API support for Visual Studio-based programming - mainly Visual Basic and C# (via http://www.cpsc.ucalgary.ca/grouplab/phidgets/)

Teleo
High-level plug and play physical prototyping kit, aimed at interactive multimedia installation artists. Programming support for C++, MAX/MSP and Flash (via XML)

ActiveWire
16 digital I/O pins; USB Interface; Add-on boards to connect to analog sensors and motors, solenoids, Relays, LCD, etc...

NIQ EZIO
PIC-based, 10 digital in, 10 digital out, 10 A/D, 2PWM; Serial I/O to host; BYO sensors

BasicStamp
Microcontroller-based solutions; microcontrollers are programmed in some dialect of basic/c/java; communication usually through serial port (RS232); digital outs, analog+digital ins; runtime control on PC through any model that supports serial port I/O. Microcontroller board can run stand-alone or pipe messages to PC. The Physical computing book by Igoe and O'Sullivan is a great resource for these systems.

CCRMA AVRMini Board
8bit RISC processor; board uses RS323/MIDI/OSC to communicate with PCs. add-on motor controller exists.

OOPic
description

Handyboard (and 6.270) from MIT -
description

Brainstem
description

iCube
description

Lego Mindstorms RCX
Plug'n'Play, Visual programming language, but only 3 sensors, can't control from PC in realtime.

MIT Programmable bricks
Each cricket has a unique dedicated functionality. Compare to Motes?

iStuff
"Can we speed up and simplify setting up experiments with different user interface hardware configurations in an augmented-reality environment such as the Stanford iRoom, by providing a toolkit of basic, generic physical input and output devices that are new in that they are completely mobile, untethered, and remotely accessible through the room software infrastructure (event heap), and that can therefore be combined on-the-fly to build or extend physical post-desktop user interfaces?"
(alt. link)
None of the surveyed systems can drive a display or take in CV input. Communication/Networking is possible but a pain to do in microcontroller code. Thus it would be useful to have a toolkit that offers easy integration of these three parts: TUI, Vision/Projection (high-bandwidth graphics in/out), Networking.
Posted by Bjoern Hartmann at 09:17 AM | Comments (0)

January 18, 2005

Concrete TUI Examples

What kind of applications would users of a TUI prototyping toolkit actually want to build? I have compiled a list of existing products and devices that make use of tangible interaction techniques. This list is meant to serve as a real-word check of what our toolkit should be able to support. The chosen systems can be roughly categorized by target audience as follows: Note: Too many of the present examples can be described as "small boxes with a couple of buttons." More examples for large-scale technologies are needed.

Digidesign DIGI 002 MIXER
Firewire control deck for ProTools audio editing software. Challenging because it has a plethora of interface elements. Bidirectional communication between software on host PC and the mixer: faders control software parameters, but are also motorized and can be moved from the software. (from ADR03)

Navigator Presentation Remote
A PowerPoint remote control with built-in laser pointer. We should be able to prototype this device very quickly. Only potential challenge: small form factor. (from ADR03)

ARGUS3 THERMAL IMAGING CAMERA
Aides vision for firefighters in dark or smoke-filled environments. Has thermal sensors in addition to normal lens (how would we hook these into our environment?) and an option of wireless video telemetry. User interface only uses three buttons for all functionality. (from ADR03)

Apple iPod
Harddisk-based mobile MP3 player. This has been our running example for a while. Difficulties here: How do you prototype the clickwheel? In addition to the player itself, the interplay between player and host-PC software is also something our prototyping app needs to address. (from ADR02)

PalmOne Treo 650
How do you prototype a mobile software platform? High density of interaction elements in small space.

Burton Shield iPod Jacket
Snowboarding jacket with media playback control built into the sleeve. Inner pocket has connector for iPod (other players will not work with the fabric buttons).

The Emperor's new clothes installation
Exhibition at New York's Artists Space where visitors carry virtual clothes on hangers and try them on in booths that project digital images onto a mirror. (ADR02)

Yeoman Map Plotter
Designed by IDEO. Links paper-based maps to GPS systems. "Once initialized, it will show your GPS position on any map or chart. The Yoeman (sic) consists of an electronic pad which acts as the mapboard, and a "mouse" which guides you to your position on the map with a series of indicator lights. The mouse display also shows position coordinates, speed, direction, and direction and time to the next location on your route." (source)

Health Buddy
Designed by IDEO. Device elicits patient self-reports and automatically sends data to care providers for monitoring and tracking through phone connection. (2nd link)

Steelcase Room Wizard (IDEO)
Shows reservation information for meeting rooms, allows in-situ reservation via touchscreen, syncs to Lotus Notes and Microsoft Exchange/Outlook for software-based reservations.

Yamaha Wind MIDI Controller
Breath-based MIDI controller. Button press, pressure and breath data is converted into MIDI messages which can be used to control any MIDI-compatible synthesizer.

Kimiko Ryokai - Storymat (MIT Media Lab)
A listening system built around a sensor-equipped play mat that elicits storytelling from children.

Sam(MIT Media Lab)
A 3D virtual play pal that interacts with kids using a physical RFID-equipped castle.

The Queen's Baton (IDEO)
"Inside the Baton, sensors detect and synchonize with each new runner's pulse rate, conveying it to a series of LEDs via a light behavior module. The lens then transforms the LEDs into a dramatic blade of pulsating light."

Ambient Orb
Peripheral display that changes colors and blinks in response to data (stock quotes, weather) received over a wireless connection.

Tobobo (MIT Media Lab)
"Topobo is a 3D constructive assembly system with kinetic memory, the ability to record and playback physical motion. Unique among modeling systems is Topobo’s coincident physical input and output behaviors."

FurbyLearning toy with motorized facial displays and "speech" output. Different Furbys exchange information wirelessly when brought into proximity.


I/O Brush (MIT Media Lab)
A virtual drawing device that allows users to "pick up" colors from their real world surroundings using the camera built into the brush and then paint with that color on a projection-based virtual canvas.
Other examples:
Posted by Bjoern Hartmann at 10:27 AM | Comments (0)

Programming by Demonstration

Overview of Programming by Demonstration (PBD):
PBD systems record user action within the application interface and try to infer rules by generalizing from the observed data. Thus program logic is generated from direct interface manipulation. The crucial component of inference and generalization makes these systems more powerful than mere macro recorders. While PBD was an active field in the early 1990, publishing activity has diminished markedly in recent years. Most researchers that were part of the first wave of PBD have exited the field. Few systems have made it past the toy stage into commercial production. This page attempts to provide a complete collection of links to PBD sites that are still active and maintained. It is broken up into various dimensions along which we may want to divide the PBD field.
Related terms and research areas: programming by example, instructible systems, end-user programming, natural programming.
Research foci:
PBD systems have mostly concentrated on augmenting a few classes of applications, described below:
  • End-user programming is concerned with providing non-experts with tools and techniques to control, automate, and customize their software applications or intelligent physical devices. Teaching basic programming paradigms is also an often-used objective. Techniques have to be simpler than procedural programming and often try to leverage real-world metaphors or visual programming techniques. Howie Goodell's EUP webpages have a plethora of information on the subject. See also Bonnie Nardi's A Small Matter of Programming
  • Repetitive task automation software functions like a macro recorder that learns patterns of user activity and can then execute those patterns autonomously. Tessa Lau's recent work falls into this category.
  • UI customization, personalization tries to detect idiosyncratic interface use over time and change interface appearance to optimize access to frequently used functionality.
  • PBD for Robots: probably most useful for our own project. Robotic manipulators (mostly "arms") are programmed by direct movement; human analogical performance picked up through vision or other sensors; or iconic demonstration in software.

Publications:
Two books have been published, each a collection of papers describing research systems. These books provide good coverage of the research area through 2001. Some papers published since 2001:
  • Dey, A.K., Hamid, R., Beckmann, C., Li, I., Hsu, D. a CAPpella: Programming by Demonstration of Context-Aware Applications. CHI 2004, ACM Conference on Human Factors in Computing Systems, CHI Letters 6(1): to appear. April 24-29, 2004. (pdf)
  • Montemayor et al., Physical programming: designing tools for children to create physical interactive environments, 2002. (abstract | long paper)
  • Markus Ehrenmann, Oliver Rogalla, Raoul Zöllner and Rüdiger Dillmann. Teaching Service Robots Complex Tasks: PBD for Workshop and Household Environments. In Proc. of the IEEE Int. Conf. on Field and Service Robotics 2001 (FRS), Finnland 2001. (pdf)
  • Chris Beckmann, and Anind Dey. SiteView: Tangibly Programming Active Environments with Predictive Visualization
    Intel Research Tech Report, 2003. (pdf)
  • Rob Hague, Alan F. Blackwell and Peter Robinson. End-User Programming in the Networked Home.
    Paper presented at The 1st Equator IRC Workshop on Ubiquitous Computing in Domestic Environments, The School of Computer Science and Information Technology, The University of Nottingham, 13-14th September 2001. http://www.equator.ac.uk/ (pdf)

People:
Researchers with active homepages:
Some Systems:
Events:

Other info collections:

Leftovers: Links that are not directly relevant or outdated:
Reachable, but stale: Wayne Citrin (tech reports@colorado), Martin Frank.
TUIs: Rob Jacob
Ullmer/Ishii - Emerging Frameworks for Tangible User Interfaces. In “Human-Computer Interaction in the New Millenium,” John M. Carroll, ed.; © Addison-Wesley, August 2001, pp. 579-601. (pdf)
Posted by Bjoern Hartmann at 06:42 AM | Comments (0)

January 14, 2005

TUI applications

What kind of products are being developed that take advantage of the possibilities of tangible interaction? A good first approximation can be found in ID Magazine's annual design review. Here are direct links to the winners of the past few years:

Design Review Winners: 1997 | 1998 | 1999 | 2001 | 2002 | 2003 | 2004

Student Design Review Winners: 2004 | 2003

Posted by Bjoern Hartmann at 03:27 AM | Comments (0)

January 13, 2005

Survey of Physical Interaction Hardware Toolkits

This list is an (incomplete) overview of currently available commercial tangible user interface (TUI) hardware toolkits. While one can distinguish these products along many dimensions, I have chosen the locus of runtime control as my primary differentiating characteristic. A complete spreadsheet for feature-comparison is in the works. I see three different main categories: 1) tethered PC-only control where the user cannot or should not reprogram the microcontroller; 2) Hybrid PC+microcontroller systems where user code can run on both the PC and the microchip; 3) standalond microcontrollers that are initially programmed through a PC but then run autonomously. The categories often don’t have hard boundaries – I have grouped products below by their path-of-least-resistance – the mode of operation that the system designers facilitate most.

Group 1 - control code runs on PC:
Phidgets - http://www.phidgets.com/
Teleo by MakingThings - http://makingthings.com/
iCube - http://infusionsystems.com/
NIQ EZIO - http://www.ezio.com/
ActiveWire - http://www.activewireinc.com/

Group 2 - hybrids:
BasicStamp - http://parallax.com/
Handyboard (and 6.270) - http://www.handyboard.com
BrainStem by Acroname - http://www.acroname.com/brainstem/brainstem.html
OOPic - http://www.oopic.com/

Group 3: autonomous microcontrollers:
Lego Mindstorms: http://mindstorms.lego.com/
MIT Programmable Bricks / Crickets - http://llk.media.mit.edu/projects/cricket/software/index.shtml

Related - mobile mini-computers:
http://www.acroname.com/robotics/parts/R231-SP-KIT400.html

Posted by Bjoern Hartmann at 08:05 PM | Comments (0)