Part E - Interaction

Interaction Models

Describe the Conceptualization of the Design Space

"Software design is the act of determining the user's experience with a piece of software. It has nothing to do with how the code works inside, or how big or small the code is. The designer's task is to specify completely and unambiguously the user's whole experience.... The most important thing to design properly is the user's conceptual model. Everything else should be subordinated to making that model clear, obvious, and substantial. That is almost exactly the opposite of how most software is designed." David E Liddle (1996)

Terminology | Norman's Model | Interaction Framework
Example | Broader Discussions | Exercises

Interaction models help us understand the communication between the user and the system.  Before we propose a design solution, we must articulate the problem.  In order to understand the problem, we introduce a conceptual model of how the user perceives and understands the system with which they interact.  We frame the design solution in terms of this model.  The model help us identify the problem space:

  • what the problem is with the current interface
  • what the users find difficult
  • what functionality the users want
  • whether all users have the same requirements
  • whether users are willing to put time into understanding the problem

Our interaction model outlines what users can do with the system, presents the concepts necessary to interact with the system, and presents the metaphors and analogies used to convey an understanding of the system.  The model is also a shared vision amongst all designers. 

In this chapter, we introduce the terms used in modeling interaction.  We describe Norman's model and an elaboration on that model.  We conclude with a description of frameworks for interaction models. 

Model Terminology

The terms used in modeling interactions between users and computers includes the following:

  • goals - user-specified objectives
  • domain - the area of expertise and knowledge in regard to some worldly activity - consists of concepts
  • tasks - operations on the concepts of the domain
  • intentions - specific actions required to meet the goal
  • task analysis - identification of the problem space in terms of goals, domain, intentions and tasks
  • core language - language that describes the computational attributes of the domain relevant to the system state
  • task language - language that describes the psychological attributes of the domain relevant to the user state

Since the core and task languages differ in relevance, we expect misunderstandings to arise. 

Norman's Model

Norman proposed a simple model of interaction to explain why users have problems with interfaces.  In his model, interaction consists of seven stages all of which are performed by the user:

  • execution
    • establish the goal
    • form the intention
    • specify the action sequence
    • execute the action
  • evaluation
    • perceive the system state
    • interpret the system state
    • evaluate the system state with respect to the goals and intentions

Norman classifies the problems that arise in his model in terms of two distinct gulfs:

  1. the gulf of execution - difference between the user's formulation of an action and the action allowed by the system
  2. the gulf of evaluation - difference between the physical representation and the expectations of the user

For Norman, the purpose of an interface is to reduce the gulf of execution. 

The gulf of evaluation measures the effectiveness of the interaction.  The more effort required to interpret the presentation, the less effective is the interaction.

Norman's Model

Interaction Framework

Norman's model does not consider the system's role in the communication.  To remedy this, Abowd and Beale (1991) extended Norman's work by proposing the interaction framework.  We use the interaction framework to judge the usability of the interface. 

The interaction framework consists of 4 components

  • user
  • input
  • system
  • output

Interaction Framework - Components

The framework introduces languages for input and output in addition to the core and task languages.  By concentrating on the language translations, the interaction framework allows us to determine if the concepts are being communicated correctly.

Interaction Steps

The interaction framework identifies four steps in the interaction cycle:

  1. the user formulates the goal and a task to achieve that goal
  2. the interface translates the input language into the core language
  3. the system transforms itself into a new state
  4. the system renders the new state in the output language and sends it to the user


The four translations involved in the interaction framework are

  1. articulation - the user articulates the task in the input language
  2. performance - the interface translates the input language into stimuli for the system
  3. presentation - the system presents the results in the output language
  4. observation - the user translates the output language into personal understanding

Interaction Framework - Translations


Articulation is the user's translation of their task into the input language.  Consider a user who wants to turn on the lights at the far end of a room. 

Poor Articulation

The user sees a bank of unlabelled switches.  The user has no idea which switch controls the lights at the far end of the room. 

The problem here is that the langauge provided (the unlabelled switches) does not allow the user to articulate the goal (turn on the lights at the far end of the room).

Good Articulation

The switches are clearly labelled.  The user articulates their task of pressing the switch that is labelled "the far end of the room".

The language provided here (the labelled switches) allows the user to articulate their task without difficulty.


Performance is the interface's translation of the input language into stimuli to the system.  This translation is determined by the designer or programmer (not the user). 

Poor Performance

Consider a remote control for a television without a button for turning off the television.  The user must go directly to the device and turn it off on the control panel. 


Presentation is the translation of the system's new state into the output language of the interface.  This translation is determined by the designer or programmer. 

Poor Presentation

Consider writing an essay using a word processor.  You need to see the effects of your editing as a whole.  However, the word processor only displays the immediate paragraph without the surrounding text or other pages.  The surrounding text and other pages may have changed as well during the editing.  In effect, all of the state changes cannot be displayed in the output language.  You cannot readily confirm the effect of your editing throughout the essay. 


Observation is the translation of the output language into personal understanding.  This translation is done by the user. 


Consider some deficiencies that might arise in configuring a game:

  • Articulatory Problem - the user is not sure which options to set in order to configure the game properly
  • Performance Problem - the controller does not have the ability to select the option
  • Presentation Problem - the display does not show that the option has been set
  • Observational Problem - the user does not interpret the display correctly

Anyone of these deficiencies would give rise to an interaction problem. 

Broader Discussions

Interaction frameworks provide a basis for discussions related to interaction, such as:

  • Ergonomics
  • Dialog Design
  • Screen Design

Interaction Framework - Social and Organizational Context