Cognitive psychology derived a number of principles regarding how humans process
information. These principles, though quite general, give good advice for making software
easier to use.
In the following, we present some applications of the principles listed above. As you
will see, these general principles are very useful heuristics.
Principle |
Application |
Working memory span is 7 ± 2 |
Do not ask users to remember more than 5 to 7 items.
Example: Do not ask users to remember long lists of items or commands.
Extension: Do not ask users to remember anything that the system already knows. |
Limited human processing capacity |
If users have to struggle with their software, there is no capacity left
for their task.
Example: Do not include animated GIF images in a Web page, as these images distract
users.
Example: Do not require users to remember anything while engaged in another
challenging task. |
Automation of tasks |
You can expect "automatic" execution only for tasks that are
repeated over and over.
Example: Do not expect casual users to become proficient with your software.
Instead, make it simple to use! |
Recognition vs. remembering |
Provide choices in the form of menus or lists instead of requiring the
users to key in a choice.
Example: Provide help on input values (F4 help in R/3).
Extension: Functions on pushbuttons in the R/3 application toolbar are easier to
find than functions that are located somewhere in the menu tree only, because users need
not remember their position in the menu tree. |
Elaboration of information |
Superficial engagement in a software will not lead to an understanding of
its working. Therefore motivate users to use your software!
Extension: Do not frustrate users. Frustrated users will no longer be engaged in
your application and its requirements. |
Organization of information |
Try to organize information, functions, and screen elements in sensible
units.
Example: Order lists alphabetically, by date, or any other scheme that makes sense
in the application context.
Example: Cluster fields into sensible groups. |
Constant context for learning and recall |
Create a stable working environment for your users.
Example: Reserve a permanent area for navigation buttons. |
Remembering of text and pictures |
Try to use pictures, or pictures with text, where possible.
Example: Present regions of a country as a map. |
Recognizing pictures |
Familiar icons may provide clues to the functioning of your software,
even for casual users.
Example: Use familiar navigation buttons. |
Number of alternatives |
Try to limit the number of alternatives for menu choices, function
selections, and so on.
Example: Instead of letting users scan the menu tree, provide pushbuttons with the
relevant functions. |
Mental models |
Help users to create simple, effective mental models of your application.
Provide clues that lead to such models in an intuitive way.
Example: Provide clues about the structure of your application or about the
sequence of steps in a procedure.
Example: Provide clues about how users should navigate in your application. |
Metaphors |
If the task at hand is suited, use real world metaphors to organize your
software.
Example: You can use a room metaphor for your Web application: Each room
corresponds to a certain type of processing. Organize the rooms and the transitions
between them in a way that makes sense to users.
Example: You can use a book metaphor for a Website that provides information. |