Skip to main content

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

  1. Motor Control: Study constraints on aimed movements
  2. HCI Research: Optimize interface design (button size, spacing)
  3. Aging Studies: Track age-related motor slowing
  4. Clinical Assessment: Measure motor precision in Parkinson's disease, tremor, stroke
  5. Input Device Evaluation: Compare mouse, trackpad, touchscreen, etc.

Where to Configure

Study Form → Tasks → Fitts → Configure.

Configuration Parameters

Canvas and Practice

ParameterTypeDefaultDescription
Canvas Widthnumber800Canvas width in pixels
Canvas Heightnumber600Canvas height in pixels
Practice EnabledbooleanfalseEnable practice trials with visual feedback
Feedback Duration (ms)number500Duration of feedback after practice trials

Trial Configuration

Trials are configured in a spreadsheet with the following columns:

ColumnDescription
Target Width (px)Width of target circle
Target Amplitude (px)Distance from start to target
Target XX coordinate of target center on canvas
Target YY coordinate of target center on canvas
Start XX coordinate of starting position
Start YY coordinate of starting position
Fixation (ms)Fixation cross duration before trial
BlockOptional block label for grouping
Feedback (ms)Per-trial feedback duration for practice (leave empty to use the general setting)

Participant Flow

  1. A fixation cross appears at the starting position for the specified fixation duration.
  2. The target circle appears at the specified location on the canvas.
  3. The participant moves the cursor to the target and clicks as quickly and accurately as possible.
  4. If practice is enabled, visual feedback (hit or miss) is shown after each trial.
  5. The next trial begins with a new fixation cross. Trials continue until all conditions are completed.
  6. 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 click
  • throughput: ID / (MT in seconds), only for successful hits
  • hit_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

IssueSolution
Participants miss the target frequentlyIncrease target size; add more practice trials
Movement times are very variableIncrease repetitions per condition; remove outlier trials during analysis
Canvas too small for large amplitudesIncrease canvas width and height
Participants do not understand the taskEnable 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