Human-Computer Interaction 3e Dix, Finlay, Abowd, Beale

exercises  -  12. cognitive models


Recall the CCT description of the rule INSERT-SPACE-2 discussed in Section 12.2.2:

	IF (AND (TEST-GOAL insert space)
		(DELETE-GOAL insert space) ))

As we discussed, this is already proceduralized, that is the rule is an expert rule. Write new 'novice' rules where the three keystrokes are not proceduralized. That is, you should have separate rules for each keystroke and suitable goals (such as GET-INTO-INSERT-MODE) to fire them.


IF (AND (TEST-GOAL insert space)
(TEST-NOTE in command mode ))
THEN ( (ADD-GOAL get into insert mode)))
IF (AND (TEST-GOAL insert space)
(TEST-GOAL get into insert mode))
(ADD-NOTE in insert mode)
(DELETE-GOAL get into insert mode)))
IF (AND (TEST-GOAL insert space)
(TEST-NOTE in insert mode)
(ADD-GOAL get into command mode)))
IF (AND (TEST-GOAL insert space)
(TEST-NOTE in insert mode)
(TEST-GOAL get into command mode))
(DELETE-GOAL get into command mode)
(DELETE-GOAL insert space)
(DELETE-NOTE in insert mode)
(ADD-NOTE in command mode)))



One of the assumptions underlying the programmable user model approach is that it is possible to provide an algorithm to describe the user's behaviour in interacting with a system. Taking this position to the extreme, choose some common task with a familiar interactive system (for example, creating a column of numbers in a spreadsheet and calculating their sum, or any other task you can think of) and describe the algorithm needed by the user to accomplish this task. Write the description in pseudocode. Does this exercise suggest any improvements in the system?


open-ended exercise


EXERCISE 12.3 [extra - not in book]

In a virtual reality design environment, the control device is a small, position- and pressure-sensitive rubber ball. When you pick up and move the ball a new object moves in the virtual environment. When you squeeze the ball the object is fixed in its current position. Consider how you might use the device to move existing items within the environment, and describe this using the 3-state model.

answer available for tutors only

One possibility would be to have a 'hand' or 'claw', which appears in the virtual environment when the ball is picked up and which tracks the position of the (physical) ball. The user moves the claw to an object and squeezes the ball. When the ball is squeezed the virtual claw grabs the object. So long as the ball is kept squeezed the object is moved. When the ball is released the object is dropped into its new position in the virtual environment.

Using the three state model we have:

3-state model

Note however that this solution requires some sort of sensor to tell whether the ball is on the table, such as a light touch sensor, or a sensitive tray.

If there is no such sensor it becomes

In this case there would always be a 'claw' in the virtual space just as there is always a mouse cursor on the screen.


EXERCISE 12.4 [extra - not in book]

What is the main contribution of cognitive models? What are their limitations and how can they help interface designers?

answer available for tutors only

The main contribution of cognitive models is as a predictive model of interactive behaviour - they can be used to predict how a user will perform with an interface. They are limited in that they focus primarily on cognitive processes, taking little account of context. The user is generic and (usually) assumed error-free. Tasks are low level - often unit tasks. They can be useful in comparing low level activities, for example different ways to perform a task, and can be used to predict which will be most efficient


EXERCISE 12.5 [extra - not in book]

This exercise is based on the mobile phone scenario on the web at:

Do a GOMS abalysis of phoning a friend based on scenarios A, B and C

answer available for tutors only

This is a simple answer using the steps pretty much one by one from the scenario. You could expand parts like looking up in the address book, or typing digits. Note too the selection rules assume you know whether a person is in your address book. No provisioon for errors, unanswered calls, changed numbers, etc.

.             .     FIND-NUMBER-IN-ADDRESS-BOOK
.             .     ENTER-DIGITS-FROM-BOOK
.             .     PRESS-YES-KEY
.             .     ENTER-118
.             .     GOAL: WAIT-FOR-CONNECTION
.             .           WATCH-DISPLAY until says connected
.             .     ASK-FOR-NUMBER
.             .     WRITE-DOWN-DIGITS
.             .     GOAL: HANG-UP
.             .     .     PRESS-NO-KEY
.             .     ENTER-DIGITS-FROM-PAPER
.             .     PRESS-YES-KEY
.             .     GOAL: GET-INTO-PHONE-BOOK-MODE
.             .     .     PRESS-LEFT-ARROW-KEY
.             .     .     PRESS-YES-KEY   --  phone book
.             .     .     PRESS-YES-KEY   --  recall
.             .     GOAL: ENTER-POSITION
.             .     .     REMEMBER-SHORTCUT
.             .     .     PRESS-DIGIT-KEY   --  if you remember!
.             .     .     PRESS-YES-KEY ]
.     .     WATCH-DISPLAY until says connected
.     .     PRESS-NO-KEY
selection rules:
Rule 1: use USE-DIRECTORY-ENQUIRIES-METHOD unless another rule applies
Rule 2: use USE-ELECTRONIC-PHONE-BOOK-METHOD if you remember the shortcut
Rule 3: use USE-ADDRESS-BOOK-METHOD if person is in your address book

Individual exercises

ex.12.1 (ans), ex.12.2 (ans), ex.12.3 (tut), ex.12.4 (tut), ex.12.5 (tut)

Worked exercises in book


Create a GOMS description of the task of photocopying a paper from a journal. Discuss the issue of closure (see Chapter 1) in terms of your GOMS description. [page 424]


Do a keystroke-level analysis for opening up an application in a visual desktop interface using a mouse as the pointing device, comparing at least two different methods for performing the task. Repeat the exercise using a trackball. Discuss how the analysis would differ for various positions of the trackball relative to the keyboard and for other pointing devices. [page 440]

  • a worked exercise
  • a worked exercise

home | about | chapters | resources | exercises | online | editions | interactive | community | search | plus +++
exercises: 1. human | 2. computer | 3. interaction | 4. paradigms | 5. design basics | 6. software process | 7. design rules | 8. implementation | 9. evaluation | 10. universal design | 11. user support | 12. cognitive models | 13. socio-organizational | 14. comm and collab | 15. task models | 16. dialogue | 17. system models | 18. rich interaction | 19. groupware | 20. ubicomp, VR, vis | 21. hypertext and WWW