Keystroke level model intro
Download
1 / 32

Keystroke-Level Model: Intro - PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on

Keystroke-Level Model: Intro. The simplest of all GOMS models: OM only!!! No explicit goals or selection rules O perators and M ethods (in a limited sense) only “Useful where it is possible to specify the user’s interaction sequence in detail” (CMN83, p. 259). Control structure: Flat

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Keystroke-Level Model: Intro' - maisie


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Keystroke level model intro
Keystroke-Level Model: Intro

  • The simplest of all GOMS models: OM only!!!

    • No explicit goals or selection rules

    • Operators and Methods (in a limited sense) only

  • “Useful where it is possible to specify the user’s interaction sequence in detail” (CMN83, p. 259).

  • Control structure: Flat

  • Serial or Parallel: Serial

  • Level of Analysis: Keystroke-level operators



Keystroke level model overview
Keystroke-Level Model: Overview

  • Step 1: Lay out assumptions

  • Step 2: Write out the basic action sequence (list the keystroke-level physical operators involved in doing the task)

  • Step 3: Select the operators and durations that will be used

  • Step 4: List the times next to the physical operators for the task

  • Step 4a: If necessary, include system response time operators for when the user must wait for the system to respond

  • Step 5: Next add the mental operators and their times

  • Step 6: Sum the times of the operators


Keystroke level model operators
Keystroke-level Model: Operators

  • K: Keystroke

  • T(n): Type a sequence of n characters on a keyboard

  • P: Point with mouse to a target on a display

  • B: Press or release mouse button

  • BB: Click mouse button

  • H: Home hands to keyboard or mouse

  • M: Mental act of routine thinking

  • W(t): Waiting time for system to respond


Card moran and newell on mentals
Card, Moran, and Newell on “Mentals”

  • “M operations represent acts of mental preparation for applying physical operations. Their occurrence does not follow directly from the physical encoding, but from the specific knowledge and skill of the user” p. 267

  • “The rules for placing M’s embody psychological assumptions about the user and are necessarily heuristic, especially given the simplicity of the model” p. 267.


Heuristics for inserting mental operators

Heuristics for inserting mental operators

  • Basic psychological principle: physical operations in methods are chunked into submethods.

  • RULE 0: Insert M’s in front of all K’s or B’s that are not part of argument strings proper (e.g., text or numbers). Place M’s in front of all P’s that select commands (not arguments) or that begin a sequence of direct-manipulation operations belonging to a cognitive unit.

    • Pointing to a cell on a spreadsheet is pointing to an argument -- no M

    • Pointing to a word in a manuscript is pointing to an argument -- no M

    • Pointing to a icon on a toolbar is pointing to a command -- M

    • Pointing to the label of a drop-down menu is pointing to a command -- M


Heuristics for inserting mental operators1
Heuristics for inserting mental operators

  • Rules 1-4 are heuristics (rules of thumb) for deleting mentals

    • “A single psychological principle lies behind all the deletion heuristics . . . physical operations in methods are chunked into submethods” p. 268


Heuristics for inserting mental operators2

Heuristics for inserting mental operators

  • Basic psychological principle: physical operations in methods are chunked into submethods.

  • RULE 0: Insert M’s in front of all K’s or B’s that are not part of argument strings proper (e.g., text or numbers). Place M’s in front of all P’s that select commands (not arguments) or that begin a sequence of direct-manipulation operations belonging to a cognitive unit.

  • RULE 1:If an operator following an M is fully anticipated1 in an operator just previous to M, then delete the M (e.g., PMK --> PK or PMBB --> PBB).

    • That is, the “M” drops out because the “P” and “BB” belong together in a chunk -- mental unit.

    • The button press “BB” is fully anticipated as the cursor is being moved to the target.


Heuristics for inserting mental operators3

Heuristics for inserting mental operators

  • Basic psychological principle: physical operations in methods are chunked into submethods.

  • RULE 0: Insert M’s in front of all K’s or B’s that are not part of argument strings proper (e.g., text or numbers). Place M’s in front of all P’s that select commands (not arguments) or that begin a sequence of direct-manipulation operations belonging to a cognitive unit.

  • RULE 1:If an operator following an M is fully anticipated1 in an operator just previous to M, then delete the M (e.g., PMK --> PK or PMBB --> PBB).

  • RULE 2: If a string of MK’s or MB’s belongs to a cognitive unit (e.g., the name of a command), then delete all M’s but the first.

    • Works with command names -- but what is a command name in a GUI interface?

      • Physical actions: P(File)+ B + P(Save) + B

      • RULE 0: MP + MB + MP + MB

      • RULE 1: MPB + MPB

      • Does rule 2 apply to eliminate the middle mental? MPBPB ?


Heuristics for inserting mental operators4

