Past, Present and Future of User Interface Software Tools

Slides:



Advertisements
Similar presentations
Microsoft Research Faculty Summit 2003 Brad A. Myers & Jeffrey Nichols The Personal Universal Controller and.NET CF Pebbles Research Project Human Computer.
Advertisements

implementation support
Chapter 11 Designing the User Interface
Lecture 12: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders, Sketching Tools Brad Myers Advanced User Interface.
Department of Information Science and Telecommunications Interactive Systems Michael B. Spring Department of Information Science and Telecommunications.
Class 6 LBSC 690 Information Technology Human Computer Interaction and Usability.
1 Component Description Pebbles PDA Software Human Computer Interaction Institute Carnegie Mellon University Prepared by: Brad Myers, March.
Stanford hci group / cs376 research topics in human-computer interaction Software Tools Matt Wright Center for Computer Research.
The Xerox “Star” A Retrospective By Bruno Nadeau & Luv Sharma.
Graphical User Interface (GUI) Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
0 HCI Today Talk about HCI Success Stories Talk about HCI Success Stories Talk about Norman’s Paper Talk about Norman’s Paper Start talking about The human.
User interface design Designing effective interfaces for software systems Objectives To suggest some general design principles for user interface design.
The Importance of the User Interface Lecture-1 The Essential Guide to UI Design: Chapter 1 1Computer Systems Interface.
Stanford hci group / cs376 research topics in human-computer interaction I/O Toolkits Scott Klemmer 29 November 2005.
Stanford hci group / cs376 research topics in human-computer interaction UI Software Tools Scott Klemmer 27 October 2005.
Objectives Machine language vs.. High-level language Procedure-oriented, object-oriented, and event- driven languages Background of Visual Basic VB Integrated.
INTRODUCTION. Concepts HCI, CHI Usability User-centered Design (UCD) An approach to design (software, Web, other) that involves the user Interaction Design.
Chapter 13: Designing the User Interface
THE BASICS OF THE WEB Davison Web Design. Introduction to the Web Main Ideas The Internet is a worldwide network of hardware. The World Wide Web is part.
Object-Oriented Analysis and Design LECTURE 8: USER INTERFACE DESIGN.
Course: Introduction to Computers
User Interface Design Chapter 11. Objectives  Understand several fundamental user interface (UI) design principles.  Understand the process of UI design.
1 Past, Present and Future of User Interface Software Tools Brad A. Myers, Scott E. Hudson, and Randy Pausch Human-Computer Interaction Institute School.
Lecture 8: Overview of UI Software and Tools Brad Myers Advanced User Interface Software 1© Brad Myers.
1 Past, Present and Future of User Interface Software Tools Brad A. Myers, Scott E. Hudson, and Randy Pausch Developed for HCIC’99 and TOCHI Updated 2009.
Computer Science 111 Fundamentals of Programming I User Interfaces Introduction to GUI programming.
Gary MarsdenSlide 1University of Cape Town Designing usable programming languages.
Systems Analysis and Design in a Changing World, 6th Edition
Software Tools.  It accomplishes an important task  (for better and for worse) You don’t have to make it yourself, and it abstracts a set of knowledge.
1 Web Basics Section 1.1 Compare the Internet and the Web Compare Web sites and Web pages Identify Web browser components Describe types of Web sites Section.
11.10 Human Computer Interface www. ICT-Teacher.com.
ACS 367 Interface Design Introduction & Text Overview Galitz, Wilbert O. The Essential Guide to User Interface Design.
1 Computer Graphics Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD3107 University of Palestine.
Gary MarsdenSlide 1University of Cape Town Human-Computer Interaction - 3 Programmer Support Gary Marsden ( ) July 2002.
Stanford hci group / cs376 u Scott Klemmer · 30 November 2006 UI Software Tools.
1 Chapter 7 Operating System & Utility Programs.  consists of the programs that control or maintain the operations of the computer and its devices. It.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
1 Implementation support chapter 8 programming tools –levels of services for programmers windowing systems –core support for separate and simultaneous.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
ACS 367 Interface Design History. Brief History n Early research –SRI in 1960s »The very system that I am using to access this information has its intellectual.
Software Architecture
INFO 355Week #71 Systems Analysis II User and system interface design INFO 355 Glenn Booker.
Chapter 12: User Interface Design
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
1 Lecture 2: Overview of UI Software and Tools Brad Myers Advanced User Interface Software.
Alan Kay: LCC 2700: Intro to Computational Media Spring 2005.
Copyright©2008 N.AlJaffan®KSU1 Chapter 7 Operating System and Utility Programs.
Stanford hci group / cs147 u 04 December 2007 Software Tools Scott Klemmer tas: Marcello Bastea-Forte, Joel Brandt, Neil Patel,
Stanford hci group / cs376 u Jeffrey Heer · 26 May 2009 User Interface Toolkits.
Different Types of HCI CLI Menu Driven GUI NLI
USER INTERFACE DESIGN (UID). Introduction & Overview The interface is the way to communicate with a product Everything we interact with an interface Eg.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
1 Lecture 5: Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders Brad Myers Advanced User Interface Software.
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
Chapter – 8 Software Tools.
Tools for the Tool Makers CS 376, Fall 2005 Kevin Collins.
Introduction to Human Factors in Information Systems Dr. Cindy Corritore Creighton University ITM 734 Fall 2005.
Toolkits and Languages CSE 490JL Section Dec 1 st & 3 rd 2004 Richard C. Davis & Kate Everitt.
Chapter 1 WHAT IS A COMPUTER Faculty of ICT & Business Management Tel : BCOMP0101 Introduction to Information Technology.
Iterative Design and Evaluation of Event Architecture for Pen-and-Paper Interfaces HCI Group Stanford University Ron B. Yeh Andreas Paepcke Scott R. Klemmer.
Augmenting Understanding: 2 Digital Innovators LCC 2700: Intro to Computational Media Fall 2005 Ian Bogost.
The Importance of the User Interface
Support for the Development of Interactive Systems
Lecture 8: Overview of UI Software and Tools
Past, Present and Future of User Interface Software Tools
Chapter 6: Interfaces and interactions
Usability and user Interfaces
Class Announcements 1 week left until project presentations!
I/O Toolkits Scott Klemmer · 16 November 2006.
The Importance of the User Interface
Presentation transcript:

