User-Centered Design
User-Centered Design
User-Centered Design
What is design? In computer science courses we deal with software design.
We assume that all the work has already been done to determine what the
software is being built for. We are given a programming problem and our job
is to solve it efficiently and, if possible, elegantly.
In real life, the problem to be solved has often not been determined before
the programmers start in on the work. The programmers then actually do all
the design of functionality, interface, etc. as well as the software design. We
do not really have the expertise to do all this design and the products often
suffer.
The resulting software is often unusable and is never used. Or, even worse, it
is unusable and its use is required. This may be the case because the
software performs some tasks that are useful to management. The users only
see the headaches caused by the software, and not the benefits that
management gleans.
2
Old Days-
•Code from specifications, documents, aimed at on-time, on-budget.
•Often difficult to derive what the system will end up looking like.
•Software people often run over user objections with technical babble.
• Implementers do not want to implement difficult stuff when they see no reason
for it.
•The user interface is tacked on at the end.
Programmers made decisions based on how they would like the system to
work. Disagreements on design were often decided by the person with the
most power, loudest voice, etc.
3
Now (user centered design)-
•Same desire for on-time, on-budget but User Interface is basic part of design.
•The prototype process lets the users see what the system will be like.
•Testing may show the implementers the necessity of making changes.
•The prototype is used to communicate with users.
The basis of the user-centered approach (aka contextual design) is the use
of user data to inform design decisions. Having users try out a facet of the
design can yield real information for the designers to use.
4
What does Design represent in User-Centered Design Cycle?
Understand who the users are:
•background
•expertise
•limitations,
•experience levels
•etc.
6
User-centered design principles:
User is in Control
•User feels in control of software, not controlled by the software.
•User initiates actions
•User can personalize software (to some extent).
•Avoid "modal" operation where a command has different meaning in some
circumstances than others. If modes are used, make them very visible.
Directness:
•User can directly manipulate the items of interest.
•Results of manipulation must be visible.
•Familiar metaphors can be helpful. Metaphors may or may not be useful.
•Don't overdo correspondence to the metaphor. "Purpose of a metaphor is to
provide a cognitive bridge; the metaphor is not an end in itself" - Windows
Interface Guidelines
7
Consistency:
•Try to avoid modal operation (or at least make mode visible). Modes -> Same
command has different meaning.
•Allows user to transfer existing knowledge to new tasks (e.g. click-and-drag).
•Consistent command names, visual presentation of information, operational
behavior.
•Consistency within your products.
•Consistent use of metaphors.
•Consistency is the primary focus of most interface guidelines publications by
software manufacturers. (MS, Apple, etc.).
8
Forgiveness:
•Allow only appropriate choices (restrict through drop-down menus, sliders,
etc.).
•Have a recovery method (UNDO?).
•Delay commitment of changes until user explicitly does it. Even then, keep
backup files.
•Make it reasonably easy to recover from errors.
•Disable buttons and menu choices that do not apply to the present situation.
Leave them on the interface, though. (Leaving them lets the user know that an
action is possible, but not at this time.)
Feedback:
•Show that the user's action causes some effect.
•Should be timely and visible.
•Sound can be excellent feedback.
9
Aesthetics (Visual Design):
•Need someone with expertise.
•Important impressions are made visually in a GUI.
•Don't put too much on the screen. There should be a reason for everything
visible on the screen. A graphics of visual designer may be very helpful.
Software people usually do not have the expertise.
Simplicity:
•Interface should be simple but not simplistic.
•It is easy to make simple things hard but difficult to make hard things easy.
•"Things should be made as simple as possible but no simpler." - Einstein
•Unfortunately, software systems are often judged by the number of features
incorporated into the product. Software reviewers check off various features
in comparative reviews. Advertising also compares software by feature lists.
Having more features is not necessarily the sign of a better piece of software.
More features make the software more complex to learn and use.
A favorite quote:
“I have only made this letter longer because I have not the time to make it shorter.”—
Blaise Pascal
10
Managing the design process (Schneiderman)
Major points
•First, be sure that there are users for your system. (Over the years, many
systems have been designed and built but not used. Many of these were for
hundreds of millions of dollars.)
•Many projects fail. (A commonly seen figure is that 46% of software projects
end up in failure.)
•Main difference between today's design process and that of the past is
usability testing.
•Paying attention to the user actually pays off in the market place.
3 Pillars of design
•Guidelines documents
•User Interface Software tools (e.g., C# drag-and-drop)
•Expert reviews and usability testing
11
Guidelines documents
•Think about look and feel from the beginning.
•Use published guidelines such as the ones from Apple and Microsoft. Others
exist, too.
•Have your own specific guidelines
•General guidelines - icons, wording, layout, I/O/o devices, action sequences,
training.
12
Design Aids
Ethnographic Observation - Observe people in workplace. (Akin to cultural
anthropology, but the purpose in not understanding the culture, but
understanding the work and workplace to aid in design of software.)
•An "ethnographer participates, overtly or covertly, in people's daily lives for
an extended period of time, watching what happens, listening to what is said,
asking questions" (Hammersley and Atkinson, 1983)
•Purpose is to find out what work is really done, how the work is done, and
how to improve it.
•Often it is only possible to do this for a few days. Still must try to find the
important elements of the work.
•Observers must try not to influence people on the job while observing.
•Interviews do not get as much true information as observation. Asking people
what they do often does not yield very complete descriptions.
13
(Page 108, Shneiderman, 3rd. Ed.)
Preparation
• Understand organization policies and work culture.
• Familiarize yourself with the system and its history.
• Set initial goals and prepare questions.
• Gain access and permission to observe or interview.
14
Field Study
•Establish rapport with managers and users.
•Observe or interview users in their workplace, and collect subjective, objective,
quantitative, and qualitative data.
•Follow any leads that emerge from the visits.
•Record your visits.
Analysis
• Compile the collected data in numerical, textual, and multimedia databases.
• Quantify data and compile statistics.
• Reduce and interpret the data.
• Refine the goals and the process used.
Reporting
• Consider multiple audiences and goals.
• Prepare a report and present the findings.
These notions seem obvious when stated but they require interpretation and
attention in each situation.
15
Participatory Design - Have users as part of the design team (Controversial)
•Advantage
o More accurate task information
o Sense of participation
o Increased user participation
o Earlier discovery of design flaws
o Public relations (designed by actual users)
•Disadvantage
o Costly
o Lengthen development time
o Antagonize users whose ideas are not implemented
o Force designers to deal with incompetent(?) people
16
Jakob Nielsen - Users are good at evaluating prototypes. They are
probably not good at design. Have a pool of users available for
ongoing questions and prototype evaluation.
17
Scenario Development.
When testing a prototype it is necessary to have a "scenario". The
scenario is the story given to the user of what they will be doing
with the system. It might be simply to order lunch at a fast food
place. Or, pizza at a pizza place.
18
Design for specific users
•Pick a set of real people and design for them.
•People are from the potential user population
•Differ in various meaningful ways from each other (age, gender,
computer experience, ... ).
Personas
•Several fictional, composite users
•give them names
•task characteristics
•background information
•sometimes, provides pictures of them to the design team.
The design team then thinks in terms of these users when questions
arise. This is an interesting idea and is now more commonly used than
in the past. The task characteristics (what they do in their jobs) are
determined from ethnographic studies.
19
Dialog flow and task flow
20
Task Flow
21