Heuristics for inserting mental operators

  • Basic psychological principle: physical operations in methods are chunked into submethods.

  • RULE 0: Insert M’s in front of all K’s or B’s that are not part of argument strings proper (e.g., text or numbers). Place M’s in front of all P’s that select commands (not arguments) or that begin a sequence of direct-manipulation operations belonging to a cognitive unit.

  • RULE 1:If an operator following an M is fully anticipated1 in an operator just previous to M, then delete the M (e.g., PMK --> PK or PMBB --> PBB).

  • RULE 2: If a string of MK’s or MB’s belongs to a cognitive unit (e.g., the name of a command), then delete all M’s but the first

  • RULE 3: If a K is a redundant terminator (e.g., the terminator of a command immediately following the terminator of its argument), then delete the M in front of it.

    • Applies to clicking OKAY in dialog buttons after you select a command; e.g., in Powerpoint, you have selected text, gone to the FORMAT:FONT palette, clicked on bold, and now point and click on OKAY -- pointing to and clicking on OKAY is PBB, not MPBB


Heuristics for inserting mental operators5

Heuristics for inserting mental operators

Basic psychological principle: physical operations in methods are chunked into submethods.

RULE 0: Insert M’s in front of all K’s or B’s that are not part of argument strings proper (e.g., text or numbers). Place M’s in front of all P’s that select commands (not arguments) or that begin a sequence of direct-manipulation operations belonging to a cognitive unit.

RULE 1:If an operator following an M is fully anticipated1 in an operator just previous to M, then delete the M (e.g., PMK --> PK or PMBB --> PBB).

RULE 2: If a string of MK’s or MB’s belongs to a cognitive unit (e.g., the name of a command), then delete all M’s but the first

RULE 3: If a K is a redundant terminator (e.g., the terminator of a command immediately following the terminator of its argument), then delete the M in front of it.

RULE 4: If a K terminates a constant string (e.g., a command name), then delete the M in front of it; but if the K terminates a variable string (e.g., an argument string), then keep the M in front of it.


Heuristics for inserting mental operators6
Heuristics for inserting mental operators

  • The four heuristics do NOT capture the notion of method chunks precisely -- these are only approximations

  • Ambiguities: Is something “fully anticipated” or is something else a “cognitive unit”?

  • Much of this ambiguity stems from variations in expertise of the users we are modeling


Heuristics for inserting mental operators7

Heuristics for inserting mental operators

Basic psychological principle: physical operations in methods are chunked into submethods.

RULE 0: Insert M’s in front of all K’s or B’s that are not part of argument strings proper (e.g., text or numbers). Place M’s in front of all P’s that select commands (not arguments) or that begin a sequence of direct-manipulation operations belonging to a cognitive unit.

RULE 1:If an operator following an M is fully anticipated1 in an operator just previous to M, then delete the M (e.g., PMK --> PK or PMBB --> PBB).

RULE 2: If a string of MK’s or MB’s belongs to a cognitive unit (e.g., the name of a command), then delete all M’s but the first

RULE 3: If a K is a redundant terminator (e.g., the terminator of a command immediately following the terminator of its argument), then delete the M in front of it.

RULE 4: If a K terminates a constant string (e.g., a command name), then delete the M in front of it; but if the K terminates a variable string (e.g., an argument string), then keep the M in front of it.


Klm mentals example 1
KLM--mentals: example 1.

  • Example: SET COLUMN WIDTH 5<cr>

  • List the keystroke level physical operators involved in doing the task

    • KKKKKKKKKKKKKKKKKKK (19 K’s)

  • RULE 0

    • M+KKKK+M+KKKKKKK+M+KKKKKK+K+M+K or

    • M+4K(set_)+M+7K(column_)+M+6K(width_)+1K(5)+M+1K(<cr>)

  • RULE 1

    • no change in this example

  • RULE 2

    • M+17K(set_column_width_)+1K(5)+M+1K(<cr>)

  • RULE 3

    • No change in this example

  • Rule 4

    • No change in this example


Klm mentals example 2
KLM--mentals: example 2

  • Example: spellcheck “catelog”

  • List the keystroke level physical operators involved in doing the task

    • P+BBBB+P+BB (where BB is a mousedown + mouseup, and BBBB is a doubleclick)

  • RULE 0

    • P+M+BBBB+M+P+M+BB

  • RULE 1

    • P+BBBB+M+PBB

  • RULE 2

    • n/a (“catelog” + spellcheck do not form a cognitive unit)

  • RULE 3

    • n/a

  • RULE 4

    • n/a


