THE HUMAN Human Information Processing Human Information Processing • Humans are information processors • Input: seeing and hearing most important to HCI • Processors: cognitive, perceptual, and motor • Output: wrist, arm, leg, etc. movements • Model the human information processor to • Validate understanding of ourselves • Inform the design of better user interfaces Model Human Processor • Card, Moran and Newell (1983) Model Human Processor (cont.) • Card, Moran and Newell (1983) Model Human Processor (cont.) Model Human Processor • Contains three interacting systems: perceptual, cognitive, and motor systems • For some tasks, systems operate in serial (pressing a key in response to a stimulus) • For other tasks, systems operate in parallel (driving, talking to passenger, listening to radio) • Each system has its own memory and processor • Memory: storage capacity and decay time • Processor: cycle time (includes access time) • Each system guided by principles of operation Perceptual System • Responsible for transforming external environment into a form that cognitive system can process • Composed of perceptual memory and processor Long Term Memory Visual Store Eyes Ears Working Memory Auditory Store Perceptual Processor Cognitive Processor Motor Processor Perceptual Processor • Codes information in perceptual memory for about 100ms and then retrieves next stimulus • Cycle time = ~100ms • Processor cannot code all information before the next stimulus arrives • Type and order of coding influenced by: • Gestalt principles (perceive shape from atomic parts) • Attention - directs processing or filters information Cognitive System • Uses contents of WM and LTM to make decisions and schedule actions with motor system • Composed of a processor and two memories • WM and LTM Long Term Memory Visual Store Eyes Ears Working Memory Auditory Store Perceptual Processor Cognitive Processor Motor Processor Cognitive System Principles • Uncertainty Principle • Decision time increases with the uncertainty about the judgment to be made, requires more cognitive cycles • Variable Rate Principle: • Cycle time Tc is shorter when greater effort is induced by increased task demands or information loads; it also diminishes with practice. Motor System • Translates thoughts into actions • Head-neck and arm-hand-finger actions Long Term Memory Visual Store Eyes Ears Working Memory Auditory Store Perceptual Processor Cognitive Processor Motor Processor Arms, hands, fingers Motor Processor • Controls movements of body • Movement composed of discrete micro-movements • Micro-movement lasts about 70ms • Cycle time of motor processor about 70ms • Caches common behavioral acts such as typing and speaking • No mention of this cache in the model What We Know So Far Long Term Memory Visual Store Eyes Ears Cycle Times Working Memory Auditory Store Perceptual Processor Cognitive Processor Motor Processor What We Know So Far Long Term Memory Visual Store Eyes Ears Cycle Times Working Memory Auditory Store Perceptual Processor 100 ms Cognitive Processor Motor Processor What We Know So Far Long Term Memory Visual Store Eyes Ears Cycle Times Working Memory Auditory Store Perceptual Processor Cognitive Processor 100 ms 70 ms Motor Processor What We Know So Far Long Term Memory Visual Store Eyes Ears Cycle Times Working Memory Auditory Store Perceptual Processor Cognitive Processor Motor Processor 100 ms 70 ms 70 ms Model Human Processor Long Term Memory Visual Store Eyes Ears Cycle Times Working Memory Auditory Store Perceptual Processor Cognitive Processor Motor Processor 100 ms 70 ms 70 ms Perceive-Recognize-Act cycle ~= 240 ms Use Model to Compute Reaction Time for Simple Matching Task • A user sits before a computer terminal. Whenever a symbol appears, s/he must press the space bar. What is the time between stimulus and response? Use Model to Compute Reaction Time for Simple Matching Task • A user sits before a computer terminal. Whenever a symbol appears, s/he must press the space bar. What is the time between stimulus and response? Tp + Tc + Tm = 240 ms Use Model to Compute Reaction Time for a Symbol Matching Task • Two symbols appear on the computer terminal. If the second symbol matches the first, the user presses “Y” and presses “N” otherwise. What is the time between the second signal and response? Use Model to Compute Reaction Time for a Symbol Matching Task • Two symbols appear on the computer terminal. If the second symbol matches the first, the user presses “Y” and presses “N” otherwise. What is the time between the second signal and response? Tp + 2Tc (compare + decide) + Tm = 310 ms In General Case • Need a bridge from task structure to MHP • Enables top down as opposed to bottom up analysis • Analyze goal structure of the task, then for each step: • Analyze user actions required (motor system) • Analyze user perception of the output (perceptual system) • Analyze mental steps to move from perception to action (cognitive system) • Sum the processing times from each step to get a reasonably accurate prediction of task performance Donald Norman’s model • Seven stages • user establishes the goal • formulates intention • specifies actions at interface • executes action • perceives system state • interprets system state • evaluates system state with respect to goal • Norman’s model concentrates on user’s view of the interface Donald Norman’s model (cont.) goal execution • • • • • • • user establishes the goal system formulates intention specifies actions at interface executes action perceives system state interprets system state evaluates system state with respect to goal evaluation Donald Norman’s model (cont.) goal execution • • • • • • • user establishes the goal system formulates intention specifies actions at interface executes action perceives system state interprets system state evaluates system state with respect to goal evaluation Donald Norman’s model cont. goal execution • • • • • • • user establishes the goal system formulates intention specifies actions at interface executes action perceives system state interprets system state evaluates system state with respect to goal evaluation Donald Norman’s model (cont.) goal execution • • • • • • • user establishes the goal system formulates intention specifies actions at interface executes action perceives system state interprets system state evaluates system state with respect to goal evaluation Donald Norman’s model (cont.) Donald Norman’s model (cont.) GOMS • Models task structure (goals) and user actions (operators, methods, selection rules) • Goals: cognitive structure of a task • Operators: elementary acts that change user state or task environment • Methods: sets of goal-operator sequences to accomplish a subgoal • Selection: rules to select a method • Assumes error free and rational behavior GOMS • Goals • Goals are what the user is trying to accomplish. These can be defined at various levels of abstraction, from very high-level goals (e.g. WRITE-RESEARCH-PAPER) to low-level goals (e.g. DELETE-WORD). Higher-level goals are decomposable into subgoals, and are arranged hierarchically. • Operators • Operators are the elementary perceptual, motor or cognitive actions that are used to accomplish the goals (e.g. DOUBLECLICK-MOUSE, PRESS-INSERT-KEY). Operators are not decomposable: they are atomic elements in the GOMS model. Furthermore, it is generally assumed that each operator requires a fixed amount of time for the user to execute, and that this time interval is independent of context (e.g. CLICK-MOUSE button takes 0.20 seconds to execute). GOMS • Methods • Methods are the procedures that describe how to accomplish goals. A method is essentially an algorithm that the user has internalized that determines the sequence of subgoals and operators necessary to achieve the desired goal. For example, one method to accomplish the goal DELETE-WORD in the Emacs text editor would be to MOVEMOUSE to the beginning of the word, and PRESS-ALT-D-KEYCOMBINATION (the use-mouse-delete-word method). Another method to accomplish the same goal could involve using the arrow keys to reach the beginning of the word (the use-arrows-delete-word method). • Selection rules • Selection rules specify which method should be used to satisfy a given goal, based on the context. Since there may be several different ways of achieving the same goal, selection rules represent the user's knowledge of which method must be applied to achieve the desired goal. Selection rules generally take the form of a conditional statement, such as "if the word to be deleted is less than 3 lines away from the current cursor location, then use the use-arrows-delete-wordmethod, else use the use-mouse-delete-word method". GOMS • Concentrates on expert users • Concentrates on error-free performance • Good analysis tool for comparing designs • Has spawned many similar techniques KLM-GOMS • Keystroke-Level Model • execution time is estimated by listing the sequence operators and then summing the times of the individual operators. • KLM aggregates all perceptual and cognitive function into a single value for an entire task, using a heuristic. • KLM also does not employ selection rules. • Operators • K for pressing a key, • P for pointing to a location on screen with the mouse, • H for moving hands to home position on the keyboard, • M for mentally preparing to perform an action, • and R for system response where the user waits for the system. • For each operator, there is an estimate of execution time. Additionally, there is a set of heuristic rules to account for mental preparation time. KLM-GOMS Description Operation Time (sec) Reach for mouse H[mouse] 0.40 Move pointer to "Replace" button P[menu item] 1.10 Click on "Replace" command K[mouse] 0.20 Home on keyboard H[keyboard] 0.40 Specify word to be replaced M4K[word] 2.15 Reach for mouse H[mouse] 0.40 Point to correct field P[field] 1.10 Click on field K[mouse] 0.20 Home on keyboard H[keyboard] 0.40 Type new word M4K[word] 2.15 Reach for mouse H[mouse] 0.40 Move pointer on Replace-all P[replace-all] 1.10 Click on field K[mouse] 0.20 Total 10.2 Fitts Law • Models human motor performance • Aimed at arm-hand movement • Original model developed in 1954 • Enables prediction of movement time (MT) • Movement assumed to be rapid, error-free, and targeted • MT is a function of target distance and width Task Environment • Models movement of arm-hand to a target • Hand is A cm from the target (Amplitude) • Target is W cm wide (tolerance) • Assume movement follows straight horizontal path W A Model – Movement Time (MT) • MT linear with respect to index of difficulty MT = a + b * Id • a: y-intercept • b: slope (msec/bit) • 1/b: Index of Performance (bits/msec) • Originally: Id = -log2(W / 2A) = log2(2A / W) Model – Movement Time (MT) • MT linear with respect to index of difficulty MT = a + b * Id • a: y-intercept • b: slope (msec/bit) • 1/b: Index of Performance (bits/msec) • Originally: Id = -log2(W / 2A) = log2(2A / W) • Today: • Id = log2(A / W + 1) • Id = log2(A / W + 0.5) when Id < 3 bits Common Graph of Fitt’s Law Time (msec) 2250 2000 1750 1500 1250 MT ~= 590 + 230 * Id 1000 750 500 250 1 2 3 4 5 6 7 8 9 10 Index of difficulty (bits) Application of Fitts’ Law in Interface Design Exercise • Predict time for user to move the cursor from current location to a button • Button is 400 pixels to the right of the cursor • Button is 50 pixels wide • MT ~= 590 + 230 * Log2(A / W + 1)