§6.2 -- Principles of good design Flashcards
Which questions do we need to ask to distinguish good design from bad design?
- ease of determining function of the interface
- ease of determining possible actions
- how easily can users map intent to physical movements that need to be performed
- ease of performing the allowed actions themselves
- ability to infer the state of the system
Relevance of usability to good design
- Usability = how well users can learn/use product to achieve their goals + how satisfied they are with that process
sources of dissatisfaction: - Engineering usability - wrong physical design/technology/unreliable
- human user aspects – does not look good, frustrating
List of issues related to good design
- visibility
- feedback
- constraints
- consistency
- affordances
Visibility+example
- should be easy to determine possible actions and the functionality provided by the interface
e. g. lift buttons where need to scan card but hard to see card slot
consequences for inferring state of system (I press the button but nothing happens – am I doing something wrong or is the lift broken?)
Ways of making an action more visible
- make actions more obvious
- auditory messages (language?)
- big labels/lights
- make what has to be done obvious.
- avoid invisible automated controls (~ ease of performing the allowed actions themselves – wearing black if a tap control sensor does not respond to black clothing)
Feedback
– interface should send info back to user about what has been done (~ inferring state of the system, whether my action was successful or not)
via
- sound, highlighting, animation on button clicks
Constraints
restrict the possible actions that can be performed
~ ease of determining possible actions
~ decision burden/working memory/hicks law/fewer choices -> less decision time
- helps prevent user from selecting incorrect options
- physical design can impose constraints (E.g. only one way you can insert a key into a lock)
- avoid logically ambiguous designs (plugging mouse, ambiguous colour coded icons -> make more explicit e.g. place right next to connectors)
Consistency of an interface+why
interfaces should be designed to have similar operations for similar tasks
~~ 3. how easily can users map intent to physical movements that need to be performed
~ reduce probability of errors
e.g, keystroke begins with first letter of name of operation
~~ consistent interfaces are easier to learn + may be quicker to use if less need for recall / working memory /
Problems with maintaining consistency
- too many commands – e.g. keystrokes beginning with first letter
- have to choose other combinations of keys, breaking consistency rule
- increased learning burden on user => more prone to errors
Internal vs external consistency
IC – similar operations perform similar tasks within an application (test of system vs actual use – shouldn’t appear the same)
~~ difficult for complex interfaces (Hawaii)
EC – designing operations, interaces to be same across applications, devices (e.g. both mac and windows require double clicking on a folder to open it rather than just select it).
external inconsistency – different layout of keyboards on phones
Affordances
~ is an attribute of an object that allows people to know how to use it
~ e.g. mouse button invites pushing, door handle invites pulling
~ scrollbars to afford moving up/down,
~ icons to afford clicking
~ interfaces provide virtual affordances/perceived affordances
~ provides a mapping between action and the physical movements needed to perform the action
~ (ease of determining possible actions + mapping intent to physical movements)
List of Shneiderman’s 8 golden rules
- consistency
- universal usability
- informative feedback
- dialogs with closure
- preventing errors
- reversibility of actions
- user in control
- reduction of short term memory load
List of issues related to Golden Rule 1: Consistency
(terms, icons, data / command flow)
Strive for consistency in the way the system looks and works in terms of:
- terminology – e.g. identical words/terms for prompts, menus and help screens
- aesthetics – consistent colour codes, layout/font across different windows
- symbols – consistent use of icons, graphics
- response to inputs – system must respond to inputs in the same way every time
why does this help each of the key questions regarding good interfaces?
Golden Rule 2: Universal Usability
(novices → intermittent users → experts)
Allow frequent users to develop a clear idea of how the system works, and let them work faster
e.g.
- provide toolbars, keyboard shortcuts
- put the shortcut next to the menu entry for the command
.: novice uses menus
but menu allows them to easily learn the shortcuts
Golden Rule 3: Informative Feedback
every user action should result in some feedback from the system
- less prominent feedback for very frequently performed actions (e.g. button clicks)
- major actions require lots of response (e.g. installation of a new program – dialog box)
Golden Rule 4: Dialogues with Closure
(beginning → end)
- design interactions such that they have a clear beginning, middle and end
- for every user action there should be user feedback
~ allow inference of state of system
~ allows better learning of the task
Golden Rule 5: Error Prevention
(highlight required actions, selection rather than freestyle typing, automatic completion, well-defined messages)
(recognition rather than a recall task)
- Try to design the system such that the users cannot make a serious error
If they do make an error
2. the system must be able to detect it
&
3. offer easy-to-understand instructions for recovery
Golden Rule 6: Reversal of Actions
(undo)
- mistakes are inevitable (probability)
- undo command removes anxiety + allows faster mapping from intent to movements
- units of reversibility – individual actions, logs, history viewers
Golden Rule 7: Support the feeling that the user is always in control
(automated adaptability can cause confusion)
1. the user must feel in control of the system at all times
(users should (feel as though…) be initiating actions rather than responding to them)
2. ensure user has control at every point in the execution of an application
Examples
1. ability to delete a print job
2. stop an attempt to connect to a web site even after hitting enter
3. kill a process using a mechanism external to the process
– excess automation may result in the feeling that the user is not in control
Explain issues re allocating tasks to humans and automation
automate tedious routine tasks (e.g. updating OS)
decision making / creativity (e.g. setting passwords + allowing new software to be installed – human)
irritation when a program installs lots of software on your behalf without first obviously seeking consent e.g. hidden check box with lots of extra small print
Golden rule 8: Reduce Memory Load
(keep displays simple, recognition rather than recall + chunking)
average humans can remember seven chunks of information, and too much information is
Achieve this by:
- keeping displays simple
- reduce the length of sequences of actions necessary to complete a task
- that commonly used operations are visible on the first screen.
List of characteristics of good interfaces
- easy to learn .: less training
- easy to remember .: quicker to use / less frustrating
- ability to infer state / predictable / user feels in control
- geared towards reducing errors
- easy to recover from errors .: that will aid learning via exploration
- efficient – the product should make the users perform the original task more efficiently
- engaging otherwise users not motivated to perform the task