GOMS CS 160 Discussion Chris Long 3/5/97
What is GOMS? l A family of user interface modeling techniques l Goals, Operators, Methods, and Selection rules l Input: detailed description of UI and task(s) l Output: various qualitative and quantitative measures
Outline l Theory behind GOMS l Members of GOMS Family l What GOMS can model l GOMS Output l Applications of GOMS analysis l Family member descriptions l How to do GOMS analysis l Operators vs. Methods l Example l Real-world applications l Advantages l Disadvantages l Summary
Engineering Model of Human Performance l From The Psychology of Human-Computer Interaction, by Card, Moran, and Newell l Quantitative predictions l Usefully approximate l Based on Model Human Processor
Members of GOMS Family l Keystroke-Level Model (KLM) - Card, Moran, Newell (1983) l CMN-GOMS (from TPoHCI) l Natural GOMS Language (NGOMSL) - Kieras (1988+) l Critical Path Method or Cognitive, Perceptual, and Motor GOMS (CPM- GOMS) - John (1990+)
What GOMS can model l Task must be goal-directed –Some activities are more goal-directed than others –Even creative activities contain goal-directed tasks l Task must a routine cognitive skill - as opposed to problem solving as in Cognitive Walkthrough l Serial and parallel tasks
GOMS Output l Functionality coverage and consistency –Does UI contain needed functions? –Are similar tasks performed similarly? (NGOMSL only?) l Operator sequence –In what order are individual operations done? –Abstraction of operations may vary among models
Output (cont’d) l Execution time –By expert –Very good rank ordering –Absolute accuracy ~10-20% l Procedure learning time (NGOMSL only) –Accurate for relative comparison only –Does not include time for learning domain knowledge l Error recovery
Applications of GOMS analysis l Compare UI designs l Profiling l Sensitivity and parametric analysis l Building a help system –GOMS modelling makes user tasks and goals explicit –Can suggest questions users will ask and the answers
Keystroke-Level Model l How to make a KLM –List specific actions user does to perform task l Keystrokes and button presses l Mouse movements l Hand movements between keyboard & mouse l System response time (if it makes user wait) –Add Mental operators –Assign execution times to steps –Sum execution times l Only provides execution time and operator sequence
Other GOMS techniques l NGOMSL –Regularized level of detail –Formal syntax, so computer interpretable –Gives learning times l CPM-GOMS –Closer to level of Model Human Processor –Much more time consuming to generate –Can model parallel activities
How to do (CMN-)GOMS Analysis l Choose GOMS family member, making sure GOMS is appropriate for you l Generate task description –Pick high-level user Goal –Write Method for accomplishing Goal - may invoke subgoals –Write Methods for subgoals l This is recursive l Stops when Operators are reached
How to do GOMS Analysis (cont’d) l Evaluate description of task l Apply results to UI l Iterate l Warning: Make sure you do not leave out actions! –Walkthrough can help
Operators vs. Methods l Operator: the most primitive action l Method: requires several Operators or subgoal invocations to accomplish l Level of detail determined by –KLM level - keypress, mouse press –Higher level - select-Close-from-File-menu –Different parts of model can be at different levels of detail
Example 1: PDA Text Entry l goal: enter-text-Newton –move-pen-to-text-start –goal: enter-word-Newton...repeat until no more words l write-letter...repeat until no more letters l [select: goal: correct-misrecognized-word]...if incorrect l expansion of correct-misrecognized-word goal –move-pen-to-incorrect-letter –write-letter
Example 2: Graph Drawer l goal: draw-graph –goal: draw-node...repeat until no more nodes l goal: draw-circle –draw-circle-gesture –goal: verify-circle- gesture [select: goal: correct-gesture]...if misrecognized or drawn incorrectly –goal: connect-node...repeat until no more connections draw-line- gesture move-pen-to- node-just-drawn –goal: name-node make-naming- gesture goal:enter-text
Example 2 (cont’d) l expansion of correct-gesture goal –move-pen-to-undo-button –tap-undo-button l goal: copy-node –move-pen-to-node –draw-copy-gesture –drag-pen-to-destination
Real-world GOMS Applications l KLM –Mouse-based text editor –Mechanical CAD system l NGOMSL –TV control system –Nuclear power plant operator’s associate l CPM-GOMS –Telephone operator workstation
Advantages of GOMS l Gives several qualitative and quantitative measures l Model explains why the results are what they are l Less work than user study l Easy to modify when interface is revised l Research ongoing for tools to aid modeling process
Disadvantages of GOMS l Not as easy as heuristic analysis, guidelines, or cognitive walkthrough l Only works for goal-directed tasks l Assumes tasks are performed by expert users l Evaluator must pick users’ tasks/goals l Does not address several important UI issues, such as –readability of text –memorability of icons, commands l Does not address social or organizational impact
Summary l Provides info about many important UI properties l Does not tell you everything you want to know about a UI l Substantial effort to do initial model, but still easier than user testing l Changing later is much less work than initial generation