CS 501: Software Engineering Designing for Usability II CS 501 Spring 2002

advertisement
CS 501: Software Engineering
Lecture 12
Designing for Usability II
1
CS 501 Spring 2002
Administration
Requirements document
An example will be discussed in class
See also the web site associated with the
text book
Assignment 2 Questionnaire
Everybody should reply
Email to wya@cs.cornell.edu
2
CS 501 Spring 2002
Planning for the Presentation
1. Who is the audience? What do they want to learn?
The client(s): Do you understand their requirements? Is
this the system that they want?
2. How much time do you have? How much detail can you
cover?
45 minutes for set-up, presentation and discussion. Prepare
30 minutes presentation. Do nor be superficial but there is
not time to go into all details.
3
CS 501 Spring 2002
Planning for the Presentation
3. What facilities are in the room?
Computer projector, Ethernet, conference telephone, screen,
overhead projector, whiteboards.
4. What materials should you prepare?
Report -- either hand out paper copies or distribute by
email. Slides for computer projection (PowerPoint, web, or
similar) or overhead foils.
Bring a laptop if you have one. Otherwise, let your TA
know if you will need a computer or other equipment.
4
CS 501 Spring 2002
The Presentation
5. Speakers
Either have one person act as moderator or hand off
sequentially, one speaker at a time.
6. Questions
The speaker should decide who answers questions.
Do not interrupt the speaker. If you think that you can
answer a question, raise your hand and wait for the speaker
to ask you.
Have a full rehearsal of your presentation
5
CS 501 Spring 2002
Usability: Requirements and Refinement
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.
6
CS 501 Spring 2002
User Interfaces: Iterative Design
7
Evaluation
Requirements
Implementation
(prototype)
Design
CS 501 Spring 2002
Methods for Specifying Requirements
and Evaluation of Usability
• Observing users (user protocols)
• Focus groups
• Measurements
effectiveness in carrying out tasks
speed
• Expert review
• Client's opinions
• Competitive analysis
8
CS 501 Spring 2002
Example: the NSDL
The National Science Digital Library (NSDL)
• A major program of the National Science Foundation (NSF).
• Comprehensive digital library of all materials relevant to
science education, broadly defined.
• $25 million per year for 6 years.
• 64 grants to universities and other not-for-profit universities.
• Technical leadership from Cornell.
9
CS 501 Spring 2002
NSDL: the Start
First thoughts
• Users of the NSDL will be very diverse: K-12, university,
adults; students and teachers.
• Very high variations in computers and networks available to
users.
• Volume of material prohibits designing every screen
individually.
Interface creation will be a major part of the project.
10
CS 501 Spring 2002
NSDL: Getting Started
Strategy
• Hire a senior interface designer
• During the first year (2000-2001), build a throwaway demonstration system
http://www.siteforscience.org/
• Then move to a systematic software development
process
11
CS 501 Spring 2002
12
CS 501 Spring 2002
NSDL: The Demonstration System
What we learned:
User requirements
• Because of the diversity of users, more than one portal is
needed
"One library, many portals"
Technical requirements
• Portals must be data driven: experiments with RSS
channels
13
• Interface components and graphical elements will be used
in many different places
CS 501 Spring 2002
NSDL: The Requirements Process
During winter 2002 ...
• Informal meetings to discuss design concepts, e.g., review
methods other systems use to display search results
• Prepared a series of documents on
(a) system requirements, e.g., hardware/software, users
with disabilities
(b) functional requirements
• Technical review and small pilots of portal toolkit software
• Mock-ups of graphical design
http://portals.comm.nsdlib.org/cgi-bin/wiki.pl?User_Interface_and_Portals
14
CS 501 Spring 2002
NSDL: Design mock-ups
Show Carol Terrizzi's design mock-ups.
[End of NSDL example]
15
CS 501 Spring 2002
Information Presentation
Information to
be displayed
Presentation
software
Display
16
CS 501 Spring 2002
Information Presentation
•
Text
precise, unambiguous
fast to compute and transmit
•
Graphics
simple to comprehend
uses of color
shows variations
17
CS 501 Spring 2002
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
Requires learning or training
Can be adapted for people with disabilities
Can be multi-lingual
• Suitable for scripting / non-human clients
18
CS 501 Spring 2002
Direct Interaction
User interacts with computer by manipulating objects on
screen
• Can be intuitive and easy to learn
• Users get immediate feedback
•
•
•
•
•
•
19
Not suitable for some complex interactions
Does not require typing skills
Straightforward for casual users, slow for skilled users
Icons can be language-independent
Difficult to build scripts
Only suitable for human users
CS 501 Spring 2002
Design for Direct Manipulation
• Conceptual models, metaphors, icons
=> there may not be an intuitive model
• Navigation around large space
• Conventions are growing over the years
=> scroll bars, buttons, help systems, sliders
=> good for users, good for designers
20
CS 501 Spring 2002
Menus
• Easy for users to learn and use
• Certain categories of error are avoided
• Enables context-sensitive help
Major difficulty is structure of large menus
•
•
•
•
Scrolling menus (e.g., states of USA)
Hierarchical
Associated control panels
Menus plus command line
Users prefer broad and shallow to deep menu systems
21
CS 501 Spring 2002
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!
22
CS 501 Spring 2002
System Considerations of User
Interfaces
• 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
23
CS 501 Spring 2002
Extensibility in Web Browsers
• Data types:
helper applications, plug-ins
• Protocols
HTTP, WAIS, Gopher, FTP, etc.
proxies
• Executable code
CGI scripts at server
JavaScript at client
Java applets
• Style sheets
24
CS 501 Spring 2002
Web Interface: Basic
Web browser
Web servers
• Static pages from server
• All interaction requires communication with server
25
CS 501 Spring 2002
Web User Interface: CGI Script
User interface
tables
CGI
Scripts
Web browser
26
Web servers
• Scripts can configure pages
• Scripts can validate information
• All interaction requires communication with server
CS 501 Spring 2002
Web User Interface: JavaScript
html
Java
Script
Web browser
27
User interface
tables
CGI
Scripts
Web servers
• JavaScripts can validate information as typed
• Some interactions are local
• Server interaction constrained by web protocols
CS 501 Spring 2002
Web User Interface: Applet
Any
server
Applets
Web browser
Web servers
• Any executable code can run on client
• Client can connect to any server
28
CS 501 Spring 2002
Device-Aware User Interfaces
• Examples of devices:
desk-top computer, fast network connection
laptop computer, intermittent connectivity
PalmPilot, intermittent use of cradle
Smart telephone
Digital camera, camcorder
• Device-aware user interfaces are aware of:
=> Performance of device
=> Connectivity
29
CS 501 Spring 2002
The Importance of 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
30
CS 501 Spring 2002
Download