CS789, Spring 2007

Lecture notes, Week 2

Models of Tasks and Users


Why do we use models?

Two approaches to validating models

  1. verify model components against accepted truth and against experiments.
  2. put the model in the system and compare results to actual results

Come in two varieties

  1. too abstract
  2. too concrete

How do you find the correct balance?

Task Models

What is a task?

Interfaces generally support collections of tasks. What are the tasks supported by a bank machine?

What is a task model?

This can be done along several different dimensions

Task models usually try to simplify the task a user is trying to do in one way or another. Two ways are common.

  1. Conceptual models - different task descriptions based on different levels of abstraction, (compare to levels of knowledge last lecture)
  2. Componential models - break tasks in separate actions, all on the same level of abstraction. Tasks can normally be broken in two ways.

Conceptual models

Characteristics Try to capture the way it's necessary to act in order to get the task done.

Example - GOMS. An acronym, of course.


Componential models

Characteristics. At a low level - usually, the operational level - identify behavioural atoms that have to be chained together to get the job done.

Example - Keystroke model.


Task models generally assume a user with fixed skills, capable of finding an optimal course of action from among a variety of alternatives. There is an important subject -- cost-benefit analysis -- which defines ways of selecting optimal courses of action. This discipline tries to formalize the process. Looking at it shows

Cost-benefit trade-offs

First the basic idea, then the conceptual background, then the measurement problems

The basic idea


Cost-benefit is a calculus: a method of substituting quantitative calculation for intuition in judging alternatives.

  1. More than one method to do something; which is best? routing a highway, answering a letter, correcting spelling
  2. Find the costs, subtract the benefits and minimize
  3. Humans are good at finding an optimal solution when searching over continuous functions, how much peanut butter to put in a sandwich,
  4. but not good at,
    1. optimizing across discrete alternatives, choosing the flavour of an ice cream cone,
    2. optimizing when extreme probabilities are involved, like buying insurance or lottery tickets,
    3. optimizing when it's necessary to consider many dimensions at once,

An interesting generalization of the "interface problem"

Let's think about different scales of analysis.

  1. How does your perceptual/motor learning select receptor/muscle interactions?
  2. How do you select the combination of features to accomplish a task?
  3. How do you select which program to use?
  4. How does the designer select features for a program?
  5. How does a company select what type of program to manufacture?
  6. How does an industry decide what type of technology to develop?
Can you see any common patterns that occur at different scales?

Cost Measurement

To optimize users gather data. Where users can't optimize designers gather data on behalf of users.


  1. It is essental that costs and benefits be computed quantitatively. Why?
  2. Aggregation requires a single unit of measurement into which all costs and benefits can be translated:

Why is measurement difficult?

  1. Externalities: effects that apply to other uses, other users, other usages. Examples
    1. learning
      • for doing the same operation in the future
      • for doing other operations: can be positive or negative (interference)
    2. creating useful objects like macros
      • automated methods for present and future use
      • use by self or use by others
    3. complementarities: an action can change the value of another action, either positively or negatively
      • add to PATH or define an alias?
    4. Remember that externalities are created for other parts of life. Users have life-objectives unrelated to computers
    5. N.B. Most arguments in favour of consistency, congruence, user interface toolkits, UIMXs, etc, etc, etc, depend on the creation of externalities.
  2. Discount rates
  3. Opportunity costs
  4. Users vary, but so that A common "solution" to user variation is to throw in everything, including the kitchen sink. This has positive and negative consequences. Negative:
    1. implementation and documentation cost
    2. increased time just to learn about the existence of features ("Without learning anything" is a self-contradiction.)
    3. increased user confusion
    4. users diverge as they learn
    1. users can what's best for them as individuals
    2. users can switch from one way to another of doing the same thing to ease boredom
    3. users can remain individuals

A typical componential model: the keystroke model

  1. Predict the time required to perform an interface operation
  2. Assumptions
    1. time is what matters
    2. errors unimportant
    3. components can be combined by addition (additive factors)
    4. individual components are independent and predictable
  3. Levels of decomposition
    1. large tasks from unit tasks: unit task ~ one minute
    2. unit tasks from task acquisition plus task execution
    3. execution from system tasks
    4. system task from "keystroke" or "point with mouse" or "home with hands" or "mental preparation" or "wait for computer" or ...
  4. Examples
  5. Evaluation (Should I believe it?)
  6. Applications

Speed-accuracy trade-off

Should errors be avoided?

User models

User model buzzwords

  1. Ergonomics
  2. Human factors
  3. User models
  4. Cognitive models

Models of input

Models of output

Quantifying the models

The "model human processor"

Return to: