Creating a Lightweight User Interface Description Language An Overview and Analysis of the Personal Universal Controller Project Jeffrey Nichols IBM Research.

Slides:



Advertisements
Similar presentations
Jeffrey Nichols User Interface Software & Technology (UIST) October 30, 2002 Slide #0 Jeffrey Nichols and Brad A. Myers Carnegie Mellon University October.
Advertisements

Automatically Generating High-Quality User Interfaces for Appliances Jeffrey Nichols Doctoral Colloquium Presentation Second International Conference on.
Jeffrey Nichols Conference on Human Factors in Computing Systems (CHI) April 8, 2003 Slide #0 Jeffrey Nichols and Brad A. Myers Carnegie Mellon University.
Automatically Generating Interfaces for Multi-Device Environments Jeffrey Nichols Carnegie Mellon University Intel Research Seattle Workshop #5: Multi-Device.
Demonstrating the Viability of Automatically Generated User Interfaces Jeffrey Nichols, Duen Horng Chau, Brad A. Myers IBM Almaden Research Center and.
UNIFORM: Automatically Generating Consistent Remote Control User Interfaces Jeffrey Nichols, Brad A. Myers, Brandon Rothrock Human-Computer Interaction.
Information Systems Today: Managing in the Digital World
UPnP* AV: Easy Sharing of Digital Media Joe C. Pitarresi Business Development Intel Research & Development.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Your Interactive Guide to the Digital World Discovering Computers Fundamentals, 2012 Edition.
Your Interactive Guide to the Digital World Discovering Computers Fundamentals, 2012 Edition.
Continuing Work in Model-Based User Interfaces Jeffrey Nichols : Advanced User Interface Software.
Lecture 13: Continuing Work in Model-Based User Interfaces Brad Myers Slides originally authored by Jeffrey Nichols, : Advanced User Interface.
UI Standards & Tools Khushroo Shaikh.
Mobile Devices for Control of Ubiquitous Multimedia Brad A. Myers Brad A. Myers
Document no. PUC–02000 Pittsburgh Digital Greenhouse Peter Lucas, MAYA Design Brad Myers, Carnegie Mellon University
Operations Management and Technology Ross L. Fink.
James Tam Introduction To Design Patterns You will learn about design techniques that have been successfully applied to different scenarios.
Software. Application Software performs useful work on general-purpose tasks such as word processing and data analysis. The user interacts with the application.
An Update on the Pebbles Project: PocketPCs, Smartphones and TabletPCs for Universal Remote Control and A New Input Method for Small Devices Brad A. Myers.
Smart Space & Oxygen CIS 640 Project By Usa Sammpun
Jeffrey Nichols 0 International Workshop on Smart Appliances and Wearable Computing May 19, 2003 Studying The Use of Handhelds To Control Smart Appliances.
Generating Consistent Interfaces for Appliances Jeffrey Nichols Second Workshop on Multi-User and Ubiquitous User Interfaces (M3UI) Intelligent User Interfaces.
© Prentice Hall CHAPTER 3 Computer Software.
Handheld Devices for Control Brad A. Myers Jeffrey Nichols, Jacob O. Wobbrock, Kevin Litwack, Michael Higgins, Joe Hughes, Thomas K. Harris, Roni Rosenfeld,
This Presentation is an Audio Presentation. Please Switch On your Speaker/Headphone.
Printing & Imaging Update John Ritchie Intel Staff Engineer.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Discovering Computers Chapter 1 Discovering Computers & Microsoft Office 2010.
Application Software.  Topics Covered:  Software Categories  Desktop vs. Mobile Software  Installed vs. Web-Based Software.
SOFTWARE.
CHI 2009 Review Process Changes area-based submissions and sub-committees.
1. Human – the end-user of a program – the others in the organization Computer – the machine the program runs on – often split between clients & servers.
PROGRAMMING LANGUAGES The Study of Programming Languages.
Your Interactive Guide to the Digital World Discovering Computers 2012.
CS101: Introduction to Computing Instructors: Badre Munir, Usman Adeel, Zahid Irfan & Maria Riaz Faculty of Computer Science and Engineering GIK Institute.
Electronic Visualization Laboratory, University of Illinois at Chicago PAVIS Pervasive Adaptive Visualization and Interaction Service Javid Alimohideen.
Implementation of HUBzero as a Knowledge Management System in a Large Organization HUBBUB Conference 2012 September 24 th, 2012 Gaurav Nanda, Jonathan.
DATA COMMUNICATION DONE BY: ALVIN SAMPATH CARLVIN SAMPATH.
1 SWE 513: Software Engineering Usability II. 2 Usability and Cost Good usability may be expensive in hardware or special software development User interface.
Integrating Educational Technology into the Curriculum
` Tangible Interaction with the R Software Environment Using the Meuse Dataset Rachel Bradford, Landon Rogge, Dr. Brygg Ullmer, Dr. Christopher White `
Logistics and Systems Rabby Q. Lavilles. Supply chain is a system of organizations, people, technology, activities, information and resources involved.
CHAPTER FOUR COMPUTER SOFTWARE.
Handhelds in the Automobile: The Denali Navigation System Human Computer Interaction Institute School of Computer Science Carnegie Mellon University Brad.
Section 4.2 AQA Computing A2 © Nelson Thornes 2009 Types of Operating System Unit 3 Section 4.1.
Introduction to Making Multimedia
JTC 1 SWG-A N 110 replaces SWG-A N 086 November 29, 2005 Title: Report of the Task Group 1 Breakout on Domains (replaces SWG-A N 086) Jennifer… Can you.
Basic Introduction to Computers
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Objectives: Students will be able to: Identify means of “How to search the World Wide Web” List different search engines Restrict or focus a search request.
C OMPUTING E SSENTIALS Timothy J. O’Leary Linda I. O’Leary Presentations by: Fred Bounds.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
Living in a Digital World Discovering Computers Fundamentals, 2011 Edition.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Overview of E-Learning Authoring Software
Objectives Overview Explain why computer literacy is vital to success in today’s world Define the term, computer, and describe the relationship between.
Computer Hardware-Meeting the machine
Basic Introduction to Computers
SPECIALIZED APPLICATION SOFTWARE
Objectives Overview Explain why computer literacy is vital to success in today's world Describe the five components of a computer Discuss the advantages.
Chapter 10 Development of Multimedia Project
Objectives Overview Explain why computer literacy is vital to success in today’s world Define the term, computer, and describe the relationship between.
*.
Adaptive Interfaces Jeffrey Heer · 28 May 2009.
Information Technology Ms. Abeer Helwa
Objectives Overview Explain why computer literacy is vital to success in today’s world Define the term, computer, and describe the relationship between.
Presentation transcript:

