Document no. PUC–02000 Pittsburgh Digital Greenhouse Peter Lucas, MAYA Design Brad Myers, Carnegie Mellon University February 2002 Personal Universal Controller (PUC)
February Personal Universal Controller Document no. PUC–02000 The world is congested with complex and idiosyncratic interfaces The Issue
February Personal Universal Controller Document no. PUC–02000 Separate the interface from the device Make the interface portable (the interface belongs to the user) Create a superior interface The Principle
February Personal Universal Controller Document no. PUC–02000 It is a two-way communication Devices describe their functions PUC creates interface based on description and controls it Personal Universal Controller PUC and its Components
February Personal Universal Controller Document no. PUC–02000 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 Method for Investigation
February Personal Universal Controller Document no. PUC–02000 Visual Basic application running on an iPaq handheld computer Remote control of a stereo and a telephone simulated using IEEE and a laptop Aiwa CX-NMT70 stereoAT&T 1825 telephone Personal Universal Controller Validate Interfaces: User Test
February Personal Universal Controller Document no. PUC–02000 Using PUC, users took 50% less time & made 50% fewer errors. All differences are significant (p < 0.05). Personal Universal Controller Validate Interfaces: Results
February Personal Universal Controller Document no. PUC–02000 Is abstract: makes no reference to interface particulars Is concise: only required type information is transmitted Uses XML Specification Language <spec xmlns="puc.xsd" xmlns:xsi=" Schema-instance" xmlns:xsd=" LSchema" name="Audiophase 5 CD Stereo"> Off On Stereo Power Power Powr Pwr 10 Communication Protocol (state) (value) (state) (value) (spec) Personal Universal Controller Application Specification & Communication Protocol
February Personal Universal Controller Document no. PUC–02000 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 Adaptors for Remote Control
February Personal Universal Controller Document no. PUC–02000 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 Auto UI Generator + Renderer
February Personal Universal Controller Document no. PUC–02000 A simple decision tree based on type, write access, more.. Integers --> Sliders Enumerated --> Selection Lists Will use more attributes in future Personal Universal Controller Choosing Widgets for the UI
February Personal Universal Controller Document no. PUC–02000 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 Algorithm for Structuring the UI
February Personal Universal Controller Document no. PUC–02000 Personal Universal Controller Demonstration
February Personal Universal Controller Document no. PUC–02000 Demonstration - X10
February Personal Universal Controller Document no. PUC–02000 Demonstration - Stereo
February Personal Universal Controller Document no. PUC–02000 Demonstration - Stereo ON
February Personal Universal Controller Document no. PUC–02000 Demonstration - Stereo ON/TUNER
February Personal Universal Controller Document no. PUC–02000 Demonstration - Stereo ON/CD
February Personal Universal Controller Document no. PUC–02000 Demonstration - Stereo ON/CD
February Personal Universal Controller Document no. PUC–02000 Demonstration - Stereo ON/CD
February Personal Universal Controller Document no. PUC–02000 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: UI Generator
February Personal Universal Controller Document no. PUC–02000 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. Future Work: Universal Adaptor
Document no. PUC–02000 Pittsburgh Digital Greenhouse Peter Lucas, MAYA Design Brad Myers, Carnegie Mellon University (Including at least 6 papers) February 2002 Personal Universal Controller (PUC)