CS 352
Winter 2009
Email: cjensen (at) eecs
Office hours:
• MW 11-1pm KEC 3061
• By Appointment
TA: Eunyoung Chung (Carrie)
• Email: chung (at) eecs
• Office Hours: ?
This class will give you hands-on experience with usability evaluation and user-centered design. In this class you will not learn how to implement user interfaces, but rather how to design these based on the needs of users, which you will determine, and learn how to evaluate your designs rigorously. This is a class for those who wish to know more about usability, human-computer interaction, the psychological aspects of computing, evaluation, and/or experimentation.
The bulk of your grade will be based on a group project, where you will propose, prototype, and evaluate your own novel IT solutions. These projects will be presented to the whole school at the end of the term.
Learn how to do requirements gathering and interpretation
Learn how to do prototyping and iterative design
Learn how to apply usability testing methods, and legal and ethical requirements
Learn about the evolution of user interfaces
The goal of this class is to teach, in a hands-on manner, how to design a computer product properly.
At the completion of the course, students will be able to
1. Describe the human centered design process and usability engineering process and their roles in system design and development.
2. Discuss usability design guidelines, their foundations, assumptions, advantages, and weaknesses.
3. Describe basics of human subjects research.
4. Complete a basic human subjects research certification form.
5. Design a user interface based on analysis of human needs and prepare a prototype system.
6. Assess user interfaces using different usability engineering techniques.
7. Make an oral presentation that justifies design decisions.
This class is meant to be a hand-on course. This means that you will be required to work on group projects (3-4 person groups) and classwork (in addition to doing readings) outside of class time. This class will also be very interactive. Participation will count towards your final grade, and I want a healthy discussion in each class session.
-
-
-
-
-
The grading breakdown will be as follows:
Participation 10%
Assignments 15%
Midterm 1
Midterm 2
Project
• Proposal
• Prototype 25%
• Evaluation Plan
• Evaluation
• Presentation
20%
25%
20%
10%
20%
20%
35%
Prerequisites: CS 161 or CS 295
You should be very familiar with the following concepts and practices:
• Graphical User Interfaces (GUIs)
• Basics of Programming, some VB or HTML
• Basics of some graphics manipulation package
This is a 300-level class, I expect you to be responsible and keep up with the reading and complete your assigned work on time. Lectures will not cover all reading, I will focus on explaining material which is particularly difficult, or which is not well-explained in the book. You are still responsible for all materials for exams and your work.
Usability Engineering is the process of
Methodically designing systems which are
– Useful
– Usable
Which includes
– Determining what is useful
– Determining what is usable
– Evaluating these two factors empirically
Nielsen
– Increase learnability
– Increase efficiency
– Increase memorability
– Decrease errors
– Increase satisfaction
Preece
– Utility ?
– Effectiveness ?
Why bother with usability engineering?
• Computers affect most people
– 89% of US has access to computers, 65% are online
– Have to deal with businesses & government agencies
• Computers are everywhere!!! (help!)
– Not just white boxes
• Success often depends on ease of use, not power or features
“Learning to use a computer system is like learning to use a parachute – if a person fails on the first try, odds are he won’t try again.” – anonymous
Nielsen
• Identify who the users are
• Understand their activities
• Understand the context in which these take place
• Applying design principles and design techniques, like:
– Scenarios
– Think-aloud protocols
– Heuristic Evaluation
Preece
• Taking into account what people are good and bad at
• Considering what might help people with the way they currently do things
• Thinking through what might provide quality user experiences
• Listening to what people want and getting them involved in the process
• Using “tried and tested” userbased techniques during design process
Usability by Other Names in Other Fields
• Usability Engineering
• Human-computer interaction
• Computer-human interaction
• Human-machine interaction
• Ergonomics
• Interaction Design
• User-interface design
• User-centered design
• Informatics/information systems/library science
• Psychology/cognitive science
• Ergonomics
• Industrial engineering/design
• Architecture
• Art
• Social sciences
• Why?
– Get a sense of where we are
• Things haven’t always been this way, wont always stay this way, computers and interaction evolving
– Understand lessons from history
• Understand why we are here
• Avoid repeating same mistakes
– See that the history of computing is tied to the history of computer usability
History of computer interaction
Batch
Experts
WIMP
(Windows)
Command
Line
Professionals
Educated
1940s – 1950s 1960s – 1970s 1980s - Present
?
?
A general view of the ENIAC, the world's first all electronic numerical integrator and computer.
From IBM Archives.
The Mark I paper tape readers.
From Harvard University Cruft Photo Laboratory.
A close-up of the Stretch technical control panel.
From IBM Archives.
Grace Hopper 1945
(Photo courtesy of the United States Naval Historical Center)
• Computer performed one task at a time
• No “interaction” once computation started
• Switches, wires, punch cards and tapes for I/O
• Very limited, highly trained group of operators
• Computers hit “big business”
– More varied tasks; text processing, editing, email etc
– Need for interactivity
– Used by secretaries, salesmen, accountants, CS students etc
– Reduced training
Need for
HCI
• 24 x 80 characters
• Up to 19,200 bps (Wow was big stuff!)
Source: http://www.columbia.edu/acis/history/vt100.html
Pushing beyond Computing in Business
Need to do more with less
– Need to rethink usability
Little or no training for users
More diverse populations
More diverse uses
WIMP / GUI
W indows, I cons, M enus, P ointers
G raphical U ser I nterface
WIMP interface emulates existing work practices
Direct manipulation
Desktop metaphor
Why was this such an innovation?
What were the innovations making this possible?
• SketchPad - 1963 PhD thesis at MIT
– Hierarchy - pictures & subpictures
– Master picture with instances (ie, OOP)
– Constraints
– Icons
– Copying
– Light pen input device
– Recursive operations
• The Problem (early ‘50s)
“...The world is getting more complex, and problems are getting more urgent. These must be dealt with collectively. However, human abilities to deal collectively with complex / urgent problems are not increasing as fast as these problems.
If you could do something to improve human capability to deal with these problems, then you'd really contribute something basic.”
...Doug Engelbart
• First commercial PC designed for
“business professionals”
– desktop metaphor, pointing, WYSIWYG, high degree of consistency and simplicity
• First system engineered for usability
– Paper prototyping and analysis
– Usability testing and iterative refinement
• Usability matters, usability sells
– Star flopped, but Mac succeeded
• Cost $15,000
• Lacked spreadsheet, standard business software
• Usability can be “engineered”
– Birth of HCI as a design discipline
1981
1981
1985
Windows 1.0
Mac OS 1.0
1981
1985
1987
Mac OS 1.0
Mac OS 5.0
Windows 1.0
Windows 2.0
1981
1985
1987
1992
Windows 1.0
Mac OS 1.0
Mac OS 5.0
Mac OS 7
Windows 3.0
1981
1985
1987
1992
1998
Windows 1.0
Mac OS 1.0
Mac OS 5.0
Mac OS 7
Windows 3.0
1981
1985
1987
1992
1998
2007
Windows 1.0
Mac OS 1.0
Mac OS 5.0
Windows 3.0
Mac OS 7
1981
1985
1987
1992
1998
2007
Windows 1.0
Mac OS 1.0
Mac OS 5.0
Windows 3.0
Mac OS 7
?
WIMP
(Windows)
Command
Line
Batch
1940s – 1950s 1960s – 1970s 1980s - Present
Time
?
• Mobile computing
• Wearable computing
• Tangible computing
• Ubiquitous computing
– and many more….