Fitts' Law Task
Version: v1 (current)
A motor control task measuring the speed-accuracy trade-off in targeted movements.
Overview
Fitts' Law task measures a fundamental principle of human motor control: movement time increases logarithmically with the distance to a target and decreases logarithmically with target size. The task requires participants to rapidly click or tap between targets of varying sizes and distances, revealing the constraints on aimed movements.
Fitts' Law describes this relationship precisely, where movement time depends on the distance to the target and the target width. The law has been validated across countless studies and forms the basis for human-computer interaction design.
Scientific Background
Classic Findings:
- Speed-Accuracy Trade-off: Smaller, farther targets take longer to acquire
- Index of Difficulty: Predicted movement time correlates with actual time with high precision
- Robust Across Conditions: Holds for mouse, touch, eye movements, and physical reaching
Seminal Paper:
- Fitts (1954): The information capacity of the human motor system
Why Researchers Use This Task
- Motor Control: Study constraints on aimed movements
- HCI Research: Optimize interface design (button size, spacing)
- Aging Studies: Track age-related motor slowing
- Clinical Assessment: Measure motor precision in Parkinson's disease, tremor, stroke
- Input Device Evaluation: Compare mouse, trackpad, touchscreen, etc.
Where to Configure
Study Form → Tasks → Fitts → Configure.
Configuration Parameters
Canvas and Practice
| Parameter | Type | Default | Description |
|---|---|---|---|
| Canvas Width | number | 800 | Canvas width in pixels |
| Canvas Height | number | 600 | Canvas height in pixels |
| Practice Enabled | boolean | false | Enable practice trials with visual feedback |
| Feedback Duration (ms) | number | 500 | Duration of feedback after practice trials |
Trial Configuration
Trials are configured in a spreadsheet with the following columns:
| Column | Description |
|---|---|
| Target Width (px) | Width of target circle |
| Target Amplitude (px) | Distance from start to target |
| Target X | X coordinate of target center on canvas |
| Target Y | Y coordinate of target center on canvas |
| Start X | X coordinate of starting position |
| Start Y | Y coordinate of starting position |
| Fixation (ms) | Fixation cross duration before trial |
| Block | Optional block label for grouping |
| Feedback (ms) | Per-trial feedback duration for practice (leave empty to use the general setting) |
Participant Flow
- A fixation cross appears at the starting position for the specified fixation duration.
- The target circle appears at the specified location on the canvas.
- The participant moves the cursor to the target and clicks as quickly and accurately as possible.
- If practice is enabled, visual feedback (hit or miss) is shown after each trial.
- The next trial begins with a new fixation cross. Trials continue until all conditions are completed.
- Movement time, accuracy, and cursor trajectory are recorded for each trial.
Data Output
Markers and Responses
The task records high-resolution timestamps in two separate collections:
Markers (stimulus_shown):
{
"type": "stimulus_shown",
"ts": "2024-01-01T00:00:01.000Z",
"hr": 1234.56,
"data": {
"trial_index": 1,
"stimulus_id": "fitts_0_1",
"target_width": 40,
"target_amplitude": 200,
"index_of_difficulty": 3.32,
"target_x": 500,
"target_y": 300,
"start_x": 300,
"start_y": 300,
"block": "main",
"is_practice": false
}
}
Response Data:
{
"trial_index": 1,
"stimulus_id": "fitts_0_1",
"source": "click",
"target_width": 40,
"target_amplitude": 200,
"index_of_difficulty": 3.32,
"movement_time_ms": 650,
"hit_target": true,
"click_x": 498,
"click_y": 302,
"error_distance": 2.83,
"throughput": 5.11,
"block": "main",
"is_practice": false,
"latency_ms": 650
}
Summary Artifact
A JSON file (fitts_summary_<taskIndex>.json) with aggregated Fitts' Law statistics:
{
"task_kind": "fitts",
"task_index": 0,
"total_trials": 20,
"summary_statistics": {
"mean_movement_time_ms": 650,
"mean_index_of_difficulty": 4.2,
"mean_throughput_bits_per_sec": 6.5,
"accuracy": 0.85,
"mean_error_distance_px": 12,
"hits": 17,
"misses": 3
},
"practice": { /* same structure if enabled */ },
"trials": [ /* per-trial data */ ]
}
Key metrics:
index_of_difficulty: Fitts' Law ID = log2(2A/W)movement_time_ms: Time from target appearance to clickthroughput: ID / (MT in seconds), only for successful hitshit_target: Whether click landed within target bounds
Design Recommendations
- Condition Variety: Include multiple target width and amplitude combinations to estimate the speed-accuracy function reliably.
- Repetitions: Use at least 5 repetitions per condition to get stable movement time estimates.
- Practice Trials: Enable practice so participants understand the task before data collection begins.
- Canvas Size: Ensure the canvas is large enough to accommodate the largest target amplitude.
- Block Structure: Group related conditions into blocks for cleaner data analysis.
- Input Consistency: All participants should use the same input device (mouse, trackpad, or touchscreen).
Common Issues and Solutions
| Issue | Solution |
|---|---|
| Participants miss the target frequently | Increase target size; add more practice trials |
| Movement times are very variable | Increase repetitions per condition; remove outlier trials during analysis |
| Canvas too small for large amplitudes | Increase canvas width and height |
| Participants do not understand the task | Enable practice trials with visual feedback |
References
- Fitts, P. M. (1954). The information capacity of the human motor system in controlling the amplitude of movement. Journal of Experimental Psychology, 47(6), 381-391.
- MacKenzie, I. S. (1992). Fitts' law as a research and design tool in human-computer interaction. Human-Computer Interaction, 7(1), 91-139.
See Also
- Drawing Task - Free-form motor output
- Pro/Antisaccade - Oculomotor control