CS160 Discussion Section Fitts Law and KLM David Sun Sept 26th 2007 Fitts Law (recap) • A model for computing the time it takes to move the hand/pointer to a target. • Formula: a + b log (D/S +1) – D: distance to the target – S: width of the target measured along the dimension of motion. – a, b: constants determined through regression. Example: More on Fitts Law • A number of formulations exist. We use the Shannon Formulation (by Mackenzie). – Slightly better fit to data – Keeps ID positive – Fits with underlying information theory • Index of difficulty (ID): log (D/S +1), measured in bits. • Index of performance (IP) : 1/b, measured in seconds/bit. • IP is independent of the particular target. More on Fitts Law • Limitations: – One dimensional model of human movement – But often applied to two dimensional target acquisition tasks. D D start start S S More on Fitts Law • The amplitude of the move and the width of the terminating region are measure along the same axis. start D D D start start D S start S Examples: D S start S D D S start start Fixes • Smaller-of: smaller of the two dimensions (since small side is more indicative of the task complexity). Computes a upperbound. – Requires both dimensions and D – Simple but less accurate. • Calculate W’ through trig functions. – Requires everything Smaller-of needs + angle of motion. Keystroke Level Model • Describe the task using the following Operators – K: pressing a key or a pressing (or releasing) of a button • T(K) = 0.08~1.2 seconds (~0.2 avg) – P: pointing • T(P) = 1.1 seconds (without button presses) – H: homing (switching device • T(H) = 0.4 sec – D(n,L): drawing segmented lines • T(D) = 0.9n + 0.16L – M: mentally prepare • T(M) = 1.35s – R(t) : system repsonse time • T(R) = t KLM Heuristic Rules (Raskin) 0: Insert M – – in front of all K in front of all P’s selecting a command (not in front of P’s ending a command) 1: Remove M between fully anticipated operators – MPK PK 2: if a string of MKs belong to a cognitive unit, delete all M’s except the first – 4564.23: MKMKMKMKMKMKMK MKKKKKKK 3: if K is a redundant terminator, then delete M in front of it – [enter] [enter]: MKMK MKK 4a: if K terminates a constant string (command name) delete the M in front of it – cd [enter]: MKKMK MKKK 4b: if K terminates a variable string (parameter) keep the M in front of it – cd class [enter]: MKKKMKKKKMK MKKKMKKKKKMK More on KLM • Basic underlying cognitive assumption: – Serial stage model of human information processing: one activity is done at a time until a task is complement. – No parallel activities, no interruptions and interleaving goals. • Others models: NGOMSL (overlapping human activities), CPM-GOMS (more rigor) Example: K: pressing a key or pressing and releasing a button = 0.2s P: pointing = 1.1s (without button press) H: Homing (switching device) = 0.4s M: Mentally prepare = 1.35s Example