
Execution starts with formation of goals. The user then forms an intention to carry out certain actions (high level actions) to achieve the goal. The user then decides the set of actual actions (low level actions) to be executed and finally performs them. The evaluation cycle consists of perceiving the state of the system after execution, interpreting the perception and then evaluating the interpretation against the expected results.
Two gulfs exist in this interaction framework, which are the source of the difficulties in an interaction. The first gulf is the Gulf of Execution. It is the difference between the actions that a user intends to take and the actual actions that the system allows the user to perform. Systems in which the intended user actions don't easily map into those allowed by the system, have a wide gulf of execution. The second gulf is the Gulf of Evaluation. It reflects the amount of effort that the person must exert to interpret the physical state of the system and how well the expectations and intentions have been met.
Humans map goals into intentions by using the conceptual model they have about a system. Users form a conceptual model of each device that they use. This is because people are explanatory creatures. They make theories and explanation about the things that they interact with. Conceptual models are often constructed from the actions that are made visible by the system and the perceived relations that exist between actions and the results that are produced. When the system makes the choice of actions that the user can take easily visible and when the relation between actions and results are clearly exposed, users form the correct conceptual model. Where these relations are fuzzy, humans tend to misinterpret things, and form incorrect conceptual models.Notice that humans use perceived relations between actions and results while forming the conceptual model. Perceived relations may not be exist in reality. People try to assign casual relation between two things that occur in succession. Something that happens right after an action appears to be caused by that action, even though in reality the two may be unrelated. Thus humans are prone false perception of relations between actions and events.
Once the users have formed their intentions to take particular actions, they need to decide the actual physical actions that need to be taken. While deciding these actions the users rely on their past knowledge, their memory and the clues that the appearance of the system provides. Naive users of system rely heavily on the clues provided by the system (knowledge in the world) while deciding the physical actions that they need to take. On the other hand expert users rely on their past knowledge of the system and decide the actions to be taken by recalling them from memory (knowledge in memory). However human knowledge and memory are imprecise and faulty, so even expert users require some kind of hints from the system, though not to the extent a naive user requires. Humans tend to transfer knowledge from the world to knowledge in memory, if they are exposed to the system more and more and as they become familiar with the system. However the system should lend itself to learnability for this transfer to occur smoothly.
Once users have actually performed the decided actions on the system, they look for feedback from the system. User get feedback by observing the system and noticing any changes that occur in the system, after they have taken the action.
In order to interpret the feedback that they obtain from the system, users once again turn to the conceptual model that they have about the system. Moreover depending upon the feedback that they get, users may change their conceptual model of the system.
Having interpreted the feedback, the users determine if their goals have been met. If the goals have been met then the users actions have been successful. If the goals are not met, users determine that an error occurred, and look for reasons for the error. If the users have a correct conceptual model of the system, they can easily determine what caused the error. However, if the conceptual model is not correct, humans may realize that the error was a result of this wrong mental model that they had about the system(i.e. they will diagnose the reason for the error correctly) and will try to correct the mental model. There is also a very strong chance though, that the user does not realize, that the mental model he has is incorrect in which case he will incorrectly diagnose the reason for the error. This is because humans tend to blame the wrong thing. This may lead to further misunderstanding.
Humans are also prone to error. If an error is possible someone will make it. There are two types of errors that can occur - mistakes and slips. A slip results if the user commits and error while performing the physical actions required to achieve a goal. They usually result from lapses on part of the user. On the other hand a mistake occurs if the user forms the wrong goal or translates the goals into the wrong set of intentions. A mistake usually occurs because the user has the wrong conceptual model of the system. A mistake is more severe than a slip.
Norman considers these human interaction characteristics to define principles of good design.
From the above discussion of human behavior it is clear that people extensively use conceptual models of devices that they are interacting with. Thus a good design should enable a user to create the right conceptual model of the system. The conceptual model formed by a user depends upon what parts the system makes visible to the user and the mappings that exist between the visible parts of the system and the actions that those parts support.
Thus visibility becomes an important design principle. The correct parts must be visible, and they must convey the correct message. Which parts are made visible, depends upon the actions that are available to the user. The design should provide visibility to all the set of possible actions. There should be one control for each action that the user can take. When the number of possible actions exceeds the number of controls, the system is apt to be difficult to use. However, too much visibility is harmful since it makes the system look complicated to use. Thus only the necessary parts should be made visible.
Secondly, there should be a natural mapping between the parts that are made visible and the actions that they support. A design suffers if proper and natural mappings don't exist. Natural mapping on the other hand, leads to immediate understanding. Natural mappings are said to exist between a part and certain actions if the affordances and constraints of the part lend themselves to that action. Affordance refers to the perceived and actual properties of the thing, primarily those fundamental properties that determine just how the thing could possibly be used. Affordance provide strong clues to the operation of things. Constraints limit the type of actions that can be performed with a part. Thus each visible part should afford the action that it is meant to support and should provide strong logical constraints to limit the action that can be performed. Apart from affordances and constraints of parts the physical layout of the parts is also important. Related controls should be placed together and opposite controls should be placed away from each other. Controls should be placed that there is a mapping between them and what they control.
The previous section also pointed out that humans rely on external cues
and internal memory to decide the right actions to take. Thus the system
should be designed to provide knowledge in the world, as a reminder, to
let users perform tasks without relying on memory. It should also be easy
to transfer knowledge from the world to memory. This helps users to easily
gain expertise in using the system (Recall from the previous section that
actions can be performed quickly when knowledge from memory is used as
against knowledge from the world). The design aids in a smooth transfer
of knowledge from the world to memory by making sure that users don't have
to remember arbitrary things. Instead the design should exploit memory
through explanation by providing the user a means to create a good
mental model of the system.
Feedback is another important design consideration. Feedback means sending back to the user information about what action has actually been done and what results have been accomplished. The system should provide meaningful feedback to the user. Feedback should be provided in a form that is easy to understand and interpret.
A system should be designed to accommodate errors. The designer must assume that all possible errors will occur and design the system so as to minimize the chance of the error in the first place or its effects once it occurs. While slips are inevitable, the system should minimize the chances of a mistake. This can be done by making sure that the users have the right conceptual model of the system. Another means to minimize chances of a mistake is to make it hard for users to commit one. Forcing functions can be introduced to prevent errors from occurring. Forcing functions provide strong constraints on the system. There are three types of forcing functions that may be used viz.,
The system should also be designed so that errors are easy to detect. Feedback should be provided to detect errors. The system should allow the users to reverse the results of an error or to recover the state of the system. The design of the system should be such that it does not make people look stupid for committing an error.
Another general design principle is to keep it simple. The designer should reduce the complexity of the system. This is especially true of modern devices, in which the use of technology results in additions of a large number of feature, making the devices very complex. Thus the designer should avoid creeping featurism.