|
Usability
refers to the interaction between the user of the computer system and
the system itself. Very often this interaction is through a graphical
user interface (GUI). There are several points to bear in mind when
designing a user interface (from our textbook):
- Always test with real users
- Base UI designs on use cases
- Ensure that sequence of actions to complete a task are as simple
as possible
- Ensure that the user knows what he or she should do next and what
will happen
- Give good feedback, especially error messages
- Ensure that the user can either get out, go back or undo an action
- Ensure that response time is adequate
- Use understandable labels
- Ensure that UI is neat and uncluttered
- Consider different groups of users
- Provide necessary help
- Be consistent
Principles (www.sylvantech.com/~talin/projects/ui_design.html):
- The principle of user profiling - know who your user is
- The principle of metaphor - borrow behaviors from systems familiar
to you
- The principle of feature exposure - let the user clearly see what
features are available
- The principle of coherence - the behavior of the program should be
internally and externally consistent
- The principle of state visualization - changes in behavior should
be reflected in the appearance of the program
- The principle of shortcuts - provide both concrete and abstract
ways of getting a task done
- The principle of focus - some aspects of the UI attract more attention
than others
- The principle of grammar - a user interface is a language - know what
the rules are
- The principle of help - understand the different kinds of help
a user needs
- The principle of safety - let the user develop confidence by providing
a safety net
- The principle of context - limit user activity to one well-defined
context unless there's a good reason not to
- The principle of aesthetics - create a program of beauty
- The principle of user testing - recruit help in spotting the inevitable
defects in your design
- The principle of humility - listen to what ordinary people have to
say
Usability heuristics (www.useit.com/papers/heuristic/heuristic_list.html):
- Visibility of system status
- Match between system and the real world
- User control and freedom
- Consistency and standards
- Error prevention
- Recognition rather than recall
- Flexibility and efficiency of use
- Aesthetic and minimalist design
- Help users recognize, diagnose and recover from errors
- Help and documentation
First principles of user interface design (www.asktog.com/basics/firstPrinciples.html):
- Anticipation - user's want and needs
- Autonomy - give the user some breathing space - use status mechanisms
- keep status information up to date and in easy view
- Color blindness - use secondary cues when color is used
- Consistency - levels - differences - user expectations - defaults
- Efficiency of the user - user's productivity, not the computer's -
keep user occupied - maximize everyone's efficiency - breakthroughs
in architecture, not UI - tight help messages - keywords first
- Explorable interfaces - well-marked roads and landmarks - stable perceptual
cues - make actions reversible - always allow undo - always allow a
way out, but make it easy to stay in
- Fitt's law - time to acquire a target is a function of distance to
and size of a target
- Human interface objects - seen, heard, touched - standard interaction
and behavior - understandable, self-consistent and stable
- Latency reduction - reduce user's experience of delay - make it faster
- Learnability - limit trade-offs
- Use of metaphors - let users grasp the conceptual model - appeal to
user's senses
- Protect user's work - ensure no loss of work due to user error
- Readability - good contrast for text - font sizes large enough
- Track state - where user is, etc. - transaction service session control
- Visible navigation - avoid invisible navigation
|