Designing User Interfaces
Download
Report
Transcript Designing User Interfaces
Designing User Interfaces
Chapter 6
Squeak: Object-Oriented
Design with Multimedia
Applications
Two Challenges of UI
How do you create user interface software
that you can maintain well, that is truly objectoriented, and that is easy to change pieces
without impacting everything?
How do you create user interfaces that
people can actually use?
The latter is much harder and is what we
focus on here
Briefly! No substitute for a real HCI class
7/17/2015
Copyright 2000, Mark Guzdial
2
Story
Know thy users for they are not you
Choosing between UI alternatives
Understanding the User and the Task
Matching Users to Interface Techniques:
Avoiding User Error
Example: Critiquing our Clock Interface
A UI Design Process
Evaluating User Interfaces
Before user involvement
Evaluating with users and with groups
7/17/2015
Copyright 2000, Mark Guzdial
3
Know Thy Users for They are Not
You
Most important thing to learn: You are almost never the
user!
The user may not be anything like you
Making an interface that works for you may not work at all for
your users
Most users are not programmers
Most users have expertise, but not in computers
You probably don’t have their expertise!
They may think about things very different than you!
Particular important when deciding between options
7/17/2015
Copyright 2000, Mark Guzdial
4
How do you decide between
interface alternatives?
ClockMorph
Ch5 ClockUI
7/17/2015
Copyright 2000, Mark Guzdial
5
What are our options?
Ask the users?
They may have no idea—the task may never have
been computerized before.
Pick the one you like?
See two slides back...
Use a UI Design Process!
Understand the user
Understand the task
Evaluate your UI options
7/17/2015
Copyright 2000, Mark Guzdial
6
Understanding the User
What are their skills and limitations?
What do they know how to do?
What don’t they know how to do?
Some important questions:
How old is the typical user?
What language is familiar to users about the
task?
What does the user want to do?
7/17/2015
Copyright 2000, Mark Guzdial
7
Example Important Questions
How old is the typical user?
Video games don’t rely on manuals for a reason
Aging of America vs. font size
What language is familiar to users about the task?
Some software attempts to teach physics using the word
“gravity” before defining “gravity”
Order of operations, e.g., data preparation
What does the user want to do?
What does the user already know?
“Stuffy noses” is an important symptom to a parent
“psuedophedrine hydrochloride” may be how a doctor wants to
look up a remedy
7/17/2015
Copyright 2000, Mark Guzdial
8
Understanding the Task
Experts often can’t tell you what they do or how they do
it
It’s part of expertise: Knowledge gets “compiled”
Investigate the context
When do you perform your task?
What do you need to perform your job?
Examples
Airport traffic controllers can use windows easier than software
Lawyers use boilerplate with sophisticated indexing
How often do you perform your task?
Common, rare, only upon emergency
7/17/2015
Copyright 2000, Mark Guzdial
9
User Interface Techniques
Lots of options in user interfaces
Buttons for selecting and toggling
Checkboxes and radio buttons
Text areas
Direct manipulation: Drag-and-drop, drag-and-resize
Menu selections
Dialog boxes (modal) with buttons and fields
Natural language
Command languages like UNIX shell
7/17/2015
Copyright 2000, Mark Guzdial
10
Interactions between Techniques
and User/Task Characteristics
Not all techniques work well with all users
Command languages are lousy for novices and infrequent users
Icons and menus work better for them
Expert users love command languages, and are very efficient with them
Not all techniques work well for all tasks—but there is some
dependency on users, too.
Direct manipulation is how most users want to draw simple figures—not
command languages
But some users use command languages for complex figures (e.g.,
MetaPost, POV-Ray)
Users who generate fairly simple graphics (e.g., graphs) frequently
want command languages to automate task
7/17/2015
Copyright 2000, Mark Guzdial
11
Interactions are not
always obvious!
In laboratory tests, shortcut keys are always
slower than mousing!
Fitts Law governs how fast you can click on an object
When mouse stops at the top of the screen, menus at the
top became easier to hit (larger, in some sense)
Time delay between mousing and keyboard is swamped by time
required to remember the keystroke
However, those are laboratory tests
Real experts know the keystrokes without remembering, but
hard to find a control group for testing.
7/17/2015
Copyright 2000, Mark Guzdial
12
Choosing Between UI
Alternatives
Computers are good at remembering, people are not
Make knowledge visible!
Put the knowledge needed by the user in the world
Avoid modes
If you have to use modes, make them visible (unlike vi!)
Do what people expect—follow applicable guidelines
and physical counterparts
Put the OK and Cancel buttons where expected
Goal: Avoid User Error—but Design Expecting
Errors!
7/17/2015
Copyright 2000, Mark Guzdial
13
Example: Consider our
Clock Interface
We are reasonable models of users here:
We all use clocks
Tasks with clocks (most frequent to least
frequent)
Look at the time
Look at the date (optional)
For an alarm clock, set the alarm time
Set the time (after a power outage, or
before/after Daylight Savings Time)
7/17/2015
Copyright 2000, Mark Guzdial
14
Evaluating the Clock
Interface for Tasks
We can see the
time (1/2 of display)
Date and alarm
irrelevant here
But 1/2 of display
(busiest part, the
part that attracts
our eye) is for the
least commonCopyright
task2000, Mark Guzdial
7/17/2015
15
Evaluating the Clock Interface based
on Rules of Thumb
“Make knowledge visible”
How do you know when you clicked the button?
How do you know if you successfully changed the
time?
“Avoid user error”
How easy is it to accidentally change the time?
And that’s half the display?
Suggestion: The Clock Interface is optimized for
error!
7/17/2015
Copyright 2000, Mark Guzdial
16
Brainstorm: Your Favorite
Clock Designs
What are your favorite interface designs
for supporting the clock tasks?
Tasks: Reading the time, setting the time
Consider the different tasks of different
contexts
Your watch
Your clock’s computer
Kitchen watch and timer
7/17/2015
Copyright 2000, Mark Guzdial
17
UI Design Process:
Waterfall Method
Requirements specification
Know the users and their tasks
Architectural design
How should the UI provide the necessary functions
Detailed design
Refine to details that a programmer can code
Coding and unit testing
Build and test components as develop
7/17/2015
Copyright 2000, Mark Guzdial
18
UI Design Process:
Waterfall Method (Part 2)
Integration and testing
Integrate the low-level components and test
them
Operation and maintenance
Actually use the system and maintain it over
time
7/17/2015
Copyright 2000, Mark Guzdial
19
Problem with Waterfall
Method
Users don’t know what they want
If they’ve never had a widget like this, they
don’t know how they’ll use it
Worse, technology is a variable!
Adding technology changes tasks and even
users
Original user and task analysis may no
longer be valid once the technology is in
place
7/17/2015
Copyright 2000, Mark Guzdial
20
Example: How Technology
Gets Incorporated
A Small Matter of Programming by Bonnie Nardi
(ethnographer, anthropologist)
She studied how spreadsheets are used in real offices
There are hierarchies of spreadsheet users
Some just fill in others’ spreadsheets
Others define spreadsheets for others
Still others define the macros that spreadsheet-definers use
Finally, there are a few people who build low-level tools for the
macro-builders
7/17/2015
Copyright 2000, Mark Guzdial
21
Example: How Technology
Gets Incorporated (Part 2)
The Spreadsheet roles naturally develop and
are stable (they don’t go away after a few
weeks/months)
Smart companies build on these observations
Reward people who play the spreadsheet and macro
building roles
If you want technology adopted, plant a farmer in the
department to grow the roles
How would you design the interface to support
the way that the users really use the software?
7/17/2015
Copyright 2000, Mark Guzdial
22
Alternative UI Design Process:
Iterative Design and Prototype
Requirements gathering
Again, study the users and their tasks
Develop measurable usability goals
Users will be able to do X in time Y
Build a prototype
Plan on throwing one away!
Evaluate the prototype
Test with real users against goals
Iterate until goals are met
7/17/2015
Copyright 2000, Mark Guzdial
23
Evaluation of User
Interfaces
Now, you’ve got a user interface design
You considered the users and the tasks
You carefully matched UI techniques to users and
tasks
You think that this’ll work
How do you know if you got it right?
Do you go to the trouble of coding it first?
Is there anything you can do before hand?
And once it is coded, how do you test it?
7/17/2015
Copyright 2000, Mark Guzdial
24
Evaluating Before User
Involvement
Heuristic evaluation
Carefully analyzing a user interface in terms of a set of standard
questions or issues
E.g., “Is the necessary knowledge always visible?”
Guidelines review
Using a standard for UI guidelines (e.g., Apple, IBM, etc.)
determine if meets guidelines
E.g., “Is the Cancel button always in the right place?”
Cognitive walkthrough
Will the system make sense to the user?
7/17/2015
Copyright 2000, Mark Guzdial
25
Sample Useful Heuristics
Can the user figure out their current state?
Is everything that the user needs to know
about visible on the screen?
Is the language on the screen in the
language of the user (not the
programmer)?
Is help available?
Are error messages useful?
7/17/2015
Copyright 2000, Mark Guzdial
26
Cognitive Walkthrough
Start out with a description of the system, the user, the
users’ goals, and a process description for a useful task
Walk the process description asking at each
step:
Does this make sense for this user? Will they understand it?
Will the user be able to figure out what to do next?
Will the users be able to understand the feedback that they get?
If something goes wrong, can they tell? Can they figure out
how to fix it?
7/17/2015
Copyright 2000, Mark Guzdial
27
Example: Netscape 2
Whether this interface works is dependent
on user and task
7/17/2015
Copyright 2000, Mark Guzdial
28
Considering Users and
Tasks
Intermediate user: “I want to find something on
alligators”
Net Search button is evident
Advanced user: “I want to get to http://www.slashdot.org”
Address field where you can type in an address
New Location menu item in File menu
Beginner (8 year old in Kitchen): “I want today’s
weather”
What would he click on?
7/17/2015
Copyright 2000, Mark Guzdial
29
“Will users understand
feedback?”
What happens if I type “weather” in the
address field?
7/17/2015
Copyright 2000, Mark Guzdial
30
The Point is not to Pick on
Netscape
Purposefully older version of Netscape
Hopefully, newer versions are better
Heuristic evaluation can point out problems, just
by thinking it through and trying it
It’s very hard to come up with a single interface
that works for a variety of users and tasks!
Consider Microsoft Word!
7/17/2015
Copyright 2000, Mark Guzdial
31
Evaluating with Users
In the end, you can never really be sure that
your interface works until you face the users
It’s always better (less expensive!) to identify
and correct errors earlier rather than later, so
pre-user methods are useful
But real users have ways of interpreting things,
doing things, and breaking things that you might
never expect.
“Know they users for they are not you!”
Examples: Stories from technical support
7/17/2015
Copyright 2000, Mark Guzdial
32
Deciding How to Evaluate
with Users
What do you want to learn?
Goal: Can someone use my software?
Can observe a small number of users
Goal: Is my software better than X
(X=competitor’s software, doing it by hand)?
You need enough users to conduct a real experiment
You need an experiment and control group
Have them perform some standard set of tasks and
measure time, accuracy, number of errors, etc.
7/17/2015
Copyright 2000, Mark Guzdial
33
Techniques for User
Evaluation
Yogi Berra: “You can see a lot just by watching!”
Observation can buy you a lot
But is usually not enough: “Why are you doing that
same error-generating thing over-and-over?!?”
Think-alouds
Get the users to say out loud what they’re seeing,
what they’re doing, and why they’re doing it while
they’re doing it
7/17/2015
Copyright 2000, Mark Guzdial
34
Right attitude in user
evaluation helps alot!
Don’t treat it as just a test
Nobody wants to feel like they’re being
tested
Treat the user as someone helping you
make the software better—which they are!
Makes the user feel better
Also encourages more exploration, more
freedom to critique, and more openness
“The problem isn’t me, it’s the software!”
7/17/2015
Copyright 2000, Mark Guzdial
35
What if you can’t observe?
Why wouldn’t you be able to observe?
Natural use is probably not in a laboratory setting
Your software may only work with lots of people using
Alternative: Questionnaire
Phrase the questions to get at what you want—and
what you don’t know yet
Ask them what you should change and what you
should leave alone
7/17/2015
Copyright 2000, Mark Guzdial
36
Designing questionnaires
Multiple choice and scalar questions (“on
a scale of 1 to 5 where…”) are easier to
analyze
Ask the same thing in multiple ways
Determine inconsistencies that may identify
confusion
May find that there are subtleties you were
missing earlier
Ask for volunteers for follow-up interviews
7/17/2015
Copyright 2000, Mark Guzdial
37
Evaluating Groupware
With the Web growth, more-and-more software
designed for use in groups
Consider an auction site as an example
But that’s especially hard to evaluate!
Hard to reach the users
Different users have different roles: Buyers, sellers,
brokers, admins
Often, goals more than just usability
Social agenda as well as usability agenda
Do you want broad representation?
7/17/2015
Copyright 2000, Mark Guzdial
38
Log-file analysis for
evaluating groupware
If you can’t observe, get the software to
do it for you!
Record all the users’ actions in a file (with
permission!)
Analyze after the fact
What errors occurred often?
What were the common activities?
Challenge: But what were they trying to
do?!?
7/17/2015
Copyright 2000, Mark Guzdial
39
Summary
Know thy users for they are not you!
Knowing the user and task is first goal
But note that technology can change that!
Match UI to user and task!
UI Design process: Waterfall and iterative
UI Evaluation
Before users, with users, with groups
7/17/2015
Copyright 2000, Mark Guzdial
40