05 863 08 763 46 863 Introduction to

  • Slides: 41
Download presentation
05 -863 / 08 -763 / 46 -863: Introduction to Human Computer Interaction for

05 -863 / 08 -763 / 46 -863: Introduction to Human Computer Interaction for Technology Executives Brad Myers Human Computer Interaction Institute Fall, 2007, Mini 2 1

Course: l Time: Mon&Wed, 10: 30 AM - 11: 50 AM Room: NSH 1305

Course: l Time: Mon&Wed, 10: 30 AM - 11: 50 AM Room: NSH 1305 l Tue&Thurs in Wean 4615 A l l l Sorry about the mistake on-line Video replay with the TAs 2

Course Web page: l Course Web page: http: //www. cs. cmu. edu/~bam/uicourse/08763 fall 07

Course Web page: l Course Web page: http: //www. cs. cmu. edu/~bam/uicourse/08763 fall 07 l Course schedule is very tentative l Note required readings l CMU-only, use CMU network or VPN 3

Instructor l Brad Myers l l l l Human Computer Interaction Institute Office: Newell-Simon

Instructor l Brad Myers l l l l Human Computer Interaction Institute Office: Newell-Simon Hall (NSH) 3517 Phone: x 8 -5150 E-mail: bam@cs. cmu. edu http: //www. cs. cmu. edu/~bam Office hours: By appointment. Secretary: Brandy Renduels, l l NSH 3526 A x 8 -7099 4

Teaching Assistants l Jack Beaton l l l jackbeaton@gmail. com http: //www. jbeaton. com/

Teaching Assistants l Jack Beaton l l l jackbeaton@gmail. com http: //www. jbeaton. com/ office hours: TBD, or by appointment l l l Maybe Tuesday 12 -1? Where? Ajay Prasad l l l ajaei@cmu. edu www. ajayprasad. net office hours: TBD, or by appointment l Maybe Saturday, 12 -1? 5

What is this class about? l Brief overview of Human Computer Interaction techniques l

What is this class about? l Brief overview of Human Computer Interaction techniques l l l Understanding of what usability is and means Some methods for achieving better usability Clearly cannot cover the topic very well l Full Master’s degree in HCI Covering only a few techniques Not providing sufficient practice even with those 6

Texts l l Beyer, H. and Holtzblatt, K. , “Contextual Design: Defining Custom-Centered Systems”.

Texts l l Beyer, H. and Holtzblatt, K. , “Contextual Design: Defining Custom-Centered Systems”. 1998, San Francisco, CA: Morgan Kaufmann Publishers, Inc. ISBN: 1 -55860 -411 -1 (paperback) Jakob Nielsen. "Usability Engineering". Boston: Academic Press, Inc. 1993. (recommended) Donald A. Norman, "The Design of Everyday Things". New edition: Basic Books, 2002, ISDN 0 -465 -06710 -7. Or original edition (paperback): New York: Doubleday, 1988. ISBN 0 -385 -26774 -6 All readings listed on schedule 7

Grading l 6 individual projects (homeworks) l l l Final Exam l l Will

Grading l 6 individual projects (homeworks) l l l Final Exam l l Will be using Visual Basic Overview of homeworks and policies Due before class Turn-in by CD or Blackboard Let me know if you need to take it early In-class participation 8

