Match the User’s Model**

Related higher-

level patterns

Problem

General Overview

Justification

Doctor-Patient

analogy

Current system

examples

General properties

of successful

systems

Solution

Related lower-

level patterns

… all interactions between a computer and a user constitute the USER EXPERIENCE;  user interface STATIC ELEMENTS are used to give information to a user, and the user can input information via INTERACTION ELEMENTS.  This pattern describes some considerations as to the design and content of such elements.

* * *

Users create their own mental models of what is happening within a system.  The system should do its part to convey an appropriate and accurate model so that users can better understand and use the system.

When a user is interacting with a computer system, s/he forms ideas in his or her head regarding the state, design, and functionality of the system.  It is important that this mental model of the user matches the actual model of the system.  While some functionality or detail can be hidden from the user, the user must have a good idea of what is actually happening so that they can be efficient, execute tasks accurately, and recognize the possible ways of doing something.

Users who do not have sufficient knowledge of a system usually leave feeling “cheated,” frustrated, and empty handed.  It is the system’s responsibility to accurately portray its properties so that users do not have to search for explanation.  Consider, for example, a person having a procedure done during a doctor’s visit.  If the person will not be awake during the procedure, the details are described beforehand.  If the person is awake, however, the doctor will describe what is going on throughout the procedure, will assure the patient that everything is going well, and will explain why certain things are necessary.  The patient is not expected to know anything coming into the procedure, and the doctor and his staff are responsible for conveying the necessary and pertinent information.  This allows the patient to relax, be comfortable, and trust the doctor.  The patient leaves content and healthy.  Like a doctor, a system is responsible for conveying information to users.

One simple example of information being conveyed appropriately is the use of small movements that indicate that the user did something.  A button on a toolbar in standard Windows or Macintosh applications appears to depress when clicked, and a small sound is heard.  Information does not always have to be conveyed immediately, though.  L&H Voice Express uses tutorials to convey its internal model.  A user is urged to participate in the tutorials to learn the functionality available, as well as to learn how the voice recognition works so that the dictator can tailor his speech for the best comprehension by the computer.  Also, as part of the user’s model, the user understands when certain functions can be used.  Microsoft Word assists the user in creating this model by disabling some menu options that are not applicable at a certain time.  For example, if no text is selected, the “cut” command is disabled.  The user then knows that “cut” cannot be used unless something is selected, thus understanding the way the command works.

There is much information that can be passed to the user, and the interface must be designed with this in mind.  The above examples show various considerations when designing how to convey information to a user.  In general, systems that are successful at conveying this information adhere to the following:

§         The information presented is simple and necessary – the system does not overwhelm its users.

§         The information presented is easy to understand, requires little motivation to seek out, and has varying levels of detail for different levels of users.          

§         The information is presented at appropriate times only.

§         The system updates its presented information in real time so that the user can always know the current state of the computer.

Therefore:

Computer systems should have an interface that presents relevant and accurate information regarding the computer’s state, functionality, and recognition of user commands.  The interface should ensure that the user’s mental model matches the computer’s functional model.

                  

* * *

There are many ways to convey information depending on the needs and constraints of the current application.  Consider implementing a HELP SYSTEM to portray non-immediate information; users should feel as though their actions have consequences, so REAL TIME FEEDBACK is essential in a system; to ensure that users know what is possible and to minimize errors, employ DISABLED FUNCTIONS; use a GRAPHICAL REPRESENTATION of system organization so that it can be understood by users; for long-term states, use STATE INFORMATION to remind the user of the computer’s current state…

   

Lower-level pattern briefs:

HELP SYSTEM

Problem:  Users often run into problems while they are interacting with a program.  They either do not know how to recover from an error, or they do not know how to execute a certain task.

Solution:  Create a help system that is on-line and well integrated into the current application.  The help system can be pro-active or called upon for assistance.  It should be easily accessible and should allow the user to directly find answers to a specific question.

REAL TIME FEEDBACK

Problem:  Users base the success of their interactions on the immediate notification of effect.  Computers are especially problematic in this area because users expect them to work quicker than they often can.  As a result, users deem their actions as incorrect, or the system as failing, when they are not notified of any processing.

Solution:  A system should always provide immediate feedback so that the users feel their actions have effects.  This may be in the form of a status indicator when the computer does not allow further interaction, or simple acknowledgements of a user’s input.

DISABLED FUNCTIONS

Problem:  Users, especially novice users, often do not know what actions are acceptable at a given time in an interaction.  Thus, they tend to choose actions that have no effect or cause errors, resulting in frustration and lost productivity.

Solution:  A system should disable certain functions when they are inappropriate.  The user should know that the functions exist, but should be able to tell that they are not available at a given time.  The functions should become usable when the situation allows.

GRAPHICAL REPRESENTATION

Problem:  It is difficult for users to understand the internal organization of a system.  However, this information is often necessary to be most efficient and productive.  Without such information, data can be lost and the user left confused.

Solution:  Provide a graphical representation of the organization that is easy for users without intricate system knowledge to understand.  The representation should be clear to prevent errors and simple enough to understand without much exploration.

STATE INFORMATION

Problem:  In many situations, the computer enters a state that affects all actions until the state is exited.  However, users can forget or not notice that the computer is in such a state, creating problems when actions are performed.

Solution:  Provide information relating to the state the computer is in.  The information should be clear enough to recognize at a glance and to notice before an action is chosen, but should not be too distracting as it is always present.  A simple icon, color, light, or phrase is sufficient.