Creating a Lightweight User Interface Description Language An Overview and Analysis of the Personal Universal Controller Project Jeffrey Nichols IBM Research – Almaden ToCHI Track – CHI 2010 April 15, 2010

1 Motivation April 29, 1991 CNN – Jan 2004 Economist – Oct 2004 Nov 27, 2006

2 Personal Universal Controller Personal Mobile Device Abstract Specification Control State Feedback Automatically Generated Interface PUC [Nichols, UIST 02]

3 Automatic Generation of UIs Benefits Generated interfaces can be better than today’s appliance interfaces As shown by user study >

4 Automatic Generation of UIs Benefits Generated interfaces can be better than today’s appliance interfaces As shown by user study All interfaces personally consistent for each user Across functionally similar appliances Original Uniform [Nichols, CHI 06] Consistent

5 Automatic Generation of UIs Benefits Generated interfaces can be better than today’s appliance interfaces As shown by user study All interfaces personally consistent for each user Across functionally similar appliances Aggregate interfaces for systems of multiple appliances Functions from multiple appliances combined into task-based interfaces Aggregate Interface Huddle [Nichols, UIST 06] Flow-Based Interface

6 Today The PUC Specification Language Informative enough to allow generation of high-quality interfaces Easy to learn and use Descriptive enough for a wide- range of complex appliances Supports inclusion of high- level design conventions Formal enough to allow algorithms to reason about appliance behavior Personal Mobile Device Abstract Specification Appliance

7 Design Principles Descriptive enough for any appliance Sufficient detail to generate a high-quality interface No specific layout information Support generation for different devices and modalities Short and concise Only one way to specify anything

8 Design Process Started by exploring appliance user interfaces Created handheld interfaces for two appliances Found these interfaces to be better than manufacturers’ interfaces Analyzed the interfaces for functional information Designed appliance specification language Built interface generators Iterated on the specification design Wrote additional specifications for increasingly complex appliances Modified language as necessary to support additional complexity

9 Specification Language Language Functional information XML-based Elements State variables & commands Group tree Multiple labels per object Dependency information Full documentation available at:

10 Dependency Information Useful for determining structure of user interface Some groups are never available simultaneously Nondependent controls can be split into more accessible side-panels Mutually exclusive groups can be placed on overlapping panels Improves usability and robustness of specification language Reduces emphasis on group tree for structuring interfaces Dependency information is objective

11 Smart Templates Designed Smart Templates technique [Nichols, IUI 04] Allows generated interfaces to include high- level design conventions Flexible parameterization specified using primitive elements of specification language Without Smart Templates With Smart Templates

12 Evaluation Dimensions Completeness What appliances can we write specifications for? What specifications can we generate interfaces for? Usability of Specification Language Usability of Generated Interfaces How good are the generated interfaces?

13 Completeness We have written 33 complete specifications for a wide variety of appliances Home theater appliances InFocus Television, VCRs, DVD players, Sony receiver, Audiophase shelf stereo, Sony camcorder, Windows Media Player Copiers, All-in-one printers Lighting controls (X10, Lutron, UPnP) AT&T telephone/answering machine Alarm clocks Elevator Desktop computer applications PowerPoint, Photo browser, To-do list In-vehicle systems for GMC Yukon Denali Driver Information Console, Climate Controls, Navigation System PUC can generate interfaces for all of these specifications

