Here are some key usability principles that seem important for your project based on the information provided:
- Learnability: Since this is a class project, learnability principles like predictability, familiarity, and consistency are important to help users quickly understand how to use the system. The design should leverage existing concepts and have consistent behaviors.
- Flexibility: Allowing for multiple ways of completing tasks and customization supports different user needs and preferences. Incorporating options like alternative dialog flows and customization can improve flexibility.
- Robustness: Principles like recoverability, error prevention, and responsiveness are important to ensure the system is robust. The design should minimize potential for errors, support undo/redo, handle exceptions
3. Project: now what?
Decision time! Choose 1 design, and design it!
Create horizontal, low fidelity prototypes and
descriptions of entire system
Create higher fidelity, interactive prototype of at least
part of the system
Create evaluation plan (which you will execute in part
3)
Due April 3:
– Write up summarizing design alternatives, then detailing
entire design and evaluation plan
– Interactive prototype demoed to me & TA
4. Design Principles, Guidelines,
Heuristics
Guidelines, practices to help designers
No “cookbooks”, no universal checklists
Are neither complete nor orthogonal
– Can all be “broken”, often to satisfy another rule
Have underpinnings in psychology or experience or
common sense
Understand the higher level principles that apply
across situations, display types, etc.
Implement the standards and guidelines
5. We’ve already discussed lots
Norman’s principles:
– Affordances, mapping, visibility, feedback,
constraints, conceptual model
Visual design:
– Form follows function, alignment, proximity,
contrast, etc.
Web design:
– Less text, pyramid arrangement, info “above the
fold”, legible links, etc.
6. Usability Principles
Categories
– Learnability
Support for learning for users of all levels
– Flexibility
Support for multiple ways of doing tasks
– Robustness
Support for recovery
Always think about exceptions, suitability
Also good for prioritizing usability evaluations
7. 1. Learnability Principles
Ease with which new users can begin
effective interaction and achieve maximal
performance
– Predictability
– Synthesizability
– Familiarity Metaphor
– Generalizability
– Consistency
10. 1.3 Familiarity
Does UI task leverage existing real-
world or domain knowledge?
– Really relevant to first impressions
– Use of metaphors
Potential pitfalls
11. 1.4 Generalizability
Can knowledge of one system/UI be
extended to other similar ones?
– Example: cut & paste in different applications
– Aid: UI Developers guidelines
12. 1.5 Consistency
Likeness in behavior between similar
tasks/operations/situations/terminology
– Dialogue boxes always have yes/no/cancel buttons
– Saving dialogues always have Save/Cancel buttons
Avoid special cases and special rules
For command line systems - consistent syntax
– Find consistency between commands, unify them - as in
Unix pipes for file I/O and for process inter-communications
13. (In)Consistency Example -
Macintosh
Drag a file icon to:
Folder on same
physical disk
Folder on another
physical disk
Different disk
Trash can
Result:
File is moved to folder
File is copied there
File is copied there
File is discarded
14. 2. Flexibility Principles
Multiplicity of ways that users and system
exchange information
– Dialog Initiative
– Multithreading
– Task migratability
– Substitutivity
– Customizability
15. 2.1 Dialog Initiative
Not hampering the user by placing
constraints on how dialog is done
– User pre-emptive
User initiates actions
More flexible, generally more desirable
– System pre-emptive
System does all prompts, user responds
Sometimes necessary
16. 2.2 Multithreading
Allowing user to perform more than one task
at a time
Two types
– Concurrent
Input goes to multiple tasks simultaneously
– Interleaved
Many tasks, but input goes to one at a time
17. 2.3 Task Migratability
Ability to move performance of task to the
entity (user or system) that can do it better
– Spell-checking, flight controls
– For what kinds of tasks should the user be in
control?
18. 2.4 Substitutivity
Equivalent values can be substituted for
each other
– Point at spreadsheet cell vs enter name
– Give temperature via slider or by typing
19. 2.4 Substitutivity
Flexibility in details of operations
– Allow user to choose suitable interaction methods
– Allow different ways to
perform actions, specify data, configure
– Allow different ways of presenting output
to suit task & user
20. 2.5 Customizability
Ability of user to modify interface
– By user - adaptability
Is this a good thing?
– By system - adaptivity
Is this a good thing?
21. 3. Robustness Principles
Supporting user in determining successful
achievement and assessment of goals
– Observability
– Error Prevention
– Recoverability
– Responsiveness
– Task Conformance
22. 3.1 Observability
Can user determine internal state of system from
what he/she perceives?
– Browsability
Explore current state (without changing it)
Reduces memory load
But don’t overwhelm user with information either
– Reachability
Navigate through observable states
– Persistence
How long does observable state persist?
– Observability also aids learnability
23.
24. 3.1 Observability - Role of
Feedback
Feedback helps create observability
Feedback taxonomy (generally don’t need all of these)
– “I understand what you have asked me to do”
– “I am doing what you have asked me to do”
“And it will take me this much longer”
Song and dance routine to distract user (busy interval as
opposed to idle interval)
“And here are some intermediate results to keep you happy until
I am done
– “All done, what’s next?”
25. 3.1 Observability – Forest + Trees
Acrobat Reader
with ToC to
give context
Forest is the
bookmarks,
tree is the
single page
26. 3.1 Observability - Scroll Bar
Scroll bar size indicates
% in view - but does not
indicate absolute sizes.
Can add other info, such
as
– Page 5 of 12
27. Operation visibility
Can see avail actions
– Menus vs. command shell
– Grayed menu items provide context
28. Visibility Minimizes User Memory
Load
Recognition is better than recall
Make visible!
Describe required input format, include
example and default
Date: _ _ - _ _ - _ _ (DD-MM-YY)
Also avoids errors
29. 3.2 Error Prevention
Make it hard for the user to make an error
Don’t let the user do something that will lead
to an error message
30. 3.3 Recoverability
Ability to take corrective action upon recognizing
error
– Forward recovery
Ability to fix when we can’t undo
– Backward recovery
Undo previous error(s)
– Abort operation underway
Only makes sense if is a slow operation
Encourages experimentation (hence learnability) by
reducing cost of making mistakes
32. 3.4 Responsiveness
Users perception of rate of communication with
system (not always right)
Response time
– Time for system to respond in some way to user action(s)
Response OK if matches user expectations
Once user enjoys fast response, is hard to go back
to slower response
– Dial-up versus DSL or Cable Modem
33. 3.4 Responsiveness
Response to motor actions
– Keyboarding, mouse movement - less than 100
msec.
– Rich Human Factors literature on this
Consistency is important - experimental result
– Users preferred longer but more consistent response
time
– Times that differed 10% to 20% were seen as same
35. 3.5 Task Conformance
Does system support all tasks user wishes to
perform in expected ways?
– Task completeness
Can system do all tasks of interest?
– Task adequacy
Can user understand how to do tasks?
– Does it allow user to define new tasks?
Extensibility
36. More Usability heuristics (Nielsen
2001)
Visibility of system status
Match between system and the real world
User control and freedom
Consistency and standards
Help users recognize, diagnose and recover from errors
Error prevention
Recognition rather than recall
Flexibility and efficiency of use
Aesthetic and minimalist design
Help and documentation
37. Universal design principles
equitable use
flexibility in use
simple and intuitive to use
perceptible information
tolerance for error
low physical effort
size and space for approach and use
http://www.design.ncsu.edu/cud/univ_design/princ_overview.htm
38. User experience goals
– Satisfying
– Fun
– Entertaining
– Enjoyable
– Helpful
– Motivating
– Aesthetically
pleasing
– Motivating
– Rewarding
– Emotionally fulfilling
– Support creativity
– …and more
39. Example
Most important usability principles for
– Bus stop kiosk
– Instant messenger
– Flight control
40. Styleguides
Codify many of these principles for a
particular look and feel
– Mac OS, Windows, Motif, Palm, Blackberry
Developed in concert with toolkit, but go
beyond toolkit
41. Excerpt from OS X Styleguide
Drag and Drop Overview
Ideally, users should be able to drag any content from any window to any other window that accepts the content’s type. If the source and destination
are not visible at the same time, the user can create a clipping by dragging data to a Finder window; the clipping can then be dragged into another
application window at another time.
Drag and drop should be considered an ease-of-use technique. Except in cases where drag and drop is so intrinsic to an application that no suitable
alternative methods exist—dragging icons in the Finder, for example—there should always be another method for accomplishing a drag-and-drop
task.
The basic steps of the drag-and-drop interaction model parallel a copy-and-paste sequence in which you select an item, choose Copy from the Edit
menu, specify a destination, and then choose Paste. However, drag and drop is a distinct technique in itself and does not use the Clipboard. Users
can take advantage of both the Clipboard and drag and drop without side effects from each other.
A drag-and-drop operation should provide immediate feedback at the significant points: when the data is selected, during the drag, when an
appropriate destination is reached, and when the data is dropped. The data that is pasted should be target-specific. For example, if a user drags an
Address Book entry to the “To” text field in Mail, only the email address is pasted, not all of the person’s address information.
You should implement Undo for any drag-and-drop operation you enable in your application. If you implement a drag-and-drop operation that is not
undoable, display a confirmation dialog before implementing the drop. A confirmation dialog appears, for example, when the user attempts to drop
an icon into a write-only drop box on a shared volume, because the user does not have privileges to open the drop box and undo the action.
(Color added for emphasis.)
42. Your project
Which principles or guidelines are most
important for your project?
What does that principle mean for your
design?
How might you measure success?