Wednesday, July 14, 2010

Collection of HCI Principles


Shneiderman - 8 golden rules
1. Strive for consistency
  • Consistent sequences of actions should be required in similar situations
  • Identical terminology should be used in prompts, menus, and help screens
  • Consistent color, layout, capitalization, fonts, and so on should be employed throughout.
2. Enable frequent users to use shortcuts
  • To increase the pace of interaction use abbreviations, special keys, hidden commands, and macros
3. Offer informative feedback
  • For every user action, the system should respond in some way (in web design, this can be accomplished by DHTML - for example, a button will make a clicking sound or change color when clicked to show the user something has happened)
4. Design dialogs to yield closure
  • Sequences of actions should be organized into groups with a beginning, middle, and end. The informative feedback at the completion of a group of actions shows the user their activity has completed successfully
5. Offer error prevention and simple error handling
  • Design the form so that users cannot make a serious error; for example, prefer menu selection to form fill-in and do not allow alphabetic characters in numeric entry fields
  • If users make an error, instructions should be written to detect the error and offer simple, constructive, and specific instructions for recovery
  • Segment long forms and send sections separately so that the user is not penalized by having to fill the form in again - but make sure you inform the user that multiple sections are coming up
6. Permit easy reversal of actions
7.Support internal focus of control
  • Experienced users want to be in charge. Surprising system actions, tedious sequences of data entries, inability or difficulty in obtaining necessary information, and inability to produce the action desired all build anxiety and dissatisfaction
8. Reduce short-term memory load
  • A famous study suggests that humans can store only 7 (plus or minus 2) pieces of information in their short term memory. You can reduce short term memory load by designing screens where options are clearly visible, or using pull-down menus and icons

Don Norman - 7 principles
1. Use both knowledge in the world and knowledge in the head
2. Simplify the structure of tasks
3. Make things visible
4. Get the mappings right
5. Exploit the power of constraints
6. Design for error
7. When all else fails, standardize

Johnson (GUI Bloopers) - 9 principles
1. Focus on the users and their tasks, not on the technology
2. Consider function first, presentation later
3. Conform to the users’ view of the task
4. Design for the common case
5. Don’t distract users from their goals
6. Facilitate learning
7. Deliver information, not just data
8. Design for responsiveness
9. Try it out on users, and then fix it!

Fitt’s Law
1. The time to move to the target
2. The movement distance from the starting position to the target center
3. Target width

Mandel - 3 golden rules
1. Place Users in Control
  • Use modes judiciously (modeless)
  • Allow users to use either the keyboard or mouse (flexible)
  • Allow users to change focus (interruptible)
  • Display descriptive messages and text(Helpful)
  • Provide immediate and reversible actions, and feedback (forgiving)
  • Provide meaningful paths and exits (navigable)
  • Accommodate users with different skill levels (accessible)
  • Make the user interface transparent (facilitative)
  • Allow users to customize the interface (preferences)
  • Allow users to directly manipulate interface objects (interactive)
2. Reduce Users’ Memory Load
  • Relieve short-term memory (remember)
  • Rely on recognition, not recall (recognition)
  • Provide visual cues (inform)
  • Provide defaults, undo, and redo (forgiving)
  • Provide interface shortcuts (frequency)
  • Promote an object-action syntax (intuitive)
  • Use real-world metaphors (transfer)
  • User progressive disclosure (context)
  • Promote visual clarity (organize)
3.    Make the Interface Consistent
  • Sustain the context of users’ tasks (continuity)
  • Maintain consistency within and across products (experience)
  • Keep interaction results the same (expectations)
  • Provide aesthetic appeal and integrity (attitude)
  • Encourage exploration (predictable)