Requirements l Assuming you can do some programming l l l One homework (#4)

Requirements l Assuming you can do some programming l l l One homework (#4) will have you create a medium-size program in Visual Basic. Net in 10 days You are expected to learn VB mostly on your own One lecture and on-line VB resources 9

Assignment 0 l l Picking an appliance Will do in-class next lecture 10

Assignment 0 l l Picking an appliance Will do in-class next lecture 10

Lecture 1: Introduction and Why are UIs Important and Difficult to Design and Implement

Lecture 1: Introduction and Why are UIs Important and Difficult to Design and Implement Brad Myers 11

Who are “Users”? l l People who will use a product or web site.

Who are “Users”? l l People who will use a product or web site. As opposed to the “Designers” l l People who create the system or web site Designers Users You are the designer Have to make an effort to Know The User 12

What is the “User Interface”? l Everything the user encounters l l l l

What is the “User Interface”? l Everything the user encounters l l l l Functionality Content Labels Presentation Layout Navigation Speed of response Documentation & Help 13

What is Your Definition of “Quality” for a System? 14

What is Your Definition of “Quality” for a System? 14

What is “Usability”? l l l = Quality! Learnability Efficiency l l Memorability l

What is “Usability”? l l l = Quality! Learnability Efficiency l l Memorability l l l Productivity Little “re-learning” required Errors Satisfaction l Pleasurable 15

Why are Interfaces Important? l Sit-down-and-use computers and software l l Usability is critical

Why are Interfaces Important? l Sit-down-and-use computers and software l l Usability is critical to software sales: l l l Don't read the manuals In magazine ratings "User friendly" HCI-trained people build better interfaces l l Programmers don't think like end-users Exposure to different kinds of interfaces, problems User model, not system model Guidelines 16

Problem l Appliances are too complex 17

Problem l Appliances are too complex 17

Problem l Too many remotes 18

Problem l Too many remotes 18

Problem l April 29, 1991 19

Problem l April 29, 1991 19

Why Important? cont. l l l There are well-defined methods and techniques Not just

Why Important? cont. l l l There are well-defined methods and techniques Not just opinions, luck, domain-experience Very expensive to not do usability engineering l Interfaces will be re-designed: before or after release l Studies show that usability engineering saves money l l $39, 000 $613, 000 $8, 200, 000 Up to 5000 times the cost 20

Why Important? cont. l l l Novices will be more effective quicker Make experts

Why Important? cont. l l l Novices will be more effective quicker Make experts more efficient Reduce calls to the support center l l l Can cost $30 - $100 per call Reduce errors Can help identify what is really needed l What will be useful and what is not needed 21

Good UIs on Successful Products l Palm succeeded where other handhelds had failed due

Good UIs on Successful Products l Palm succeeded where other handhelds had failed due to a focus on usability: l l l Fit into pocket Reliable gestural text input Commands immediately available Apple i. Phone – unique UI Apple i. Pod lauded for design and user interface l Dial 22

Why Important? cont. l Recognized by industry, government, etc. l l l Plenty of

Why Important? cont. l Recognized by industry, government, etc. l l l Plenty of jobs Money for research Significant time and code devoted to HCI now! -- www. dray. com 23

Especially for the Web l “Usability rules the web” l l l If the

Especially for the Web l “Usability rules the web” l l l If the customer cannot find your product, then it won’t be bought Your competitors are only one click away All web sites are compared to the best Normal Products Web Products 24

Bad UIs Can Cause Disasters l Therac-25 (1985 -87) http: //courses. cs. vt. edu/~cs

Bad UIs Can Cause Disasters l Therac-25 (1985 -87) http: //courses. cs. vt. edu/~cs 3604/lib/Therac_25/Therac_1. html l Repeated recently http: //archives. seattletimes. nwsource. com/cgi-bin/texis/web/vortex/display? slug=radiation 14&date=20010614 l Aegis l July 4, 1988; Iranian Airbus shootdown by the Vincennes http: //washingtonpost. com/wp-srv/inatl/longterm/flight 801/stories/july 88 crash. htm http: //en 2. wikipedia. org/wiki/USS_Vincennes_(CG-49) l Florida ballots (2000) http: //www. asktog. com/columns/042 Butterfly. Ballot. html 25

Florida Ballots 26

Florida Ballots 26

Why are User Interfaces Difficult to Design? 27

Why are User Interfaces Difficult to Design? 27

Why Hard to Design UIs? “It is easy to make things hard. It is

Why Hard to Design UIs? “It is easy to make things hard. It is hard to make things easy. ” l No silver bullet l Seems easy, common sense, but seldom done right l l l Once done right, however, seems “obvious” User Interface design is a creative process Designers have difficulty thinking like users l l Often need to understand task domain Can’t “unlearn” something 28

Can’t Unlearn Something 29

Can’t Unlearn Something 29

Can’t Unlearn Something, 2 30

Can’t Unlearn Something, 2 30

Why Difficult, 2 l Specifications are always wrong: l "Only slightly more than 30%

Why Difficult, 2 l Specifications are always wrong: l "Only slightly more than 30% of the code developed in application software development ever gets used as intended by end-users. The reason for this statistic may be a result of developers not understanding what their users need. " -- Hugh Beyer and Karen Holtzblatt, "Contextual Design: A Customer-Centric Approach to Systems Design, “ ACM Interactions, Sep+Oct, 1997, iv. 5, p. 62. l Need for prototyping and iteration 31

Why Difficult, 3 l Tasks and domains are complex l l l Existing theories

Why Difficult, 3 l Tasks and domains are complex l l l Existing theories and guidelines are not sufficient l l l Too specific and/or too general Standard does not address all issues. Adding graphics can make worse l l Word 1 (100 commands) vs. Word 2007 (>2000) Mac. Draw 1 vs. Illustrator Pretty Easy to use Can’t just copy other designs l Legal issues 32

Why Difficult, 4 l All UI design involves tradeoffs: l l l l l

Why Difficult, 4 l All UI design involves tradeoffs: l l l l l Standards (style guides, related products) Graphic design (artistic) Technical writing (Documentation) Internationalization Performance Multiple platforms (hardware, browsers, etc. ) High-level and low-level details External factors (social issues) Legal issues Time to develop and test (“time to market”) 33

Why are User Interfaces Difficult to Implement? 34

Why are User Interfaces Difficult to Implement? 34

Why Are User Interfaces Hard to Implement? l They are hard to design, requiring

Why Are User Interfaces Hard to Implement? l They are hard to design, requiring iterative implementation l l Not the waterfall model: specify, design, implement, test, deliver They are reactive and are programmed from the "inside-out" l l Event based programming More difficult to modularize 35

Why Hard to Implement? cont. l They generally require multi-processing l l l To

Why Hard to Implement? cont. l They generally require multi-processing l l l To deal with user typing; aborts Window refresh Window system as a different process Multiple input devices There are real-time requirements for handling input events l l l Output 60 times a second Keep up with mouse tracking Video, sound, multi-media 36

Why Hard to Implement? cont. l Need for robustness l l l No crashing,

Why Hard to Implement? cont. l Need for robustness l l l No crashing, on any input Helpful error messages and recover gracefully Aborts Undo Lower testability l Few tools for regression testing 37

Why Hard to Implement? cont. l Little language support l l Complexity of the

Why Hard to Implement? cont. l Little language support l l Complexity of the tools l l l Primitives in computer languages make bad user interfaces Enormous, complex libraries Features like object-oriented, constraints, multi-processing Full bookshelf for documentation of user interface frameworks MFC, Java Swing, VB. Net, etc. Difficulty of Modularization 38

Examples l l Difference between displaying “hello” and displaying a blue rectangle Difficulty to

Examples l l Difference between displaying “hello” and displaying a blue rectangle Difficulty to read a file name l l l Reading a text string Configuring and handling built-in file dialog Creating a new file dialog 39

Why UIs Particularly Important l Computers are exploding into society l l Pervasive computing

Why UIs Particularly Important l Computers are exploding into society l l Pervasive computing power Small, cheap, powerful Computers in watches, phones, homes Pretty much every appliance 40

Massive computational power available for next to nothing l l No longer “Can you

Massive computational power available for next to nothing l l No longer “Can you build it? ” Now: “Can they use it? ” (“Will they use it” => “Can I sell it”) l This class is to provide an overview of building usable interactive systems through HCI processes 41