Notes to self.
Shneiderman’s Principles of Human-Computer Interface Design
Use the Eight Golden Rules of Interface Design:
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 locus 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