9 Usability

Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

Computing

and Information Science

Software Engineering
Usability and User Interfaces
The Importance of the User Experience

A computer system is only as good as the experience it provides to its


users
If a system is hard to use:
users may fail to find important results, or mis-interpret what they
do find
users may give up in disgust
Appropriate functionality, easy navigation, elegant design, and fast
response times make a measurable difference to a systems
effectiveness
Usability is more than user interface design.
Good support for users is more than a cosmetic flourish
Developing good user interfaces needs skill and time.
Terminology

User experience (UX)


The user experience is the total of all the factors that contribute to the
usability (or otherwise) of a computer and its systems.
Human computer interaction (HCI)
Human computer interaction is the academic discipline that studies
how people interact with computers.
At Cornell, the Information Science and Communication departments
offer a series of courses in Human Computer Interaction and have
major research programs in this area.
Development Processes for User Interfaces

It is almost impossible to specify an interacAve or graphical interface


in a textual document
Requirement benet from sketches, comparison with exisTng
systems, etc.
Designs should include graphical elements and benet from a mock-
up or other form of prototype.
User interfaces must be tested with users. Expect to change the
requirements and design as the result of tesTng.
Schedules should include user tesTng and Ame to make changes.
Whatever process you use to develop a soVware system, the
development of the user interface is always iteraTve.
The Analyze/Design/Build/Evaluate Loop

Analyze
requirements Design

User tes'ng Build


Evaluate
Tools for Usability Requirements and EvaluaTon

IniTal Mock-up Prototype ProducTon

Client's opinions

CompeTTve analysis

Expert opinion

Focus groups

Observing users

Measurements
Tools for Usability Requirements: Mock-up
Tools for Usability Requirements: Focus Group

A focus group is a group interview


Interviewer
PotenTal users
Typically 5 to 12
Similar characterisTcs (e.g., same viewpoint)
Structured set of quesTons
May show mock-ups
Group discussions
Repeated with contrasTng user groups
Accessibility Requirements

Accessibility
SoVware designers must be prepared to users with with disabiliTes
(e.g., poor eyesight, lack of hearing, poor manual dexterity), or limited
knowledge of English, etc.
Requirements about accessibility are most likely to arise in the user
interface.
You may have a legal requirement to support people with disabiliTes.



Equipment Requirements

There may also be requirements to support computers with poor


performance, limited screen sizes, bad network connecTons, etc.
Be explicit about the equipment assumpTons that you make and
how to handle failures. Do user tesTng with both good and bad
equipment.
Example
MacMail has a requirement that operaTons terminate cleanly if
the network connecTon is lost, but its behavior is erraTc if the
network connecTon becomes extremely slow, e.g., it will not
quit.
Design from a System Viewpoint

The user experience is more than user interface design.

user interface

mental interface funcTons


model data and metadata
computer systems and networks
Mental Model

A mental model is what a user thinks is true about a system, not necessarily
what is actually true.
A mental model should be similar in structure to the system that is
represented.
A mental model allows a user to predict the results of his/her acTons.
A mental model is simpler than the represented system. It includes only
enough informaTon to allow reasonable predicTons.
A mental model is also called a conceptual model.
Mental Models

The mental model is the user's model of what the system provides.
The computer model may be quite different from the users mental
model.
Example: the desktop metaphor
Files and folders on a desk top
Example: web search
mental model one vast collection of pages, which are searched on
request
computer model a central index, which is searched on request
Mental Models v. Computer Model

The mental model is that the photograph is but in the computer model the photograph is an
embedded in the text of the document independent file, which could be changed separately.

Based on an example by Joel Spolsky


User Interface Design

user interface

mental interface funcTons


model data and metadata
computer systems and networks

The user interface is the appearance on the screen and the actual
manipulation by the user
Fonts, colors, logos, key board controls, menus, buttons
Mouse control, touch screen, or keyboard control
Conventions (e.g., "back", "help")
User Interface Design

Example: to leave full screen


Keyboard: escape key, control-F
Mouse/touch:

Examples of design choices


Screen space utilization in Adobe Reader.
Number of snippets per page in web search.
Interface FuncTons

user interface

mental interface funcTons


model data and metadata
computer systems and networks

The interface funcAons determine the acTons that are available to the user:
Select part of an object
Search a list or sort the results
View help informaTon
Manipulate objects on a screen
Pan or zoom
Interface FuncTons

There may be alternaTve user interface designs for the same interface funcAons,
for example:
Dierent versions of the MS Windows desktop have most of the same
interface funcTons, but dierent user interface designs.
ApplicaTons that run on both Windows and Macintosh computers support a
one bubon mouse (Macintosh) or a two bubon mouse (Windows).
Data and Metadata

user interface

mental interface funcTons


model data and metadata
computer systems and networks

The interface funcTons and the interface design provide an interface to


the data and metadata stored by the computer system.
The desktop metaphor has the concept of associaTng a le with an
applicaTon. This requires a le type to be stored with each le:
-> extension to lename (e.g., .txt, .pdf)
Inexperienced clients someTmes ask for interface features that require
addiTonal data or metadata.
Example: Game Program - Undo Move
Computer Systems and Networks

user interface

mental interface funcTons


model data and metadata
computer systems and networks

The performance, reliability and predictability of computer systems and


networks are crucial factors.
Computer Systems and Networks

Examples
Instantaneous response time is essential for mouse tracking.
Response time for transactions may determine the action taken, e.g.,
approve credit card if no reply within five seconds.
Response time requirements
0.1 sec the user feels that the system is reacting instantaneously
1 sec the user will notice the delay, but his/her flow of thought stays
uninterrupted
10 sec the limit for keeping the user's attention focused on the dialogue
As computer systems improve, users have got more demanding. A response
time that is good enough today, may not be good enough five years from now.
Principles of User Interface Design

User interface design is partly an art, but there are general principles
Consistency -- in appearance, controls, and funcTon.
Feedback -- what is the computer system doing? Why does the user
see certain results?
Users should be able to interrupt or reverse acTons.
Error handling should be simple and easy to comprehend.
Skilled users should be oered shortcuts; beginners should have
simple, well-dened opTons.
The user should feel in control
Interface Design: Menus

Easy for users to learn and use


Certain categories of error are avoided
Enables context-sensiTve help
Major diculty is structure of large number of 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
Help System Design

Help system design is dicult


Must prototype with mixed users
Must have many routes to same informaTon
Categories of help:
=> Overview and general informaTon
=> Specic or context informaTon
=> Tutorials (general)
=> Cook books and wizards
=> Emergency ("I am in trouble ...")
Help systems need experienced designers. Schedule plenty of Tme for
development and user tesTng.
InformaTon PresentaTon

Simple is oPen beQer than fancy


Text
precise, unambiguous
fast to compute and transmit
Graphical interface
simple to comprehend / learn,
but icons can be dicult to recognize
uses of color
variaTons show dierent cases
SeparaTon of Content from PresentaTon

Adobe Reader

PresentaTon
PDF soVware

Display
InformaTon to be
displayed

html
PresentaTon
soVware
Display
Browser
Command Line Interfaces

Problems with graphical interfaces


Not suitable for some complex interactions
May be slow for skilled users
Difficult to build scripts
Only suitable for human users
Command line interfaces
User interacts with computer by typing commands (e.g., Linux shell script)
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

You might also like