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). 1 Control structure: Flat Serial or Parallel: Serial Level of Analysis: Keystroke-level operators Rensselaer Cognitive Science Keystroke-Level Model: Example TAO example area code 1 2 3 num 7 0 3 2 exchange 4 5 6 9 9 3 7 1 line 8 9 10 3 5 7 pin 11 12 13 14 1 2 3 4 Rensselaer Cognitive Science Keystroke-Level Model: Overview Step 1: Lay out assumptions Step 2: Write out the basic action sequence (list the keystrokelevel 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 3 Rensselaer Cognitive Science 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 4 Rensselaer Cognitive Science 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. 5 Rensselaer Cognitive Science 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 6 Rensselaer Cognitive Science 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 7 Rensselaer Cognitive Science 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 directmanipulation 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. 8 Rensselaer Cognitive Science 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 ? 9 Rensselaer Cognitive Science 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 10 Rensselaer Cognitive Science 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. 11 Rensselaer Cognitive Science 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 12 Rensselaer Cognitive Science 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. 13 Rensselaer Cognitive Science KLM--mentals: example 1. Example: SET COLUMN WIDTH 5<cr> List the keystroke level physical operators involved in doing the task 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 4 14 M+17K(set_column_width_)+1K(5)+M+1K(<cr>) RULE 3 no change in this example RULE 2 KKKKKKKKKKKKKKKKKKK (19 K’s) No change in this example Rensselaer Cognitive Science KLM--mentals: example 2 Example: spellcheck “catelog” List the keystroke level physical operators involved in doing the task RULE 0 n/a RULE 4 15 n/a (“catelog” + spellcheck do not form a cognitive unit) RULE 3 P+BBBB+M+PBB RULE 2 P+M+BBBB+M+P+M+BB RULE 1 P+BBBB+P+BB (where BB is a mousedown + mouseup, and BBBB is a doubleclick) n/a Rensselaer Cognitive Science 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? 16 Rensselaer Cognitive Science 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) 17 ƒkey(ccn) + digit(14) + enterKey Rensselaer Cognitive Science Keystroke-Level Model: m1 current Step 3: select the operators and durations that will be used We will use the ones from Kieras (1993). operator mental keystroke-<key> mouseDown or Up click (mouseD & Up) homing pointing w/mouse doubleClick 18 abbrev M K B BB H P BBBB duration 1200msec 280msec 100msec 200msec 400mec 1100msec 400msec Rensselaer Cognitive Science Keystroke-Level Model: m1 current Step 4: List the times next to the physical operators for the task. Method 1 of TAO task press reset function keyfKEY(ccn) type digits digit outpulse new number toenter dbase 19 NUM op type 1 K 14 K 1 K total time time 0.28 3.92 0.28 4.48 Rensselaer Cognitive Science Keystroke-Level Model: m1 current Step 5: Next add the mental operators and their times Method 1 of TAO task M before cmd press reset function key type digits M terminates argument string outpulse new number to dbase fCCN digit enter NUM op type 1 M 1 K 14 K 1 M 1 K total time time 1.20 0.28 3.92 1.20 0.28 6.88 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) 20 Rensselaer Cognitive Science 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) 21 ƒkey(ccn) + delKey(10) + digit(10) + enterKey Step 3: Same operators as for model 1. Rensselaer Cognitive Science Keystroke-Level Model: m2 bs/delete Step 4: List the times next to the physical operators for the task. Method 2: bs/delete press reset function key bs/delete to digit digits to retype outpulse new num to dbase total time 22 fCCN delKey digit enter NUM op type 1 K 10 K 10 K 1 K time 0.28 2.80 2.80 0.28 6.16 Rensselaer Cognitive Science Keystroke-Level Model: m2 bs/delete Step 5: Next add the mental operators and their times Method 2: bs/delete M before cmd press reset function key bs/delete to digit digits to retype verify done outpulse new num to dbase total time 23 fCCN delKey digit enter NUM op type 1 M 1 K 10 K 10 K 1 M 1 K time 1.20 0.28 2.80 2.80 1.20 0.28 8.56 Step 6: Sum the times of the operators Rensselaer Cognitive Science 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) 24 ƒkey(ccn) + bkupKey(9) + delKey(1) + digit(1) + enterKey Step 3: Same operators as for model 1. Rensselaer Cognitive Science Keystroke-Level Model: m3 bkup/delete Step 4: List the times next to the physical operators for the task. Method 3: bkup-delete press reset function key backup to digit delete digit digits to retype outpulse new num to dbase total time 25 fCCN bkup del digit enter NUM op type 1 K 9 K 1 K 1 K 1 K time 0.28 2.52 0.28 0.28 0.28 3.64 Rensselaer Cognitive Science 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 del 1 K 0.28 digits to retype digit 1 K 0.28 outpulse new num to dbase enter 1 K 0.28 delete digit total time 26 Rensselaer Cognitive Science Keystroke-Level Model: m3 bkup/delete Step 5: KLM w/mentals. Method 3: bkup-delete set up workstation to retype number press reset function key backup to digit delete digit digits to retype verify done outpulse new num to dbase total time 27 NUM op type fCCN bkup del digit enter 1 1 9 1 1 1 1 M K K K K M K time 1.20 0.28 2.52 0.28 0.28 1.20 0.28 6.04 Rensselaer Cognitive Science 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) 28 ƒkey(ccn) + zapExch(1) + digit(3) + enterKey Step 3: Same operators as for model 1. Rensselaer Cognitive Science 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 29 Rensselaer Cognitive Science 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 press reset function key 30 NUM op type time 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 total time enter 1 K 0.28 Rensselaer Cognitive Science Keystroke-Level Model: m4 zap-gp Step 5: KLM model w/mentals Method 4: zap-gp set up workstation to retype number press reset function key zap-group digits to retype verify done outpulse new num to dbase total time 31 NUM op type fCCN zap digit enter 1 1 1 3 1 1 M K K K M K time 1.20 0.28 0.28 0.84 1.20 0.28 4.08 Rensselaer Cognitive Science Keystroke-Level Model: Summary Method 1: Current Method 2: bs/delete Method 3: bkup-delete Method 4: zap-gp predicted time 6.88 8.56 6.04 4.08 Of the three new methods, only one seems likely to be fast enough to justify expense of redesign 32 Rensselaer Cognitive Science
© Copyright 2026 Paperzz