Personal Universal Controller (PUC) Pittsburgh Digital Greenhouse Peter Lucas, MAYA Design

advertisement
Pittsburgh Digital Greenhouse
Personal Universal Controller (PUC)
Peter Lucas, MAYA Design
Brad Myers, Carnegie Mellon University
http://www.pebbles.hcii.cmu.edu/puc/
February 2002
Document no. PUC–02000
Personal Universal Controller
The Issue
The world is congested with complex and idiosyncratic interfaces
Document no. PUC–02000
February 2002
2
Personal Universal Controller
The Principle
• Separate the interface from the device
• Make the interface portable
(the interface belongs to the user)
• Create a superior interface
Document no. PUC–02000
February 2002
3
Personal Universal Controller
PUC and its Components
It is a two-way communication
Devices describe their functions
PUC creates interface based on description and controls it
Document no. PUC–02000
February 2002
4
Personal Universal Controller
Method for Investigation
• Validate hand-designed interfaces for devices
• Define architecture and specification with which devices
describe their functions
• Create example adapters for remote control of devices
• Design renderer architecture for multiple platforms an
automatic generation of high-quality interfaces
Document no. PUC–02000
February 2002
5
Personal Universal Controller
Validate Interfaces: User Test
• Visual Basic application running on an iPaq handheld
computer
• Remote control of a stereo and a telephone simulated using
IEEE 802.11 and a laptop
Aiwa CX-NMT70 stereo
Document no. PUC–02000
AT&T 1825 telephone
February 2002
6
Personal Universal Controller
Validate Interfaces: Results
• Using PUC, users took 50% less time & made 50% fewer errors.
• All differences are significant (p < 0.05).
Document no. PUC–02000
February 2002
7
Personal Universal Controller
Application Specification &
Communication Protocol
Specification
Language
<?xml version="1.0" encoding="UTF8"?>
<spec xmlns="puc.xsd"
xmlns:xsi="http://www.w3.org/2001/XML
Schema-instance"
xmlns:xsd="http://www.w3.org/2001/XM
LSchema"
name="Audiophase 5 CD Stereo">
<groupings>
<state name="PowerState">
<type name="OnOffType>
<valueSpace>
<boolean/>
</valueSpace>
<valueLabels>
<map value="false">
<label>Off</label>
</map>
<map value="true">
<label>On</label>
</map>
</valueLabels>
</type>
<labels>
<label>Stereo Power</label>
<label>Power</label>
<label>Powr</label>
<label>Pwr</label>
</labels>
<priority>10</priority>
</state>
• Is abstract: makes no
reference to interface
particulars
• Is concise: only required
type information is
transmitted
• Uses XML
Communication
Protocol
<message>
<state-change-request>
<state>(state)</state>
<value>(value)</value>
</state-change-request>
</message>
<message>
<state-change-notification>
<state>(state)</state>
<value>(value)</value>
</state-change-notification>
</message>
<message>
<spec-request/>
</message>
<message>
<device-spec>
<spec>(spec)</spec>
</device-spec>
</message>
<message>
<full-state-request/>
</message>
http://www.cs.cmu.edu/~jeffreyn/controller/specification.html
Document no. PUC–02000
February 2002
8
Personal Universal Controller
Adaptors for Remote Control
Today’s devices often have remote control, but almost never
report their internal state.
To make the PUC work, we have to build special-purpose adaptors
that allow devices to be controlled and report their current state
Document no. PUC–02000
February 2002
9
Personal Universal Controller
Auto UI Generator + Renderer
• Written in PersonalJava, assumes PocketPC form factor
• Parses specification language
• Chooses widgets to represent each state
and command
• Infers structure & creates simple layout
• Communicates using our protocol
Document no. PUC–02000
February 2002
10
Personal Universal Controller
Choosing Widgets for the UI
• A simple decision tree based on type,
write access, more..
Integers --> Sliders
Enumerated --> Selection Lists
• Will use more attributes in
future
Document no. PUC–02000
February 2002
11
Personal Universal Controller
Algorithm for Structuring the UI
• Observe importance of structure (grouping) in UI design
• Infer structure from dependency information
• Decide layout based on structure and importance of items
Document no. PUC–02000
February 2002
12
Personal Universal Controller
Demonstration
Document no. PUC–02000
February 2002
13
Personal Universal Controller
Demonstration - X10
Document no. PUC–02000
February 2002
14
Personal Universal Controller
Demonstration - Stereo
Document no. PUC–02000
February 2002
15
Personal Universal Controller
Demonstration - Stereo ON
Document no. PUC–02000
February 2002
16
Personal Universal Controller
Demonstration - Stereo ON/TUNER
Document no. PUC–02000
February 2002
17
Personal Universal Controller
Demonstration - Stereo ON/CD
Document no. PUC–02000
February 2002
18
Personal Universal Controller
Demonstration - Stereo ON/CD
Document no. PUC–02000
February 2002
19
Personal Universal Controller
Demonstration - Stereo ON/CD
Document no. PUC–02000
February 2002
20
Personal Universal Controller
Future Work: UI Generator
• How do designers decide to fix problems in their interfaces?
(For example, having too many widgets for the screen size)
• Can the interface generator use the same techniques to
intelligently find problems and alter its design?
• What factors affect design decisions?
• We will study designers to find out . . .
• The resulting model will lead to improvements
in the interface generator
Document no. PUC–02000
February 2002
21
Personal Universal Controller
Future Work: Universal Adaptor
• How can appliance manufacturers cheaply integrate PUC
technology into their devices?
Our goal is to standardize
without inhibiting a
manufacturer’s ability to
innovate as well as
differentiate their
products.
Document no. PUC–02000
February 2002
22
Pittsburgh Digital Greenhouse
Personal Universal Controller (PUC)
Peter Lucas, MAYA Design
Brad Myers, Carnegie Mellon University
http://www.pebbles.hcii.cmu.edu/puc/
(Including at least 6 papers)
February 2002
Document no. PUC–02000
Download