Title: CS%20501:%20Software%20Engineering%20Fall%201999
1CS 501 Software EngineeringFall 1999
Lecture 24 Design for Usability II
2Administration
? Assignment 4 grades ? Examination schedule
3Notes on Assignment 4
? Attribution of sources ? Consider the
reader gt length ? No right answer but ...
must make recommendation ? Silly ways to loose
points gt read the question
4Command 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
5Direct Interaction
User interacts with computer by manipulating
objects on screen ? Can be intuitive and easy to
learn ? Users get immediate feedback ? Not
suitable for 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
6Design for Direct Manipulation
? Conceptual models, metaphors, icons gt there
may not be an intuitive model ? Navigation
around large space ? Conventions are growing
over the years gt scroll bars, buttons, help
systems, sliders gt good for users, good for
designers
7Menus
? 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
8Information Presentation
Information to be displayed
Presentation software
Display
9Information Presentation
? Text precise, unambiguous fast to compute
and transmit ? Graphics simple to
comprehend uses of color shows variations See
Sommerville Section 17.3
10Help System Design
Help system design is difficult! ? Must
prototype with mixed users ? Categories of
help gt Overview and general information gt
Specific or context information gt Tutorials
(general) gt Cook books and wizards gt
Emergency ("I am in trouble ...") ? Must have
many routes to same information Never blame the
user!
11System 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
12Web User Interface Basic
Web browser
? Static pages from server ? All interaction
requires communication with server
13Web User Interface CGI Script
User interface tables
CGI Scripts
Web browser
? Scripts can configure pages ? Scripts can
validate information ? All interaction requires
communication with server
14Web User Interface JavaScript
User interface tables
html
CGI Scripts
Java Script
Web browser
? JavaScripts can validate information as
typed ? Some interactions are local ? Server
interaction constrained by web protocols
15Web User Interface Applet
Any server
Applets
Web browser
? Any executable code can run on client ?
Client can connect to any server
16Device-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 gt Performance of device gt
Connectivity
17The Importance of Design
Good support for users is more than a cosmetic
flourish ? Elegant design, appropriate
functionality, responsive system gt a
measurable difference to their effectiveness ?
A system that is hard to use gt users may
fail to find important results, or
mis-interpret what they do find gt user may give
up in disgust A computer system is only as good
as the interface it provides to its users
18Reading
Before next class, read Sommerville Chapters 16,
pages 297 to 317