Past, Present and Future of User Interface Software Tools Brad A. Myers (work with Scott E. Hudson and Randy Pausch) Human-Computer Interaction Institute School of Computer Science Carnegie Mellon University http://www.cs.cmu.edu/~bam bam@cs.cmu.edu

Introduction User Interface Software Tools Help developers design and implement user interfaces Focus on Tools, but influenced by future UIs Today’s tools are highly successful Window Managers, Toolkits, Interface Builders ubiquitous Most software built using them Are based on HCI research Brad A. Myers. “A Brief History of Human Computer Interaction Technology.” ACM interactions. Vol. 5, no. 2, March, 1998. pp. 44-54. http://www.cs.cmu.edu/~amulet/papers/uihistory.tr.html Future tools must be different

What Worked Window Managers and Toolkits Event Languages Graphical, Interactive Tools Component Architectures Hypertext Object Oriented Programming

Window Managers Multiple (tiled) windows in research systems of 1960’s: NLS, etc. Overlapping introduced in Alan Kay’s thesis (1969) Smalltalk, 1974 at Xerox PARC Successful because multiple windows help users manage scarce resources: Screen space and input devices Attention of users Affordances for reminding and finding other work

Toolkits A collection of widgets (“controls”) Menus, scroll bars, text entry fields, buttons, etc. Toolkits help with programming Help maintain consistency among UIs Key insight of Macintosh toolbox Successful partially because address common, low-level features for all UIs

Event Languages Create programs by writing event handlers Many UIMSs used this style Univ. of Alberta (1985), Sassafras (1986), etc. Now used by HyperCard, Visual Basic, Lingo, etc. Toolkits with call-backs or action methods are related Advantages: Natural for GUIs since generate discrete events Flow of control in user’s hands rather than programmer’s Discourages moded UIs Won’t work well in future

Graphical Interactive Tools Create parts of user interface by laying out widgets with a mouse Examples: Menulay (1983), Trillium (1986), Jean-Marie Hullot from INRIA to NeXT Now: HyperCard, Interface Builders, Visual Basic’s layout editor, resource editors, “constructors” Advantages: Graphical parts done in an appropriate, graphical way Accessible to non-programmers

