Statistical & Clinical Analysis
Fitts’s Law (ISO 9241-9 Shannon Form): Index of Difficulty & UI Pointing Time Formula
Predict cursor, touch, and XR target acquisition time using Scott MacKenzie’s Shannon formulation of Paul Fitts’s Law: ID = LOG(D / W + 1, 2) bits and MT = a + b * ID seconds.
Why MacKenzie’s Shannon form LOG(D/W + 1, 2) replaced Fitts’s 1954 LOG(2*D/W, 2) in ISO 9241-9!
Paul M. Fitts (1954, Journal of Experimental Psychology) modeled human rapid aimed movement as a noisy communication channel of limited bandwidth (bits/s), originally defining Index of Difficulty as log2(2*D / W)—which unfortunately turns negative whenever cursor distance D < W / 2! I. Scott MacKenzie (1992, Human-Computer Interaction — adopted in ISO 9241-9 / 9241-411 pointing-device benchmarks) derived the exact Shannon capacity analogue ID = LOG(D / W + 1, 2) (bits), which remains strictly positive for all D > 0 and W > 0!
Pointing Movement Time follows the linear regression MT = a + b * ID, where intercept a (typically 0.08–0.15 s) reflects click/initiation latency and slope b (typically 0.10–0.18 s/bit, inverse of Index of Performance 1/b bits/s) captures visuomotor feedback! Moving D = 320 px to a tiny W = 20 px toolbar icon requires ID = LOG(17, 2) = 4.0875 bits and MT = 0.12 + 0.15 * 4.0875 = 0.7331 s—whereas widening the button to W = 64 px cuts difficulty to ID = LOG(6, 2) = 2.5850 bits!
| UI Target Geometry (Distance D = 320 px) | Shannon Index of Difficulty ID (bits) | Predicted Pointing Time MT (a=0.12s, b=0.15s/bit) |
|---|---|---|
| Small Icon Target Width W = 20 px | 4.0875 bits (LOG(17, 2)) | 0.7331 seconds (733 ms) |
| Ergonomic Ribbon Button W = 64 px | 2.5850 bits (LOG(6, 2)) | 0.5077 seconds (508 ms — 30.7% faster!) |
| Invalid Zero Target Width W <= 0 | Infinite Difficulty | "Invalid Fitts Target Geometry" |
MacKenzie-Shannon Index of Difficulty ID (bits) = LOG(D / W + 1, 2)
Evaluates ISO 9241-9 Index of Difficulty in bits from movement amplitude D (B2) and target width W (B3) along the approach axis.
=IF(OR(B2 <= 0, B3 <= 0, B4 < 0, B5 <= 0), "Invalid Fitts Target Geometry", ROUND(LOG(B2 / B3 + 1, 2), 4))Predicted Target Acquisition Movement Time MT (s) = a + b * LOG(D / W + 1, 2)
Computes expected pointing time in seconds from intercept a (B4, s) and slope b (B5, s/bit).
=IF(OR(B2 <= 0, B3 <= 0, B4 < 0, B5 <= 0), "Invalid Fitts Target Geometry", ROUND(B4 + B5 * LOG(B2 / B3 + 1, 2), 4))Try the example
Use the original values or change them to test your understanding.