CHR Tasks

Published:

Click-Hold-Release Tasks

I spent part of January revamping the Click-Hold-Release (CHR) task site for browser-based experiments where the timing of a click matters as much as the fact that a click happened.

The core CHR task is built around the difference between a press, a held state, and a release. That distinction is easy to lose when an interface treats a gesture as an instantaneous command. A swipe, pinch, or classifier-detected gesture can be interpreted as a single “click now” event, but a pushbutton-like control has state: the button goes down, remains down while the user holds it, and then comes back up. For many human-interface-device style workflows, that state is the point. HID usage descriptors provide a useful vocabulary here: button and control usages can describe selectors, on/off controls, momentary controls, one-shot controls, and other report fields. CHR tasks make that distinction explicit by asking whether a user or device can reliably produce and maintain the intended input state, not just trigger an event.

Tasks and utilities

The site also includes a gesture calibration utility and a broader set of standalone tasks: simple Click, Fitts 2D, Choice-Click, Fatigue, PacMan, 2-Choice CHR, Fitts-Exo, CHR Survivor 1D, CHR Survivor 2D, Guitar-Hero, and Typing. The goal is to cover a few different interaction styles, from target acquisition and choice selection to sustained activation, sequential timing, and text-entry-like control.

I also added a Studies route for chaining parameterized task runs with fixed metadata. That should make the site more useful for device-use studies outside a tightly supervised lab setting, for example when collecting repeated runs from a home context while keeping task parameters and study labels consistent.