14 Completeness: Navigation Interface

15 Completeness: Printer Interfaces HP printerCanon printer

16 Usability of Specification Study of Authoring Appliance Specifications Three subjects wrote specifications for a low-end Panasonic VCR All subjects instructed to: Include all functions Be faithful to the existing appliance design Results: Subjects were able to learn the language in a 1.5 hour session About 6 hours was required to create the VCR specification Specifications had some problems, but subjects were not allowed to test their designs Low End: Panasonic VCR What consistency issues arise in our domain?

17 Usability of Generated Interfaces Evaluation of Generated Interfaces Users perform tasks with two all-in-one printer interfaces (HP and Canon) Two comparisons Physical interface to PUC interface Without consistency and with consistency 48 participants (28 male, 20 female) Divided into 6 groups, 8 per group Recruited through CBDR web page Metrics Completion time Failures HP printerCanon printer

18 Usability Results #1 - HP#2 - Canon Built-In Physical AutoGen PUC Consistent PUCUniform #1 - Canon#2 - HP Built-In Physical AutoGen PUC Consistent PUCUniform * = p < 0.05 † = p < 0.1 ** Failures per subject also significantly less for PUC than Physical (Fisher’s Exact Test, p < 0.05) HP: Built-In vs PUC Canon: 2.0 Built-In vs PUC ********* ††

19 Retrospective What Worked: Short and concise principle Use of workarounds for particularly difficult functions (e.g. Smart Templates) What Didn’t Work: “Only one way to specify anything” principle Some features turned out not to be useful Versioning

20 Takeaways Iterative design is important, even for modeling languages Need to choose a work balance between the specification author and interface generator Balance between subjective and objective information High-quality user interfaces can be automatically generated

21 Acknowledgements Thesis Committee Brad A. Myers (chair) Scott Hudson John Zimmerman Dan Olsen Jr. Funding National Science Foundation Microsoft General Motors Intel Pittsburgh Digital Greenhouse Equipment Grants Mitsubishi (MERL) VividLogic Lucent Lutron Lantronix Nokia PUC Project Members Brandon Rothrock Duen Horng Chau Kevin Litwack Thomas K. Harris Michael Higgins Joseph Hughes Roni Rosenfeld Rajesh Seenichamy Pegeen Shen Htet Htet Aung Mathilde Pignol Suporn Pongnumkul Stefanie Shriver Jeffrey Stylos Peter Lucas Collaborators & Friends Naomi Ramos Desney Tan Daniel Avrahami Gaetano Borriello Laura Dabbish Andrew Faulring James Fogarty Krzysztof Gajos Darren Gergle Andy Ko Amy Nichols Mick Nichols Sally Nichols Trevor Pering Fleming Seay Irina Shklovski Rachel Steigerwalt Roy Want Jake Wobbrock and many others…

Thanks for listening! For more information…

23

ToCHI Papers in Process Number of Submissions Months since Submission

Comparison to other Transactions Total Articles Total Downloads Total Cited By Ave. Downloads per Article Ave. Cites per Article ACM Letters on Programming Languages and Systems (LOPLAS) ACM Transactions on Accessible Computing (TACCESS) ACM Transactions on Algorithms (TALG) ACM Transactions on Applied Perception (TAP) ACM Transactions on Architecture and Code Optimization (TACO) ACM Transactions on Asian Language Information Processing (TALIP) ACM Transactions on Autonomous and Adaptive Systems (TAAS) ACM Transactions on Computation Theory (TOCT) ACM Transactions on Computational Logic (TOCL) ACM Transactions on Computer Systems (TOCS) ACM Transactions on Computer-Human Interaction (TOCHI) ACM Transactions on Computing Education (TOCE) ACM Transactions on Database Systems (TODS) ACM Transactions on Design Automation of Electronic Systems (TODAES) ACM Transactions on Embedded Computing Systems (TECS) ACM Transactions on Graphics (TOG) ACM Transactions on Information Systems (TOIS) ACM Transactions on Information and System Security (TISSEC) ACM Transactions on Internet Technology (TOIT) ACM Transactions on Knowledge Discovery from Data (TKDD) ACM Transactions on Mathematical Software (TOMS) ACM Transactions on Modeling and Computer Simulation (TOMACS) ACM Transactions on Multimedia Computing, Communications, and Applications (TOMC ACM Transactions on Programming Languages and Systems (TOPLAS) ACM Transactions on Reconfigurable Technology and Systems (TRETS) ACM Transactions on Sensor Networks (TOSN) ACM Transactions on Software Engineering and Methodology (TOSEM) ACM Transactions on Speech and Language Processing (TSLP) ACM Transactions on Storage (TOS) ACM Transactions on the Web (TWEB) #2 in Ave. Downloads per Article #2 in Ave. Citations per Article