cognitive models

Morten Fjeld
HCI Course, Spring term 2006
Cognitive models
• They model aspects of user:
chapter 12
cognitive models
–
–
–
–
understanding
knowledge
intentions
processing
• Common categorisation:
Competence: What users ideally should do
versus
Performance: What users actually do
1/42
Common assumptions about the
architecture of the human
mind
•
•
•
•
Long-term/Short-term memory
Problem spaces
Interacting Cognitive Subsystems
Connectionist
2/42
Cognitive models
1 Goal and task hierarchies (GOMS, CCT)
2 Linguistic notations (BNF, TAG)
3 Physical and device models (KLM)
4 Automating Inspection Methods
(Common assumptions from above
are not necessary here)
3/42
1
Goal and task hierarchies
(GOMS, CCT)
4/42
1.1 Goals, Operators, Methods and
Selection (GOMS)
Goals
• Granularity
– Where exactly do we start?
– Where exactly do we stop?
• Routine learned behaviour, not problem
solving
– The unit task
– what the user wants to achieve
Operators
– basic actions user performs
Methods
– decomposition of a goal into subgoals/operators
• Conflict
– More than one way to achieve a goal
• Error
5/42
Selection
– means of choosing between competing methods
6/42
1
Morten Fjeld
HCI Course, Spring term 2006
GOMS example
1.2 Cognitive Complexity Theory (CCT)
GOAL: CLOSE-WINDOW
.
[select GOAL: USE-MENU-METHOD
.
MOVE-MOUSE-TO-FILE-MENU
.
PULL-DOWN-FILE-MENU
.
CLICK-OVER-CLOSE-OPTION
GOAL: USE-CTRL-W-METHOD
.
PRESS-CONTROL-W-KEYS]
• Two descriptions:
– User production rules
Form: “if condition then action”
For a particular user:
– (Device generalised transition networks)
Rule 1: Select USE-MENU-METHOD unless another
rule applies
Rule 2: If the application is GAME,
select CTRL-W-METHOD
Example
– Cognitive model of editing with vi
7/42
8/42
CCT example: editing with vi
CCT example: editing with vi
Why many users like the vi-Editor:
• Vi is available on many platforms; very important for system
administrators because they often work on different systems
• You don't need X or mouse for high efficiency
• Vi is compact, fully developed, and runs on *any* Unix-system
• Vi supports syntax highlighting
• Vi is very well configurable
9/42
10/42
Four rules to model inserting
a space
Active rules:
SELECT-INSERT-SPACE
INSERT-SPACE-MOVE-FIRST
INSERT-SPACE-DOIT
INSERT-SPACE-DONE
New working memory
(GOAL insert space)
(NOTE executing insert space)
(LINE 5) (COLUMN 23)
SELECT-INSERT-SPACE
matches current working memory
(SELECT-INSERT-SPACE
IF (AND (TEST-GOAL perform unit task)
(TEST-TEXT task is insert space)
(NOT (TEST-GOAL insert space))
(NOT (TEST-NOTE executing insert space)))
THEN ( (ADD-GOAL insert space)
(ADD-NOTE executing insert space)
11/42
(LOOK-TEXT task is
at %LINE %COLUMN)))
2
Linguistic notations
• Understanding the user's behaviour and
cognitive difficulty based on analysis of
language between user and system.
• Similar in emphasis to dialogue models
Example
• Backus–Naur Form (BNF)
12/42
2
Morten Fjeld
HCI Course, Spring term 2006
2.1 Backus-Naur Form (BNF)
Example of BNF
• Very common notation from computer science
• Basic syntax:
• A purely syntactic view of the dialogue
• Terminals
–
–
lowest level of user behaviour
e.g. CLICK-MOUSE, MOVE-MOUSE
• Nonterminals
–
–
–
ordering of terminals
higher level of abstraction
e.g. select-menu, position-mouse
– nonterminal ::= expression
• An expression
– contains terminals and nonterminals
– combined in sequence (+) or as alternatives (|)
draw line
::= select line + choose points + last point
select line
::= pos mouse + CLICK MOUSE
choose points ::= choose one | choose one + choose points
choose one ::= pos mouse + CLICK MOUSE
last point
::= pos mouse + DBL CLICK MOUSE
pos mouse ::= NULL | MOVE MOUSE+ pos mouse
13/42
Measurements with BNF
14/42
Backus-Naur Form (BNF), example
Consider this BNF for a US postal address
• Number of rules (not so good)
• Number of + and | operators
• Complications
– same syntax for different semantics
– no reflection of user's perception
– minimal consistency checking
15/42
<postal-address>
::=
<name-part> <street-address> <zip-part>
<personal-part>
::=
<name> | <initial> ".“
<name-part> ::=
<personal-part> <last-name> [<jr-part>] <EOL> |
<personal-part> <name-part>
<street-address>
::=
[<apt>] <house-num> <street-name> <EOL>
<zip-part>
::=
<town-name> "," <state-code> <ZIP-code> <EOL>
16/42
Backus-Naur Form (BNF), example
Backus-Naur Form (BNF), example
<postal-address>
::=
<name-part> <street-address> <zip-part>
... continued:
<personal-part>
::=
<name> | <initial> ".“
<street-address>
::=
[<apt>] <house-num> <street-name> <EOL>
<name-part> ::=
<personal-part> <last-name> [<jr-part>] <EOL> |
<personal-part> <name-part>
...
<zip-part>
::=
<town-name> "," <state-code> <ZIP-code> <EOL>
This translates into English as
"A postal-address consists of a name-part, followed by a street-address
part, followed by a zip-code part. A personal-part consists of either a
first name or an initial followed by a dot. A name-part consists of
either: a personal-part followed by a last name followed by an
optional "jr-part" (Jr., Sr., or dynastic number) and end-of-line, or a
personal part followed by a name part (recursion in BNFs, covering
the case of people who use multiple first and middle names and/or
initials).
This translates into English as (continued)
“… A street address consists of an optional apartment
specifier, followed by a street number, followed by a
street name. A zip-part consists of a town-name,
followed by a comma, followed by a state code, followed
by a ZIP-code followed by an end-of-line."
17/42
http://wombat.doc.ic.ac.uk/foldoc/
18/42
3
Morten Fjeld
HCI Course, Spring term 2006
Short exercise
Short exercise
1) Describe a Swedish bank account in text.
“… A Swedish bank account description consist of …."
ENGLISH
Bank Name
Bank Address
Bank City
Bank Zip Code
Bank Country
Bank Phone
Name on Bank Account
Account Number
Bank Routing No.
Check No.
Bank Swift Code
2) Then translate the text into Backus-Naur Form (BNF).
Bank IBAN Code
http://wombat.doc.ic.ac.uk/foldoc/
SWEDISH
Bankens namn t.ex. Nordea
Bankens Address
Stad
Postnummer
land
tel nr. till banken
Kontos ägare namn
kontonummer
sorteringskod för banken
kontrollnummer
Swift kod för banken, 8 el 11
tecken sök på banken eller
swifts nätsidor
kontonummer i IBANform fås från
banken
19/42
Apropos: Backus-Naur Form (BNF)
examples comes from Foldoc
20/42
3
Physical and device models
• The Keystroke Level Model (KLM)
• Buxton's 3-state model
FOLDOC is a searchable dictionary of acronyms, jargon,
programming languages, tools, architecture, operating systems,
networking, theory, conventions, standards, mathematics, telecoms,
electronics, institutions, companies, projects, products, history, in fact
anything to do with computing.
• Based on empirical knowledge of
human motor system
• User's task: acquisition then execution.
– these only address execution
• Complementary with goal hierarchies
http://wombat.doc.ic.ac.uk/foldoc/
21/42
3.1 Keystroke Level Model (KLM)
22/42
Fitt’s Law for ann Estimation
of Pointing Time
• six execution phase operators
– Physical motor:
K - keystroking
P - pointing (use Fitt’s Law)
H - homing
D - drawing
– Mental
M - mental preparation
– System
R - response
• times are empirically determined.
Texecute = TK + TP + TH + TD + TM + TR
23/42
T = a + b log2(D/S + 1)
D:
S:
a, b:
Distance to target
Size of target
Empirically estimated constants
Original form of Fitt‘s Law, 1954, without a constant:
T = log2(2A/W)
24/42
4
Morten Fjeld
HCI Course, Spring term 2006
Fitt’s Law, example 1:
http://ei.cs.vt.edu/~cs5724/g1/tap.html
Fitt’s Law, example 2:
www.tele-actor.net/fitts/
Demo application intro page
Demo application program
Width 40, Height 37
time = 0.0
Width 29, Height 22
time = ?
Width 63, Height 92
time = ?
25/42
26/42
Keystroke Level Model (KLM)
KLM example
1. Move hand to mouse H[mouse]
2. Position mouse after bad character PB[LEFT]
3. Return to keyboard H[keyboard]
4. Delete character MK[DELETE]
5. Type correction K[char]
6. Reposition insertion point H[mouse]MPB[LEFT]
GOAL: ICONISE-WINDOW
[select
GOAL: USE-CLOSE-METHOD
.
MOVE-MOUSE-TO- FILE-MENU
.
PULL-DOWN-FILE-MENU
.
CLICK-OVER-CLOSE-OPTION
GOAL: USE-CTRL-W-METHOD
PRESS-CONTROL-W-KEY]
•
•
compare alternatives:
• USE-CTRL-W-METHOD vs.
• USE-CLOSE-METHOD
USE-CTRL-W-METHOD
USE-CLOSE-METHOD
H[to kbd]
0.40
P[to menu]
M
1.35
B[LEFT down] 0.1
K[ctrlW key]
0.28
M
1.35
P[to option]
1.1
assume hand starts on mouse
Total
27/42
2.03 s
1.1
B[LEFT up]
0.1
Total
3.75 s
28/42
Exercise: Apply KLM
Scenario:
-- train ride ends, the user wants to delete all desk-top icons starting
with “T” (temporary).
-- Find and delete all icons starting with “T”
-- Two conditions: Pad and Pin
Exercise:
-- Establish a KLM Model aiming to compare Pad and Pin
-- Is “clutching” an issue for this task?
29/42
Regarding Train Ride
Scenario
Touch & Type
USE-PAD-METHOD
USE-PIN-METHOD
H[to kbd]
0.40
P[to menu]
M
1.35
B[LEFT down] 0.1
K[ctrlW key]
0.28
M
1.35
P[to option]
1.1
B[LEFT up]
0.1
Total
z.x s
Total
x.y s
1.1
Fallot-Burghardt, Fjeld, Ziegenspeck,
Speirs, Läubli
30/42
ETH Zurich and FBZS Interface
h l
5
Morten Fjeld
HCI Course, Spring term 2006
Typing mode
Touch mode
Typing mode: both hands type on the keyboard
Mouse mode: left hand starts mouse mode by touching the mouse buttons,
right hand steers mouse pointer by gliding over the keys (keys are not
depressed)
31/42
32/42
Isometric Rate Control vs. Elastic Position Control
6DOF Input Devices – SpaceCat
Space Mouse
Martin Sundin (Ph.D. 2001)
Morten Fjeld (discussions & advice)
ZIP and IHA, ETH Zurich
SpaceBall
SpaceCat
33/42
Product
34/42
Docking Task
35/42
36/42
6
Morten Fjeld
HCI Course, Spring term 2006
3.2 Buxton's 3-state model
Mouse vs. light-pen transitions
37/42
3.2 Buxton's 3-state model
39/42
3.2 Buxton's 3-state model
38/42
4: Automating Inspection Methods -Analysis Support—Web UIs
40/42
http://www.ipo.tue.nl/homepages/mrauterb/amme/ACMCSivory%5B2001%5D.pdf
4: Automating Inspection Methods -Analysis Support—Web UIs
41/42
4: Automating Inspection Methods –
But also for what pilots do
42/42
7