Title: Design Principles
1Design Principles
2Design Principles - Overview
- Apply at multiple levels of design
- Become obvious to user of poorly-designed Uis
- Are easy to ignore
- Are neither complete nor orthogonal
- Have underpinnings in psychology or experience or
common sense
3UI Design Principles
- Categories
- 1. Learnability
- Support for learning for users of all levels
- 2. Flexibility
- Support for multiple ways of doing tasks
- 3. Robustness
- Support for recovery
- Always think about exceptions, suitability
4Many Sets of Design Principles
- Shneiderman, Designing the User Interface
- Dix, Finlay, Abowd, Beale, Human-Computer
Interaction - Foley et al, Computer Graphics Principles and
Practice - And many more
51. Learnability Principles
- Ease with which new users can begin effective
interaction and achieve maximal performance - Predictability
- Synthesizability
- Familiarity Metaphor
- Generalizability
- Consistency
62. Flexibility Principles
- Multiplicity of ways that users and system
exchange information - Dialog Initiative
- Multithreading
- Task migratability
- Substitutivity
- Customizability
73. Robustness Principles
- Supporting user in determining successful
achievement and assessment of goals - Observability
- Do not set the user up (for a fall, ie, an error)
- Recoverability
- Responsiveness
- Task Conformance
8Good Design (our goal!)
- Every designer wants to build a high-quality
interactive system that is admired by colleagues,
celebrated by users, circulated widely, and
imitated frequently. (Shneiderman, 1992, p.7) - and anything goes!
9Why Principles Guidelines?
- Because, well, not everything goes
- Intended to prevent many bad designs before they
begin, or evaluate existing designs on a
scientific basis - Guidelines based on previous designs,
experimental findings - Rules can all be broken (but usually in order
to satisfy another principle)
10Concepts, Principles, Guidelines
- No cookbooks
- No simple, universal checklists
- There are many concepts, principles, and
guidelines - Understand the higher level principles that apply
across situations, display types, etc. - Implement the standards and guidelines
- a few details
11Levels of Consideration
- Meta-display level
- Apply to the whole system, across media across
displays - Focus on this in Basic Layout Stage
- Display Layout
- Apply to groups of elements in a display
- Focus on this in Prototyping and Redesign
- Element level
- Details about specific parts of a display
- Colors, sound attributes, symbols
12UI Design 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
131. Learnability Principles
- Ease with which new users can begin effective
interaction and achieve maximal performance - Predictability
- Synthesizability
- Familiarity
- Generalizability
- Consistency
141.1 Predictability
- I think that this action will do.
- Mental model can help
- Operation visibilityCan see avail actions
- e.g. menus vs. command shell
- grayed menu items
15Mental Models - Aid Predictability
- Mental models are not always right
- Two Classes
- Functional model
- Stimulus - response
- Press the accelerator once, then turn the key
- Structural model
- Deeper sense of why it happens, not just what
happens - Press the accelerator to engage the automatic
choke on a carburetor
16Another example - directions...
- Functional model
- Give turn-by-turn directions
- East on Ponce, turn left just after Harrys in a
Hurry, then go to the third set of lights
17Another example - directions...
- Structural model
- Provide higher-level understanding
- Using map, go to Virginia Highland
181.2 Synthesizability
- Support for user in assessing the effect of past
operations on current system state - Moving a file in UNIX shell vs. Mac/Windows
- Is same feedback needed for all users, all apps?
191.3 Familiarity
- Does UI task leverage existing real-world or
domain knowledge? - Really relevant to first impressions
- Use of metaphors
- Potential pitfalls
- Are there limitations on familiarity?
20Metaphors at the UI - What
- Metaphor - Application of name or descriptive
term to another object which is not literally
applicable - Use Natural transfer - apply existing knowledge
to new, abstract tasks - Problem May introduce incorrect mental model
- Macintosh -dragging CD to trash can to eject
21Metaphor Creation - Prepare
- Prepare
- What functions are needed
- What are users problems?
22Metaphor Creation - Generate
- Generate
- Use metaphor that matches users conceptual tasks
- Given choice, choose metaphor closest to way
system really works - Ensure emotional tone is appropriate to users
23Metaphor Creation - Evaluate
- Evaluate
- Ask users how they would do common tasks
- Learn what is confusing and what is helpful
- Evolve
- Mental Models
241.4 Generalizability
- Can knowledge of one system/UI be extended to
other similar ones? - Example cut paste in different applications
- Does knowledge of one aspect of a UI apply to
rest of the UI? - Aid UI Developers guidelines
251.5 Consistency
- Likeness in behavior between similar
tasks/operations/situations/terminology - Interaction sequences
- Quicken on Mac Option-P prints check, not
current document - Output
- Dialogue box always has a close button
- Screen layout
- Menu items always in same place - leverage
muscle memory - Is this always desirable for all systems, all
users?
26Consistency (contd)
- Avoid special cases and special rules
- Supports generalization by user, avoids
frustration - 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
27(In)Consistency Example
- For a graphics program that uses a CSO
(Currently-Selected Object) - Create a new primitive, it becomes the CSO
- Duplicate a primitive, the old primitive remains
as CSO
28(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
29FSMs can Reveal Inconsistencies
302. Flexibility Principles
- Multiplicity of ways that users and system
exchange information - Dialog Initiative
- Multithreading
- Task migratability
- Substitutivity
- Customizability
312.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
322.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
332.3 Task Migratability
- Ability to move performance of task to the entity
(user or system) that can do it better - Spell-checking, safety controls in plant
- For what kinds of tasks should the user be in
control?
342.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
352.4 Substitutivity
- Drafting page layout systems
- Indicate positions with cursor
- or
- By typing in coordinates
- Give temperature via slider or by typing
- Examples of spatial vs. linguistic specification
362.5 Customizability
- Ability of user to modify interface
- By user - adaptability
- Is this a good thing?
- By system - adaptivity
- Is this a good thing?
373. Robustness Principles
- Supporting user in determining successful
achievement and assessment of goals - Observability
- Recoverability
- Responsiveness
- Task Conformance
383.1 Observability
- Can user determine internal state of system from
what she perceives? - Browsability
- Explore current state (without changing it)
- Reduces memory load
- But dont overwhelm user with information either
- Reachability
- Navigate through observable states
- Persistence
- How long does observable state persist?
- Observability also aids learnability
393.1 Observability - Role of Feedback
- Feedback helps create observability
- Feedback taxonomy (generally dont 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, whats next?
403.1 Observability - Forest Trees
Represents overall drawing
Work area, showing part of a larger drawing
Represents portion of drawing seen in work area
Menus, feedback, etc.
Overall display area
413.1 Observability Acrobat Reader
- Acrobat Reader with ToC to give context
- Forest is the bookmarks, tree is the single page
423.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
433.1 Observability - feedback placement
- Where the eyes are
- Cursor shape
- In Newshole
- Thumbs down problem
- Buddha to encourage patience
- Audio output avoids this issue
443.1 Observability - Memory Load
- Use as a tool to decrease user memory load
- Also to avoid mis-steps
- Gray-out disabled menu items
- Indicate type of input (alpha, numbers) expected
453.2 Do Not Set the User Up
- Make it hard for the user to make errors
- Instead of allowing them to make error and then
saying tsk, tsk - Gray out disabled menu items
- Ask for confirmation of major actions
463.2 Do Not Set the User Up
- For command language applications, create
matching end token when begin token is typed - ( -gt ) lttitlegt -gt lt/titlegt
- begin -gt end
- repeat -gt until
- / -gt /
473.2 Do Not Set the User Up
- Dont let the user do something that will lead to
an error message
483.2 Recoverability
- Ability to take corrective action upon
recognizing error - Forward recovery
- Ability to fix when we cant 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
493.3 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
503.3 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
- Sometimes argued that too fast is not good
- Makes user feel like they need to do something
quickly to keep up with comptuer?
513.4 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
52Using the Principles
- In doing design and implementation of your
project, revisit this list - Assess your design against these usability
principles
53Good Design (reminder!)
- Every designer wants to build a high-quality
interactive system that is admired by colleagues,
celebrated by users, circulated widely, and
imitated frequently. (Shneiderman, 1992, p.7) - and anything goes!
54The Good
55The Good
56The Bad
57The Bad
58The Bad
59The Ugly
60The (really) Ugly
61But What Makes it Good?
- Functionality
- Speed efficiency
- Reliability, security, data integrity
- Standardization, consistency
- USABILITY !
62A Philosophy
- The human user of any system is the focus of the
design process. Planning and implementation is
done with the user in mind, and the system is
made to fit the user, not the other way around.
63Good Design Means
- Systems are built for humans must be designed
for the user - Recognize individual differences appreciate
design implications of these human factors - Recognize the design of things, procedures, etc.,
influences human behavior and well-being - Emphasize empirical data evaluation
- Rely on the scientific method
- Things, procedures, environments, and people do
not exist in isolation
64Good Design is NOT
- NOT just applying checklists and guidelines
- These can help, but UCD is a whole philosophy
- NOT using oneself as the model user
- Know your real users recognize variation in
humans - NOT just common sense
- Knowing how to design a fire alarm so it will be
heard over background noise is not something we
all know. - The HF specialist knows where or how to get the
information needed to answer design questions