230 likes | 247 Views
The Personal Universal Controller (PUC) separates the interface from the device, making it portable and creating a superior interface. This document explores the components, validation methods, and application specifications of the PUC.
E N D
Pittsburgh Digital Greenhouse Peter Lucas, MAYA Design Brad Myers, Carnegie Mellon University http://www.pebbles.hcii.cmu.edu/puc/ February 2002 Personal Universal Controller (PUC) Document no. PUC–02000
The Issue The world is congested with complex and idiosyncratic interfaces
The Principle • Separate the interface from the device • Make the interface portable (the interface belongs to the user) • Create a superior interface
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
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
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 AT&T 1825 telephone
Personal Universal Controller Validate Interfaces: Results • Using PUC, users took 50% less time & made 50% fewer errors. • All differences are significant (p < 0.05).
Personal Universal Controller Application Specification & Communication Protocol Specification Language <?xml version="1.0" encoding="UTF-8"?> <spec xmlns="puc.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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> 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> • Is abstract: makes no reference to interface particulars • Is concise: only required type information is transmitted • Uses XML http://www.cs.cmu.edu/~jeffreyn/controller/specification.html
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
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
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
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
Personal Universal Controller Demonstration
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
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.
Pittsburgh Digital Greenhouse Peter Lucas, MAYA Design Brad Myers, Carnegie Mellon University http://www.pebbles.hcii.cmu.edu/puc/ (Including at least 6 papers) February 2002 Personal Universal Controller (PUC) Document no. PUC–02000