Component Architectures Create applications out of components which are separately developed and compiled In UI software, each component controls an area of the screen Example: drawing component handles picture inside a document Invented by Andrew research project at CMU (1988) Now: OLE, OpenDoc, ActiveX, Java Beans

Hypertext Ted Nelson named it in 1965 and developed a Hypertext system at Brown University Important systems: NLS (1967), Hyperties (1986) World-Wide Web Phenomenal success due to: Ease of use of Mosaic browser Support for embedded graphics Support for easy authoring Tim Berners-Lee used the hypertext idea to create the World Wide Web in 1990 at the government-funded European Particle Physics Laboratory (CERN).

Object Oriented Programming Success of OO owes much to UI software field Popularized by Smalltalk GUI elements (widgets) seem like objects Have state, accept events (messages) Rise parallels GUIs C++ with Windows 3.1

What Hasn’t Caught On User Interface Management Systems Separation of UI and application is harder than expected Formal Language-Based Tools Grammars and Transition networks are not appropriate for direct manipulation Constraints Declare once, system maintains Get to be unpredictable and hard to control Model-Based and Automatic Techniques Results are not as good as hand-created Sometimes, no savings of effort

Future Prospects and Visions Important Trends Ubiquitous Computing Move to recognition-based interfaces End-user customization and scripting

Ubiquitous Computing Computation embedded in many kinds of devices Digital pagers and cell phones, Palm Pilots, CrossPads, laptops, wall-size displays, “smart” rooms Next wave: easy communication with radio E.g., BlueTooth: www.bluetooth.com Significant Implications for tools Moving target problem Tools for coordinating multiple, distributed, communicating devices “Multi-computer” user interfaces

More problems: Varying Input and Output Today’s Desktop screens vary by a factor of 2.5 in size and a factor of 4 in pixels Tomorrow’s screen will vary by factors of 100 in size and a factor of 625 in pixels Cell phone to Stanford’s wall (3796 x 1436 pixels)

Varying I/O Capabilities, cont. Interaction techniques for desktop will not work No room on small devices Can’t reach menubar on wall-size devices Want to run same application on different devices

Need for Prototyping Devices User interface will be in hardware Rapid design and prototyping needed for hardware Pragmatics and usability cannot be evaluated from a simulation on a screen

Move to recognition-based interfaces Speech, gestures, camera-based vision Multimodal interaction User will pick which modality to use Use multiple modalities at same time Today, programming these requires knowing about Hidden-Markov Models, grammars, feature vectors, etc. Need tools to hide these complexities

Fundamental Differences of Recognition-based UIs Input is uncertain Recognition can make errors Requires monitoring, feedback, correction Do not produce discrete events GUI event model no longer works Interpreting input requires deep knowledge of data Context of the application “Move the red truck to here” Need a architecture based on accessible application data structures “Reflection”, “Open Data Model”

More Assumptions of Today’s Tools Skill and Dexterity of users Older users Makes single, fixed library of widgets untenable Non-overlapping and opaque components Preclude translucency, magic lens interactions

Operating Systems Considerations What is in the OS? Window Manager? Toolkit? Communication? Scripting facilities? Need ever increasing services for applications Need more access to low-level information E.g., hardware buttons, whether on network Ideally, API to support competition and research into these components

Conclusions Research in tools necessarily trails innovation in UI design Due to consolidation on desktop metaphor, significant progress in tools UI design poised for radical changes New opportunities and challenges for tools

Past, Present and Future of User Interface Software Tools Thank you! Past, Present and Future of User Interface Software Tools Brad A. Myers (work with Scott E. Hudson and Randy Pausch) Human-Computer Interaction Institute School of Computer Science Carnegie Mellon University http://www.cs.cmu.edu/~bam bam@cs.cmu.edu

Talk given with SlideShow Commander Result of the Pebbles research project http://www.cs.cmu.edu/~pebbles SlideShow Commander to be commercialized by: Available soon! Synergy Solutions, Inc. http://www.synsolutions.com/ Brad Myers 23