intermediary translation map a-> 2,3 c->1 1->b 2->b a istuff input component 1...

Post on 13-Dec-2015

216 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related