CS160 Discussion Section Final review David Sun May 8, 2007

advertisement
CS160 Discussion Section
Final review
David Sun
May 8, 2007
Design Patterns
 Pattern Style (presented in class)
1.
2.
3.
4.
5.
Pattern Title
Context
Forces
Problem Statement
Solution
•
Solution Sketch
6. Other Patterns to Consider
 Tips:
1. Know the pattern format
2. We are not fussy on terminology but make sure
the description covers the major conceptual
components.
Exercise: Design Pattern for…
• Pick an object and come up with a
design pattern in 15 minutes, eg.
– Bike
– Coffee mug
– Desk lamp
Object Action Model
• An interaction/cognitive model for how
users interact a system.
• Elements:
– Task: the universe of objects the user
works with and the actions they apply to
those objects.
– Interface: metaphoric representations of
objects and actions.
OAI Example: the Calculator
TASK
Actions
(intention)
Add two numbers
Pick 2 numbers
Perform addition
operation
Objects
(universe)
Operations
Addition op
Reals
First number
Second number
Object Action Model
Interface
Actions
(plan)
Objects
(metaphor)
Operate the calculator
Calculator
Write out an equation
Press 1
Press +
Press 2
Press =
Buttons
Display
Infovis
•
Information tasks
–
–
–
–
•
Specific fact finding
Extended fact finding
Open-ended browsing
Exploration of availability
Info search 4-phase pattern
1.
2.
3.
4.
Formulation
Action
Review of results
Refinement
Infovis
•
Tasks for a visualization system
1.
2.
3.
4.
5.
6.
Overview: Get an overview of the collection
Zoom: Zoom in on items of interest
Filter: Remove uninteresting items
Details on demand: Select items and get details
Relate: View relationships between items
History: Keep a history of actions for undo,
replay, refinement
7. Extract: Make subcollections
Infovis
• Some key concepts
– Query building: visual builders and QBE
– Multidimensional scaling
– Focus + context
• Distortion
• Fish-eye lenses
• Overview + details
– Network visualization
– Animation
– 3D
User Testing
Evaluation Methodologies
• Expert analysis
– Cognitive Walkthrough
– Heuristic evaluation
– Model-based evaluation (GOMS)
• User participation
– Lab studies
– Field studies
Ethical Considerations
• Sometimes tests can be distressing
– users have left in tear (embarrassed by
mistakes)
• You have a responsibility to alleviate
– make voluntary with informed consent
– avoid pressure to participate
– let them know they can stop at any time
[Gomoll]
– stress that you are testing the system, not
them
– make collected data as anonymous as
possible
• Often must get human subjects approval
Measuring User Preference
• How much users like or dislike the system
– can ask them to rate on a scale of 1 to 10
– or have them choose among statements
• “best UI I’ve ever…”, “better than average”…
– hard to be sure what data will mean
• novelty of UI, feelings, not realistic setting,
etc.
• If many give you low ratings -> trouble
• Can get some useful data by asking
– what they liked, disliked, where they had
trouble, best part, worst part, etc. (redundant
questions)
Comparing Two Alternatives
• Between groups experiment
– two groups of test users
– each group uses only 1 of the systems
• Within groups experiment
– one group of test users
• each person uses both systems
• can’t use the same tasks or order (learning)
– best for low-level interaction techniques
A
• Between groups will require many more
participants than a within groups
experiment
• See if differences are statistically significant
– assumes normal distribution & same std. dev.
B
Experimental Details
• Order of tasks
– choose one simple order (simple -> complex)
• unless doing within groups experiment
• Training
– depends on how real system will be used
• What if someone doesn’t finish
– assign very large time & large # of errors
• Pilot study
– helps you fix problems with the study
– do 2, first with colleagues, then with real users
Errors and Help
Types of errors
• Mistakes
– User intended to do what they did, and it led to
an error. User would probably do the same thing
again.
• Slips
– User did not mean to do what they did. They can
recover by doing it differently again.
– Slips are not just for beginners. Experts often
make them because they devote less conscious
attention to the task.
Minimizing Error
• User errors:
– Use Intuitive (from the users domain of
knowledge) command names.
– Include short explanations as “tool tips”.
– Put longer explanations in help system.
• Recognition over recall
– Easier to select a file icon from a folder than to
remember and type in the filename.
– Auto-completion can help fix this.
• Use appropriate representations
– E.g. graphical file selector good for choosing
individual files
Types of errors
• Mistakes
– User intended to do what they did, and it led to
an error. User would probably do the same thing
again.
• Slips
– User did not mean to do what they did. They can
recover by doing it differently again.
– Slips are not just for beginners. Experts often
make them because they devote less conscious
attention to the task.
Description errors
• Description error:
– The action is insufficiently specified by the user.
– User may not know all the command line
switches, or all the installation options for a
program.
• Solution:
– Warn the user that the command is ambiguous, or
“unusual”. Provide help about options in several
standard ways.
Capture error
• Capture error: (aka the tongue twister error)
– Command sequences overlap, and one is
more common.
– User reflexively does the common one
when trying to do the unusual one.
– E.g. try typing “soliton” very fast.
• Solution
– be aware of and test for this error. Try different
command names.
Mode errors
• Mode errors:
– User forgets what mode they’re in, and does the
command appropriate for another mode.
– Digital watches, VCRs etc.
• Several attributes:
– There aren’t enough command keys for all the
operations – so the mode determines what each
button does.
– There isn’t enough display space to provide
strong feedback about the mode.
Mode errors
• Solutions:
– Strive for consistent behavior of buttons across
modes.
– Provide display feedback about behavior of keys
in the current mode.
– Provide an option for scrolling help tips if
possible.
– Allow the device to be programmed externally
(e.g. from a PC with Bluetooth).
– If you don’t have a tiny screen, then make the context
clear!
• i.e. use color, tabs, navigation graphics etc. to make clear to
the user “where” they are in the interface.
Detecting Errors
• The earlier the better:
– Check for consistency whenever possible
(“asserts” for user input).
– If there’s a high risk of error, check for
unusual input, or for common slips (spelling
correction).
• E.g. google’s “did you mean XX?” response
Help
• Types of help :
–
–
–
–
Task specific
Quick reference
Full explanation
Tutorial
• Key concepts:
– Sandboxing
– Context-sensitive help
– Adaptive help
Download