Intermediary Translation Map A-> 2,3 C->1 1->B 2->B A iStuff Input Component 1 Application C iStuff...
-
Upload
abigail-reynolds -
Category
Documents
-
view
216 -
download
3
Transcript of Intermediary Translation Map A-> 2,3 C->1 1->B 2->B A iStuff Input Component 1 Application C iStuff...
Intermediary
Translation MapA-> 2,3
C->11->B2->B
A
iStuff Input Component
1
Application
C
iStuff Input Component
B
iStuff Input Component
2
Application
3
Application
Anoto Pen iMouse
iMike
iDog
X10
iStylusiSlider
RF
iButtons
Anoto Pen iMouse
iMike
iDog
X10
iStylusiSlider
RF
iButtons
iSpeakeriLight
iBuzzer
iSpeakeriLight
iBuzzer
Event Heap
PatchPanel Proxy
iStuff Device
Transceiver
iStu
ff c
ompo
nent
Application
Wireless connection
iStuff Architecture
Event Heap
PatchPanelIntermediary
PatchPanelGUI
PatchPanel Configuration
PatchPanel Architecture
iStuff
• Prototyping Desktop GUIs: easy• Prototyping Post-Desktop UIs: hard• Goal: Simplify post-desktop experiments UI• Idea: iStuff := toolkit for prototyping Post-Desktop
UIs– Basic input/output components– Wireless, autonomous– Designed for augmented environment (iRoom)– Lightweight, Cross-platform, simple API
iButtonsiButtons
X10X10
iPeniPeniDogiDog
iLightiLight
iSlideriSlider
USB receiverUSB receiver
iDialiDial
Taking Advantage of Infrastructure
• 5-line Event Heap based application can talk to iStuff• iStuff device = wireless device + PC proxy/daemon
– Lightweight, cheap, low-power, ... devices
Application
eheap.jar
Event Heap
eheap.jar
PC daemon
iSpeaker
Radio Transmit
eheap.jar
PC proxy
iSlider
Radio Receiver
"iS
tuff
dev
ice"
iStuff: Evaluation
• Successful sample uses– Start The Room– iPen– iPong
• Great Unified Input Theory:– New paradigm for writing room applications
www.stanford.edu/~borchers/istuff/
Event Heap app to speak textimport iwork.eheap2.*;class speaktext { // Connects to event heap in static void main(String []args) // arg[0], and sends
AudioEvent { // with the text in arg[1]. try{ EventHeap theHeap=new EventHeap(args[0]); // Connect to
the Event Heap Event myEvent=new Event("AudioEvent"); // Create an event myEvent.setPostValue("AudioCommand", "Read"); // Set its fields myEvent.setPostValue("Text", args[1]); theHeap.putEvent(myEvent); // Put event into Event
Heap } catch(Exception e) { e.printStackTrace(); } }}
>speaktext iw-room2.stanford.edu "Hello World"
Great Unified Input Theory
• iStuff wireless hardware layer can be RF, X-10, Bluetooth, 802.11b, Infrared, Cellular,...
• Offer iStuff as abstraction layer of room devices above this level
• Adopters can– Use our hardware and software designs and replicate devices– Use our software and use off-the-shelf components as iStuff– Implement the "plugins" for new hardware technologies
• Make applications listen only to Event Heap Events
Summary
• The Stanford iRoom
• Ubicomp requires re-thinking user interface metaphors and architecture
• iStuff as a tool to facilitate experimentation in ubicomp interfaces– Not the answer to "post-desktop mouse & keyboard",
but may help finding it...
• http://iwork.stanford.edu/
• http://www.stanford.edu/~borchers/iStuff/
The Stanford iRoom