Klm mentals example 3
KLM--mentals: example 3

  • Example: save a file on a Mac using menus

  • List the keystroke level physical operators involved in doing the task

    • P+B+P+B

  • RULE 0

    • M+P+M+B+M+P+M+B

  • RULE 1

    • M+P+B+M+P+B

  • RULE 2

    • n/a or M+P+B+P+B ???

  • Issue: Is this FILE-->SAVE menu selection a single cognitive unit or two?


Keystroke level model m1 current
Keystroke-Level Model: m1 current

  • Step 1: Lay out your assumptions

    • There are several fields on the display, first thing that any error recovery method must do is to identify the field to be changed. In this case the field is the calling-card field (CCN).

    • For purposes of this exercise, we assume the error is made in the second number of the exchange.

    • TAO’s hands are on the keyboard

  • Step 2: Write out the basic action sequence (the physical operators)

    • ƒkey(ccn) + digit(14) + enterKey


Keystroke level model m1 current1
Keystroke-Level Model: m1 current

  • Step 3: select the operators and durations that will be used

    • We will use the ones from Kieras (1993).


Keystroke level model m1 current2
Keystroke-Level Model: m1 current

  • Step 4: List the times next to the physical operators for the task.


Keystroke level model m1 current3
Keystroke-Level Model: m1 current

  • Step 5: Next add the mental operators and their times

  • Step 6: Sum the times of the operators

    • Predicted time for current method is 6.88 sec

    • (note: this time is the same regardless of “where” the error is made)


Keystroke level model m2 bs delete
Keystroke-Level Model: m2 bs/delete

  • Step 1: Lay out your assumptions

    • s/a model 1 except;

    • delete key backs up and deletes each digit

  • Step 2: Write out the basic action sequence (the physical operators)

    • ƒkey(ccn) + delKey(10) + digit(10) + enterKey

  • Step 3: Same operators as for model 1.


Keystroke level model m2 bs delete1
Keystroke-Level Model: m2 bs/delete

  • Step 4: List the times next to the physical operators for the task.


Keystroke level model m2 bs delete2
Keystroke-Level Model: m2 bs/delete

  • Step 5: Next add the mental operators and their times

  • Step 6: Sum the times of the operators


Keystroke level model m3 bkup delete
Keystroke-Level Model:m3 bkup/delete

  • Step 1: Lay out your assumptions

    • s/a model 1 except;

    • backup key backs up without deleting. Delete key backs up and deletes

  • Step 2: Write out the basic action sequence (the physical operators)

    • ƒkey(ccn) + bkupKey(9) + delKey(1) + digit(1) + enterKey

  • Step 3: Same operators as for model 1.


Keystroke level model m3 bkup delete1
Keystroke-Level Model: m3 bkup/delete

  • Step 4: List the times next to the physical operators for the task.


Keystroke level model m3 bkup delete2
Keystroke-Level Model: m3 bkup/delete

  • Step 5: Next add the mental operators and their times (Your turn!!! Our answer are on the next page, no peeking!!!)

Method 3: bkup-delete

NUM

op type

time

press reset function key

fCCN

1

K

0.28

backup to digit

bkup

9

K

2.52

delete digit

del

1

K

0.28

digits to retype

digit

1

K

0.28

outpulse new num to dbase

enter

1

K

0.28

total time


Keystroke level model m3 bkup delete3
Keystroke-Level Model: m3 bkup/delete

  • Step 5: KLM w/mentals.


Keystroke level model m4 zap gp
Keystroke-Level Model: m4 zap-gp

  • Step 1: Lay out your assumptions

    • s/a model 1 except;

    • Four separate function keys, zaps (deletes) either area code, exchange, line, or pin number. Retyping need only retype the zapped numbers.

  • Step 2: Write out the basic action sequence (the physical operators)

    • ƒkey(ccn) + zapExch(1) + digit(3) + enterKey

  • Step 3: Same operators as for model 1.


Keystroke level model m4 zap gp1
Keystroke-Level Model: m4 zap-gp

  • Step 4: List the times next to the physical operators for the task. Your turn!! (Our answer are on the next page, no peeking!!!)

Method 4: zap-gp

NUM

op type

time

total time


Keystroke level model m4 zap gp2
Keystroke-Level Model: m4 zap-gp

  • Step 5: Next add the mental operators and their times (Your turn!!! Our answer are on the next page, no peeking!!!)

Method 4: zap-gp

NUM

op type

time

press reset function key

fCCN

1

K

0.28

zap-group

zap

1

K

0.28

digits to retype

digit

3

K

0.84

outpulse new num to dbase

enter

1

K

0.28

total time


Keystroke level model m4 zap gp3
Keystroke-Level Model: m4 zap-gp

  • Step 5: KLM model w/mentals


Keystroke level model
Keystroke-Level Model:

  • Summary

Of the three new methods, only one seems likely to be fast enough to justify expense of redesign


ad