Brad A. Myers Handheld Devices for Control

advertisement
Human Computer Interaction Institute
School of Computer Science
Carnegie Mellon University
Handheld Devices for Control
Brad A. Myers
bam@cs.cmu.edu
http://www.cs.cmu.edu/~pebbles
Handheld Devices

Handheld Devices for:




Communication
As a “Personal Information Manager”
As a “Personal Digital Assistant”
As a PC replacement


“PocketPC”
Handheld Devices for Remote Control of
other devices


Remote Control of PCs
Remote Control of appliances
Brad Myers
Carnegie Mellon
2
Problem

Appliances are too complex
Brad Myers
Carnegie Mellon
3
Problem

Too many remotes
Brad Myers
Carnegie Mellon
4
Problem

April 8, 1991
Brad Myers
Carnegie Mellon
5
Approach

Use a personal handheld device as an
Interface to the PC and to the Appliances
Brad Myers
Carnegie Mellon
6
History of Communication

ParcTab – continuous communication

Early “organizers” – no communication

Newton – extra cost for synchronization

Palm – HotSync once a day

WindowsCE/PocketPC –
ActiveSync once a day
Brad Myers
Carnegie Mellon
7
Now, Handhelds will be Communicating
Toshiba e740

802.11
HP iPaq 3870

BlueTooth

Cell-phone network (G3)

(Infrared)

(Wires or cradle)
Microsoft SmartPhone
Brad Myers
Carnegie Mellon
8
Premises of our Research
“With the coming wireless technologies,
connecting the PCs and PDAs together
will no longer be an occasional event
for synchronization. Instead, the
devices will frequently be in
close, interactive communication.”
—
Brad Myers
Brad Myers, “Using Hand-Held Devices and
PCs Together,” Comm. ACM,
Vol. 44, No. 11. Nov., 2001. pp. 34 - 41.
Carnegie Mellon
9
Pebbles Project


Performed as part of the Pebbles Project
Overall goal: Use of multiple devices at the
same time






Palm and desktop PC
Mobile Phone and “Smart Home”
Multiple handhelds in a meeting
Pocket PC and appliances
Multiple users with their devices
Single user with multiple devices
Brad Myers
Carnegie Mellon
10
Pebbles is:
P DAs for
E ntry of
B oth
B ytes and
L ocations from
E xternal
S ources.
http://www.pebbles.hcii.edu/
Brad Myers
Carnegie Mellon
11
Controlling a PC
Remote Commander
 Slide Show Commander
 “Semantic Snarfing”
 Shortcutter

http://www.pebbles.hcii.edu/
Remote Commander

Allow PDAs to control a PC
Can be used with any application
 Uses the standard (single) cursor
 Don’t have to jump up and
grab mouse
 All mouse and keyboard functions

Use PDA like touchpad
 Graffiti or our own pop-up
keyboard


Word prediction and completion
Brad Myers
Carnegie Mellon
13
PocketPC version


Get PC’s screen onto PocketPC
Full view, or one-to-one zooming


Scroll with iPaq’s buttons
Control or scribble
Brad Myers
Carnegie Mellon
14
For People with Muscular Disabilities

Using handhelds as interface to PCs

People with Muscular Dystrophy
have fine-motor control but lose
gross motor control


Difficulties with mouse and keyboard,
but stylus OK
So use Remote Commander
as PC’s keyboard and mouse
Brad Myers
Carnegie Mellon
15
NEW!

Alphabet for Accurate Gestures
Use a square hole in a template to increase
accuracy




Just as easy to learn
as Graffiti™
18% more accurate
for able novices (p<.02)
Patent Pending
Also works with joystick
Brad Myers
Carnegie Mellon
16
Shared Clipboard

Transfer information among your personal
devices





E.g., between PDA and PC
Also between multiple computers
Connect all clipboards together
Transfer content or reference
Works with all applications
Brad Myers
Carnegie Mellon
17
Power Point Control


Use PC to give the presentation
Use hand-held to control the PC


