1 cs 501 spring 2008 cs 501: software engineering lectures 11 & 12 usability
TRANSCRIPT
2 CS 501 Spring 2008
Course Administration
Quiz 2 on Thursday
Same format as the first quiz
No office hours on Thursday
Quiz 4
Moved to Tuesday, April 22. Please contact me if you cannot make this date.
3 CS 501 Spring 2008
Presentations
Project Presentations
First presentation is next week, Monday through Thursday.
Meeting room is at 301 College Avenue.
For instructions, read the Assignments page.
Your client must attend the presentation unless you have special permission.
4 CS 501 Spring 2008
Planning for the Presentation
How will you use the time?
This is a presentation to the client, with the instructor and teaching assistant as a secondary audience. Possible topics:
• Overview of project and progress against plan.
• Presentation of assumptions, decisions.
• Summary of requirements in moderate detail.
• What has been learned since feasibility study? Changes in plans.
Allow 15 minutes for questions. Expect interruptions.
"This is our understanding of your requirements."
5 CS 501 Spring 2008
Planning for the Presentation
Logistics
Have a rehearsal, check visual aids and demonstrations. Then change nothing.
Check out the equipment in the meeting room. What network will you use (if any). How will you connect a computer (if you do)? What about firewalls?
Will one person act as chair and call on other members of the team?
Not everybody is a great presenter, but everybody can be well-prepared.
6 CS 501 Spring 2008
During the Presentation
• The presenter should stand. Other people should sit.
• Appoint a team member to take notes.
• The first presenter should introduce everybody.
• When asked a question:
-> If the presenter knows the answer, answer it.-> Or the presenter may ask another team member to answer.-> Otherwise make a note and reply later.
• Never interrupt your colleagues. If you have information to add, raise you hand and the presenter can decide whether to call on you.
7 CS 501 Spring 2008
Usability: The Analyze/Design/Evaluate Loop
Evaluate
?Design
Build
Analyze requirements
The Information Science program and Communication Department offer a series of courses in Human Computer Interaction.
8 CS 501 Spring 2008
Requirements for user interfaces
It is very difficult to specify and comprehend an interactive interface in a textual documents
• Requirement documents benefit from sketches, comparison with existing systems, etc.
• Design documents should definitely include graphical elements and often benefit from a mock-up or other form of prototype.
• Implementation plans should include evaluation of user factors and time to make changes.
User interfaces must be tested with users. Expect to changethe requirements as the result of testing.
9 CS 501 Spring 2008
Tools for developing usability requirements and evaluation of usability
Initial Mock-up Prototype Production
Client's opinions
Competitive analysis
Expert opinion
Focus groups
Observing users
Measurements
11 CS 501 Spring 2008
Tools for developing usability requirements: Focus group
A focus group is a group interview
• Interviewer
• Potential users
Typically 5 to 12
Similar characteristics (e.g., same viewpoint)
• Structured set of questions
May show mock-ups
Group discussions
• Repeated with contrasting user groups
12 CS 501 Spring 2008
Usability requirements: Device-aware user interfaces
• Examples of devices:
desk-top computer, fast network connectionlaptop computer, intermittent connectivityPalmPilot, synchronizationsmart telephonedigital camera, camcorder
• Device-aware user interfaces are aware of:
=> performance of device=> limited form factor (display, keyboard)=> connectivity
13 CS 501 Spring 2008
Usability:Accessibility requirements
Requirements about accessibility (e.g., support for users with disabilities) are most likely to arise in the user interface.
You may have a legal requirement to support people with disabilities.
Example of requirements specification:
The system must comply with Section 508 of the US Rehabilitation Act. See http://www.section508.gov/
14 CS 501 Spring 2008
Non-functional Requirements
Performance, Reliability, Scalability, Security…
Example: Response time0.1 sec – the user feels that the system is reacting instantaneously1 sec – the user will notice the delay, but his/her flow of thought stays uninterrupted10 sec – the limit for keeping the user's attention focused on the dialogue
15 CS 501 Spring 2008
The Importance of User Interface Design
Good support for users is more than a cosmetic flourish
• Elegant design, appropriate functionality, & responsive system: => a measurable difference to their effectiveness
• A system that is hard to use: => users may fail to find important results, or mis-interpret what they do find=> user may give up in disgust
A computer system is only as good as the interface it provides to its users
16 CS 501 Spring 2008
Design for Usability
Usability of a computer system is a combination of factors:
• User interface design
• Functionality
• Performance
• Help systems and documentation
• Freedom from errors
Anything else?
17 CS 501 Spring 2008
Design from a System Viewpoint
interface design
functional design
data and metadata
computer systems and networks
mentalmodel
18 CS 501 Spring 2008
Mental Model
What a person thinks is true about a system, not necessarily what is actually true
• Similar in structure to the system that is represented
• Allows a person to predict the results of his actions
• Simpler than the represented system. A mental model includes only enough information to allow accurate predictions (i.e. no data structures)
Also called conceptual model
19 CS 501 Spring 2008
Examples of Mental Model
The mental (conceptual) model is the user's internal model of what the system provides:
• The desk top metaphor -- files and folders
• The Web model -- one vast collection of pages with hyperlinks
20 CS 501 Spring 2008
Interface Design
The interface design is the appearance on the screen and the actual manipulation by the user
• Fonts, colors, logos, key board controls, menus, buttons
• Mouse control or keyboard control
• Conventions (e.g., "back", "help")
Examples:
• Screen space utilization in Acrobat.
• Number of snippets per page in Web search.
21 CS 501 Spring 2008
Principles of Interface Design
Interface design is partly an art; there are general principles:
• Consistency -- in appearance, controls, and function.
• Feedback -- what is the computer system doing? why does the user see certain results?
• Users should be able to interrupt or reverse actions
• Error handling should be simple and easy to comprehend
• Skilled users should be offered shortcuts; beginners should have simple, well-defined options
The user should feel in control
22 CS 501 Spring 2008
Functional Design
The functional design, determines the functions that are offered to the user
• Selection of parts of an object
• Searching a list or sorting the results
• Help information
• Manipulation of objects on a screen
• Pan or zoom
There may be many user interface choices for the same function, e.g., Macintosh v. Windows desktop
23 CS 501 Spring 2008
Data and metadata
Structural data and metadata stored by the computer system enable the functions and the interface
• Effectiveness of searching depends on the type and quality of data that is indexed (free-text, controlled vocabulary, etc.)
• The desktop metaphor has the concept of associating a file with an application. This requires a file type to be stored with each file:
-- extension to filename (Windows and Unix) -- resource fork (Macintosh)
24 CS 501 Spring 2008
Computer systems and networks
The performance, reliability and predictability of computer systems and networks is crucial to usability
Examples
• Instantaneous response time for mouse tracking and echo of key stroke
• Pipelined algorithm for the Mercury page turner
• Quality of Service for real time information
25 CS 501 Spring 2008
Design: Command Line Interfaces
SEARCH I NSPEC Dat abase- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Type keywor ds and pr ess RETURN - - orent er a command
Def aul t i s ADJ : aci d f r ee- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Set #3: aci d adj f r e 0 r ecor ds I NSPEC Dat abase
Set #4: aci d adj f r ee 5 r ecor ds I NSPEC Dat abase
Set #5: aci d and paper 448 r ecor ds I NSPEC Dat abase
Set #6: deaci di f i cat i on 4 r ecor ds I NSPEC Dat abase- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
26 CS 501 Spring 2008
Command line interfaces andText-only menus
Command line interfaces and text-only menus had become almost entirely replaced by graphical interfaces, but are returning:
• Devices with small form factor or other special features, e.g. cell phone, PDA, etc.
• Interfaces for simple tasks with general users, e.g. automated bank teller (ATM)
27 CS 501 Spring 2008
Command Line Interfaces
User interacts with computer by typing commands
• Allows complex instructions to be given to computer
• Facilitates formal methods of specification & implementation
• Skilled users can input commands quickly
• Unless very simple, requires learning or training
• Can be adapted for people with disabilities
• Can be multi-lingual
• Suitable for scripting / non-human clients
28 CS 501 Spring 2008
Design:Graphical interfaces and direct interaction
User interacts with computer by manipulating objects on screen
• Can be intuitive and easy to learn
• Users get immediate feedback
• Not suitable for some complex interactions
• Does not require typing skills
• Straightforward for casual users, may be slow for skilled users
• Icons can be language-independent
• Difficult to build scripts
• Only suitable for human users
29 CS 501 Spring 2008
Design for Direct Manipulation
metaphors and mental models: Conceptual models, metaphors, icons, but there may not be an intuitive model
navigation rules: How to move among data functions, activities and roles in a large space
conventions: Familiar aspects that do not need extra training.
=> scroll bars, buttons, help systems, sliders
=> good for users, good for designers
look: characteristics of the appearance that convey information
feel: interaction techniques that provide an appealing experience
30 CS 501 Spring 2008
Design for Direct Manipulation: Menus
• Easy for users to learn and use• Certain categories of error are avoided• Enables context-sensitive help
Major difficulty is structure of large choices
• Scrolling menus (e.g., states of USA)• Hierarchical• Associated control panels• Menus plus command line
Users prefer broad and shallow to deep menu systems
31 CS 501 Spring 2008
Help System Design
Help system design is difficult
• Must prototype with mixed users
• Categories of help:
=> Overview and general information=> Specific or context information=> Tutorials (general)=> Cook books and wizards=> Emergency ("I am in trouble ...")
• Must have many routes to same information
Never blame the user!
32 CS 501 Spring 2008
Information Presentation
Simple is often better than fancy
• Text
precise, unambiguous
fast to compute and transmit
• Graphical interface
simple to comprehend / learn
uses of color
variations show different cases
33 CS 501 Spring 2008
Information presentation: Separation of presentation from content
Information to be displayed
Presentation software Display
Presentation software
Display
Acrobat
html
Firefox
34 CS 501 Spring 2008
Refining the design based on evaluation
Designers and evaluators need to work as a team
Designers are poor evaluators of their own work, but know the requirements, constraints, and context of the design:
• Some user problems can be addressed with small changes
• Some user problems require major changes
• Some user requests (e.g., lots of options) are incompatible with other requests (e.g., simplicity)
Do not allow evaluators to become designers
35 CS 501 Spring 2008
Evaluation
• Making sure that a system is usable before launching it.
• Iterative improvements after launch.
• Categories of evaluation methods:
Analytical evaluation: without users
Measurements on operational systems
Empirical evaluation: with users
36 CS 501 Spring 2008
Evaluation
How do you measure usability?
Usability comprises the following aspects:
• Effectiveness – the accuracy and completeness with which users achieve certain goals Measures: quality of solution, error rates
• Efficiency – the relation between the effectiveness and the resources expended in achieving themMeasures: task completion time, learning time, clicks number
• Satisfaction – the users' comfort with and positive attitudes towards the use of the systemMeasures: attitude rating scales
From ISO 9241-11
37 CS 501 Spring 2008
Measurement
Basic concept: log events in the users' interactions with a system
Examples from a Web system
• Clicks (when, where on screen, etc.)
• Navigation (from page to page)
• Keystrokes (e.g., input typed on keyboard)
• Use of help system
• Errors
May be used for statistical analysis or for detailed tracking of individual user.
38 CS 501 Spring 2008
Evaluation based on measurements
Analysis of system logs
• Which user interface options were used?
• When was was the help system used?
• What errors occurred and how often?
• Which hyperlinks were followed (click through data)?
Human feedback
• Complaints and praise
• Bug reports
• Requests made to customer service
39 CS 501 Spring 2008
Evaluation with Users
Testing the system, not the users!
Stages of evaluation with users:
Preparation
Sessions conduct
Analysis of results
User testing is time-consuming, expensive, and essential.
40 CS 501 Spring 2008
Evaluation with UsersPreparation
• Determine goals of the usability testing
“Can a user find the required information in no more than 2 minutes?”
• Write the user tasks
“Answer the question: how hot is the sun?”
• Recruit participants
Use the descriptions of users from the requirements phase to detect potential users
41 CS 501 Spring 2008
Usability Laboratory
Concept: monitor users while they use system
Evaluators User
one-way mirror
42 CS 501 Spring 2008
Evaluation with UsersSessions Conduct
• Conduct the session– Usability Lab– Simulated working
environment
• Observe the user– Human observer(s)– Video camera– Audio recording
• Inquire satisfaction data
43 CS 501 Spring 2008
Evaluation with users:Results analysis
• If possible, use statistical summaries.
• Pay close attention to areas where users
– were frustrated
– took a long time
– could not complete tasks
• Respect the data and users' responses. Do not make excuses for designs that failed.
• Note designs that worked and make sure they are incorporated in the final product.
44 CS 501 Spring 2008
Usability: Design Tensions in Networked Systems
• Client computers and network connections vary greatly in capacity
• Client software may run on various operating systems. It may be current or an earlier version. What assumptions do you make about the user's computer and Web browser?
• Designers wish to control client software, e.g., Web browsers, but users wish to configure their own environments. This can be a factor in accessibility, e.g., which part of the system determines the font size.
45 CS 501 Spring 2008
System considerations of user interface design
• Personal computer cycles are there to be used
• Any network transfer involves delay
• Shared systems have unpredictable performance
• Data validation often requires access to shared data
• Mobile code poses security risks
46 CS 501 Spring 2008
Usability and Cost
• Good usability may be expensive in hardware or special software development
• User interface development may be a major part of a software development project
Programming environments provide powerful user interface toolkits
• Costs are multiplied if a user interface has to be used on different computers or migrate to different versions of systems
Web browsers provide a general purpose user interface where
others maintain the user interface software
48 CS 501 Spring 2008
1990
SEARCH I NSPEC Dat abase- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Type keywor ds and pr ess RETURN - - orent er a command
Def aul t i s ADJ : aci d f r ee- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Set #3: aci d adj f r e 0 r ecor ds I NSPEC Dat abase
Set #4: aci d adj f r ee 5 r ecor ds I NSPEC Dat abase
Set #5: aci d and paper 448 r ecor ds I NSPEC Dat abase
Set #6: deaci di f i cat i on 4 r ecor ds I NSPEC Dat abase- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -