Toolkits for Physical Objects (TUIs) Jack Li Advanced User Interface Software

advertisement
Toolkits for Physical Objects
(TUIs)
Jack Li
Advanced User Interface Software
November 30
Fall 2004
1
Outline

Motivation for TUIs

Input Technologies

TUI Toolkits
2
MOTIVATION FOR TUIS
Current Limitations of UIs
Desktops and laptops suck in our entire
attention
 As a result we live in two worlds: the real
physical world and the virtual cyber world
 Constantly “wired” in order to be in both
worlds
 Loss of rich interactions found in everyday
things (particularly haptic)

3
MOTIVATION FOR TUIS
Motivation
Driven by ubiquitous computing
 Both people and technology moving away
from the desktop into the environment
 Input: different ways of interacting
 Output: different ways of displaying

4
MOTIVATION FOR TUIS
Tangible User Interfaces





TUIs augment the physical world by integrating
digital information with everyday physical
objects
Goal: to bridge the gap between bits and atoms
1. Interactive surfaces
2. Coupling information with physical objects
3. Ambient media for background awareness
5
Outline

Motivation for TUIs

Input Technologies

TUI Toolkits
6
INPUT TECHNOLOGIES
Physical Objects as Input
Pretty much anything … walls, papers,
utensils, clothes hangers!
 Inspiration

sci-fi novels, own imagination
 everyday life, current practices

7
INPUT TECHNOLOGIES
Devices



Cameras
Electronic tags (RFID technology)
Sensors






Light
Motion
Heat
Force
Motors
Orbs
8
INPUT TECHNOLOGIES
Framework for the GUI
(a)model-view-controller
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
9
INPUT TECHNOLOGIES
Framework for the TUI
(b)MCRpd: model-controlrepresentation(physical and digital)
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
10
Outline

Motivation for TUIs

Input Technologies

TUI Toolkits
Phidgets (2001)
 Calder (2004)
 Papier-Mâché (2004)

11
Toolkit Goals
Same as when GUIs were built
 Make easy for non-specialized experts to
create (should not need a vision or
hardware guru on the team)
 Hide dirty implementation details
 Abstract proper functionality with welldefined API

12
PHIDGETS
Overview
First toolkit for physical objects
 Reusable physical devices with proper
abstraction for creating a wide variety of
applications
 An API that had the right amount of
abstraction

13
PHIDGETS
GUI Differences

Connection manager


Identification


Way of detecting when devices go on/off
Every physical object should have a virtual
counterpart
Simulation

A way to test code even if phidget not
present
14
PHIDGETS
Architecture
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
15
PHIDGETS
The Physical Device

Primitive device components


QuickTi me™ a nd a
TIFF (LZW) de com press or
are need ed to se e th is p icture.


Circuit board


Sensors
Motors
Switches
CY7C63000 USB micro-controller
Communications layer

USB communication standard
16
PHIDGETS
Wire Protocol


Low-level software in Windows and
microcontroller for communication
that’s hidden from end programmers
Commands from phidgets




QuickTi me™ and a
TIFF ( LZW) decompressor
are needed to see thi s pi ctur e.
Unique Id numbers
Device type (servo, powerbar)
Specific events (tag for RFID reader)
Commands from Windows

Set device state (output like servo)
17
PHIDGETS
Computer Software

PhidgetManager

Connection manager
•
•
•
•

Event onAttach()
Event onDetach()
Int count
Enum item
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
Phidget-specific devices

All have:
• String deviceType
• Boolean isAttached
• Long serialNumber

RFID
• onTag()

Servo
• onPositionChanged(), motorPosition(index)
18
PHIDGETS
Simple Application

Phidget Manager
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.

Phidget Servo
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
19
Outline

Motivation for TUIs

Input Technologies

TUI Toolkits
Phidgets (2001)
 Calder (2004)
 Papier-Mâché (2004)

20
CALDER
Main goals
Primarily geared towards
interaction/product designers
 Support for more refined products
 Support on the hardware side

21
CALDER
Supported Devices
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
Small size is big win!
22
CALDER
Fluid prototyping
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
Objects easily embedded!
23
CALDER
Communication

Wired
PIC16C745 C with USB interface engine
 Same as Phidgets (and iStuff)


Wireless
Tradeoff between size and power (perhaps
Moore’s law will remedy)
 Small batteries, antenna, and pulse-width
modulation

24
CALDER
Software

Surrogates (GUI widgets) to manipulate
physical object output
25
Outline