Two-way communication
Hand-held shows picture of slide,
notes, timer
Brad Myers
Carnegie Mellon
18
SlideShow Commander, cont.





See list of slide titles
Scribble
Tap on on-screen buttons
and links
Preview other
slides
Control
demonstrations
Brad Myers
Carnegie Mellon
19
Control at a Distance

Controlling a PC from
across the room


Use a laser pointer?


Meetings, etc.
Studies
“Semantic Snarfing”

Grab contents to handheld
Brad Myers
Carnegie Mellon
20
Shortcutter


User-created panels of controls
Create custom interfaces and
extensions to PC applications



And then take them with you
Direct manipulation
for edit, then set
properties
PocketPC or Palm
Brad Myers
Carnegie Mellon
21
Shortcutter Widgets

Buttons

Virtual Joy stick

Virtual Knob

Sliders

Mouse pad

Gesture panel
Brad Myers
Carnegie Mellon
22
Scenarios of Use

Lean-back mail reading

Controlling media players

… and many others
Brad Myers
Carnegie Mellon
23
Controlling Appliances

PhD research of Jeffrey Nichols

Assisted by undergrads and MS students
http://www.pebbles.hcii.edu/puc/
Problem

Too many complex devices, each
with its own idiosyncratic interface








Stereo system
Telephones
ATM
Fax machine
Photocopier
Hotel alarm clock
Increasingly computerized
Low usability
Existing “universal” controls
Pre-programmed at the factory with a subset,
 Or, laboriously hand-programmed by the user

Brad Myers
Carnegie Mellon
26
Our Approach


Handheld is a “Personal Universal Controller” (PUC)
Two-way communication


Appliance describes its functions
Handheld PUC
 Automatically creates interface
 Controls the appliance
 Displays feedback about appliance status
Specifications
Control
Feedback
Brad Myers
Carnegie Mellon
27
Automatic Generation of UIs

Benefits

All interfaces consistent for a user
With conventions of the handheld
 Even from multiple manufacturers


Addresses hotel alarm clock problem
Can take into account user preferences
 Multiple modalities (GUI + Speech UI)


A Hard Problem

Previous automatic systems have not
generated high quality interfaces
Brad Myers
Carnegie Mellon
28
Research Challenges
1. Automatic Design of Graphical User
Interfaces
2. Automatic Design of Speech User Interfaces
3. Connection with real devices



Through various protocols
X-10, AV/C, HAVi, UPnP, etc.
Also, custom hardware and software
Brad Myers
Carnegie Mellon
29
Hand-Generated Graphical Interfaces

First, Hand-Designed PocketPC interfaces:


AIWA Shelf Stereo (Tape,CD,Tuner)
AT&T Telephone/Answering
Machine

Used Embedded Visual Basic

Ensured quality with heuristic
analysis and think-aloud studies

Compared with manufacturer’s
interfaces
Brad Myers
Carnegie Mellon
30
Results of Comparison

Using PUC, users took 50% less time &
made 50% fewer errors

All differences are significant (p < 0.05)
Brad Myers
Carnegie Mellon
31
Current PUC Specification Language


XML
Full documentation for the
specification language
and protocol:
http://www.pebbles.hcii.cmu.edu/puc/

Contains sample
specification for a stereo
Brad Myers
Carnegie Mellon
32
Properties of PUC Language

State variables & commands

Each can have multiple labels


Typed variables



Useful when not enough room
Base types: Boolean, string,
enumerated, integers,
fixed-point, floating-point, etc.
Optional labels for values
Hierarchical Structure

Groups
Brad Myers
Carnegie Mellon
33
Dependency Information


Crucial for high-quality interfaces
Expressed as <active-if> clauses

Operations:


Combined Logically


Equals, Less-Than,
Greater-Than
AND, OR
Used for:



Dynamic graying out
Layout
Widget selection
Brad Myers
Carnegie Mellon
34
Specifications

Have working specifications for:









Audiophase stereo
X-10 lights control
Sony CamCorder
Windows Media Player
Audio ReQuest hardware MP3 player
WinAmp Media Player
Elevator
Parts of GMC Yukon Denali SUV
Etc.
Brad Myers
Carnegie Mellon
35
Controller Generators

