Buttons Have One Job
Executive Summary
- Buttons should have a single, clear function
- Buffering can be problematic if not implemented correctly
- Reliable system design is crucial for safety and usability
The Internet’s Verdict: 70% Hyped, 30% Skeptical
The Importance of Button Design
A button’s primary function is to transmit a signal from the user to the machine. As one forum user noted,
If you’re a button, you have one job: to transmit Morse code from the finger to the machine, Morse code representing a complicated POSIX shell command.
Buffering and System Reliability
Buffering can be a problem if the system is not reliable. A user commented,
We like buffering of keystrokes or gestures when the system is completely reliable, exhibits reasonable latency and low jitter in its latency.
However, if the system is not reliable, buffering can lead to issues, as seen in the case of the Therac-25 disaster.
Another user pointed out,
This is literally the type of thing that caused the THERAC-25 disaster.
Experienced users hitting keys faster than the app could process them, resulting in safety features being inadvertently bypassed.
Focus Keyword: Button Design