Motivation for TUIs

Input Technologies

TUI Toolkits
Phidgets (2001)
 Calder (2004)
 Papier-Mâché (2004)

26
PAPIER-MACHE
Overview
Emphasis on software side side
 Input model that provides common
programming abstractions
 Focus on objects being lightweight

27
PAPIER-MACHE
Software Abstractions

Phob—encapsulates information related to this
physical object




PhobListener—listens for Phobs produced



All—source producer, time
RFIDPhob—tag
VisionPhob—mean color, bounding box, rotations
phobAdded(), phobUpdated(), phobRemoved()
PhobProducer—actual devices that generates
events
PhobManager—maintains PhobProducers
28
PAPIER-MACHE
A Common Event Model


PhobListener is the interface among all devices
Methods are the same


Vision


phobAdded() when new object detected, phobUpdated() when
old object changed (size, color), phobRemoved() when old
object disappears
RFID (different from what the paper says)


phobAdded(), phobUpdated(), phobRemoved()
phobAdded() when tag detected, no phobUpdated(),
phobRemoved() when tag disappears
Facilitates easier retargetting and substitutions (allows
for more exploration and faster, prototyping)
29
PAPIER-MACHE
Marble Answering Example

1. Get the manager that keeps track of all
input devices (PhobProducers)
RFIDManager manager = RFIDManager.getManager();

2. Set up a map associating all objects with
an audio clip
AssociationFactory factory = new AudioClipFactory();
AssociationTreeTable assocMap = new
AssociationTreeTable(factory);

3. Attach this map so new objects are
assigned new clips and old ones get played
manager.addPhobListenerForAllProducers(assocMap);
30
PAPIER-MACHE
A Behavior: Associations
A common behavior we noticed
 New objects get stored/assigned, old
objects get retrieved a database of sorts
 An extension of PhobListener

31
PAPIER-MACHE
A Behavior: Associations

AssociationTreeTable


ObjectClassifier


addClassifierFactoryPair(Classifier, Factory)
isMemberOfClass(Phob phobToCompare)
AssociationFactory

createAssociationEltForPhob(Phob phob)
32
PAPIER-MACHE
Monitoring Window
33
PAPIER-MACHE
Device state—connection mgr
34
PAPIER-MACHE
Camera Feedback
35
PAPIER-MACHE
Association Map
36
PAPIER-MACHE
Extras
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
QuickTime™ and a
TIFF (LZW) decompressor
are needed to see this picture.
37
Summary
38
Major Toolkit differences

Phidgets


Calder


Complete, balanced, varied assortment of
physical objects easy to program with
Small size allows for more fluid prototyping at
the PHYSICAL level
Papier-Mâché

Unified event model allows easier
development and retargetting at the
SOFTWARE level
39
Conclusion
TUIs seek to augment the physical world
with digital information
 Toolkit support allows non-experts to
develop TUI application, like GUI toolkits
 Successful toolkits must manage physical
connections, gather/alter relevant physical
state information, and provide good
feedback for these added complexities

40
Future work

Input adaptation


Input models


M to N mapping of input devices
What other kinds of behaviors can be
abstracted
Will be more clear with the development
of more applications
41
References





Hiroshi Ishii , Brygg Ullmer, Tangible bits: towards seamless interfaces between people, bits and atoms,
Proceedings of the SIGCHI conference on Human factors in computing systems, p.234-241, March 2227, 1997, Atlanta, Georgia, United States
Ullmer, B. and H. Ishii, Emerging Frameworks for Tangible User Interfaces, in Human-Computer
Interaction in the New Millennium, Addison-Wesley. pp. 579 -- 601, 2001.
Saul Greenberg, Chester Fitchett. "Phidgets: easy development of physical interfaces through physical
widgets," Proceedings of the 14th annual ACM symposium on User interface software and technology,
November 11-14, 2001, Orlando, Florida
Scott R. Klemmer, Jack Li, James Lin, James A. Landay. "Papier-Mache: toolkit support for tangible
input," Proceedings of the 2004 conference on Human factors in computing systems, p.399-406, April
24-29, 2004, Vienna, Austria
Lee, J.C.; Avrahami, D.; Hudson, S.E.; Forlizzi, J.; Dietz, P.H.; Leigh, D.L., "The Calder Toolkit: Wired
and Wireless Components for Rapidly Prototyping Interactive Devices", Designing Interactive Systems
(DIS), ISBN: 1-58113-787-7, pp. 167-175, August 2004
42
Download