iPaq PocketPC

SmartPhone

No touchscreen

Desktop (TabletPC)

Speech
Brad Myers
Carnegie Mellon
36
Examples of Generated GUIs
Shelf stereo
Brad Myers
Windows Media Player
Carnegie Mellon
37
Generating Speech Interfaces

“Universal Speech Interface” (USI) project



Creates grammar, language model and
pronunciation dictionary from PUC specification




Prof. Roni Rosenfeld of CMU
http://www.cs.cmu.edu/~usi
Pronunciation from labels using phonetic rules
Can provide other pronunciations as labels for fine-tuning
Will use dependency information to help with
disambiguation and explanation
Supports queries and spoken feedback

Paraphrases as confirmation
Brad Myers
Carnegie Mellon
38
Adaptors

“Adaptors” provide the interface to existing
(and future) appliances
If do not support specification language directly
Custom hardware
 AV/C (standard protocol)
 Sony CamCorder
Custom software
 Lutron
 HAVi
 Windows Media Player
 UPnP
X-10
 Axis Camera





Light switches, etc.
Brad Myers
Carnegie Mellon
39
Demonstration




Sony CamCorder
Windows Media Player
Simulated automobile
Two way communication:


When state changes from application or
appliance, GUI is updated
Can query state with speech
Brad Myers
Carnegie Mellon
40
Future Work on PUC

Controlling User “Experiences”




Consistency for Users


One command for multiple devices
Play a DVD  sets DVD, cable, TV
Setting alarm clock  sets heat, coffee, car
And user preferences
More devices


UPnP
Etc.
Brad Myers
Carnegie Mellon
41
For More Information

Many papers on the Pebbles web site


On PUC and other work
Most programs available for free
downloading:
http://www.cs.cmu.edu/~pebbles

SlideShow Commander was
licensed for commercial sale
Brad Myers
Carnegie Mellon

42
Conclusions

As more and more electronics are
computerized and communicating, mobile
devices can help control them

Handheld devices can improve the user
interfaces of everything else

Not just be another gadget to be learned
Brad Myers
Carnegie Mellon
43
Thanks to Pebbles Students

This research performed by a large number
of students since 1997:
Htet Htet Aung
Rishi Bhatnagar
Ben Bostwick
Franklin Chen
Yu Shan Chuang
Karen Cross
Carl Evankovich
Marc Khadpe
Dave Kong
Chun-Kwok Lee
Joonhwan Lee
Brad Myers
Jennifer Li
Yuhua Li
Leo Lie
Jack Lin
Kevin Litwack
A. Chris Long
Rob Miller
Jeff Nichols
Choon Hong Peck
Mathilde Pignol
Suporn Pongnumkul
Carnegie Mellon
Rajesh Seenichamy
Pegeen Shen
Herbert Stiel
Jeff Stylos
Claire Tokar
Marsha Tjandra
Adrienne Warmack
Jacob O. Wobbrock
Jerry Yang
Sunny Yang
Brian Yeung
44
Thanks to Our Sponsors!
The Pebbles research is supported by grants from:
DARPA
Microsoft
NSF
General Motors
NEC Foundation
Pittsburgh Digital Greenhouse
And equipment grants from:
Hewlett Packard
Lucent Technologies
Lantronix, Inc.
Lutron, Inc.
Mitsubishi
Palm Computing
Brad Myers
Symbol Technologies
IBM
SMART Technologies
VividLogic
Synergy Solutions
Handango
Carnegie Mellon
45
Human Computer Interaction Institute
School of Computer Science
Carnegie Mellon University
Handheld Devices for Control
Brad A. Myers
bam@cs.cmu.edu
http://www.cs.cmu.edu/~pebbles
Black, followed by HAVi
Pebbles PUC Project use of the
Home Audio Visual Interface
About HAVi

Home Audio Visual Interface


Protocol for controlling appliances over
IEEE 1394 (i.LINK® or FireWire®) cables


http://www.havi.org
Mostly used for video equipment
Supported by various Mitsubishi and RCA
high-end products
Brad Myers
Carnegie Mellon
49
Our Goals for HAVi

Want to:




Detect HAVi devices on Firewire bus
Automatically create PUC specification from
device capabilities
Control all of the appliance’s features using a PC
as a server (proxy)
HAVi seems to have appropriate features for
these
Brad Myers
Carnegie Mellon
50
HAVi Experience

MERL donated



A 65-inch high-definition
TV (WS-65909)
A high definition digital
VCR (HS-HD2000U)
VividLogic FireBus HAVi
SDK for Linux, v. 1.0.8
Brad Myers
Carnegie Mellon
51
What We’ve Done

Investigated the (several) different ways of
controlling HAVi devices


Made simple applications to control HAVi
devices
But don’t have a working PUC interface

Have put efforts on hold


Limitations of HAVi
Problems with SDK
Brad Myers
Carnegie Mellon
52
Television



Under the HAVi system, acts as the “master
controller”
Refuses to be controlled or to respond to our
requests
Even having the TV and
PC on same bus causes
problems
Brad Myers
Carnegie Mellon
53
VCR

Several different ways to control VCR

VCR FCM



Havlet


“Functional Control Module”
Static list of capabilities
A Java program uploaded and run on TV (or PC)
DDI


“Data-Driven Interaction”
Panel-based interface for arbitrary control
Brad Myers
Carnegie Mellon
54
VCR FCM

A few more features than AV/C:





Play, Record, Fast Forward, Fast Reverse,
Variable Forward, Variable Reverse, Stop,
Record-Pause, Skip, Eject Media, Set Recording
Mode, ClearRTC
Get State, Get Recording Mode, Get Format,
Get Position, Get capability, Get Reject Info
No querying for capabilities
(Apparent) Bugs in SDK on getting status
Have created simple programs to control
VCR using the FCM
Brad Myers
Carnegie Mellon
55
HavLets



Java Applets downloaded to a Java interpreter
No hooks for programmatic control
Very limited functions provided in the VCR’s HavLet


Rewind, Play, Fast Forward, Stop, Pause, Record
Status, Counter, Media Type, Recording Rate of Tape,
Rate of Data Source
Brad Myers
Carnegie Mellon
56
Data-Driven Interaction (DDI)


We hoped this would provide device
querying and control, but…
Only limited features provided in DDI



Same as HavLet interface
Rewind, Play, Fast Forward, Stop, Pause,
Record, and some status requests
Provides each UI element as a separate item


E.g., “Time:
” and “54:35:33” may be two
separate labels placed next to each other
Need to infer relationships and types by layout
Brad Myers
Carnegie Mellon
57
Issues with VividLogic’s SDK




Their engineers have been very helpful
SDK incomplete, poorly documented and
quite buggy
Only runs with a specific desktop Firewire
card, only on Linux (for now)
Slow to come out with new versions

Needed to be “FAV” (Full AV) to use DDI but FAV
support not available until Dec’02
Brad Myers
Carnegie Mellon
58
Demo


Show other devices we have gotten to work
demo
Brad Myers
Carnegie Mellon
59
Black, followed by OLD
Adaptor for AV/C
PUC Java Proxy
Hand-written
spec of AV/C
devices
PUC Java Library
Our Java device code
Multiple device
controllers
Automatic
GUI
generation
Automatic
Speech UI
generation
Our C++ code
Microsoft DirectShow
library
AV/C protocol
Firewire cable
(IEEE 1394)
Brad Myers
Digital Video
Camera or VCR
Carnegie Mellon
61
Adaptor using Custom Hardware for Stereo



Pretends to send IR codes
Reads LED panel signals to decode state
Created by Pittsburgh company: Maya Design
Brad Myers
Carnegie Mellon
62
Driver Information Console

Simulator for the Driver Information Console
of Yukon Denali SUV


All the modes and messages
Full emulation of steering wheel buttons
Brad Myers
Carnegie Mellon
63
Simulator for HVAC
Brad Myers
Carnegie Mellon
64
Download