Step size and precision must match actual use
Aliases: input step · numeric granularity · decimal stepper
What it is
The distance a plus/minus click travels is the step; the smallest difference the system will store and show is precision. Both must follow real use: tickets move by 1, money by the minor unit, a thermostat by 0.5°. A step coarser than use parks the target between two notches; a step finer than use takes many clicks to feel a meaningful change, or loses people in decimal places. The issue is the meaning of one increment, not whether a large span should be typed.
Why it happens
People read “one click” as “the smallest notch that matters in the business.” In ticketing that notch is one seat; showing 1.00 after a click is wrong. In an exchange rate the notch may be 0.0001; a step of 1 means the control cannot tune. Step also binds to precision: the UI can click out 0.01 while the backend stores integers, so submit rounds the value and the user thinks the setting took. Arrow keys, the wheel, and assistive stepping usually reuse the same step; a wrong setting fails on every channel at once. The match is not mathematical neatness; it is one action to one business decision.
Where it stops holding
The same field can change grain across modes: expert wants 0.001, everyday wants 1. A single step offends one of the two. When scientific notation, percentages, and decimals switch, the step must convert into the displayed unit, or 99% plus one click becomes an illegal 100.01%. If someone types a value finer than the step (2.5 with step 1), blur should not snap to 2 or 3 unless the business forbids in-betweens; snapping must be explicit.
Applying it
- Set the step to the smallest difference that matters: 1 for counts, the minor currency unit for money, one scale notch for ratings.
- Align display precision, storage precision, and step; do not let a click produce a decimal that cannot be stored.
- Share that step across arrows, wheel, and plus/minus so one channel is not 1 and another 10.
- Verify by listing target values people actually want and checking that a stepper can land on them exactly, without stalling between notches or needing a dozen clicks to feel change. Then type a legal in-between; blur must not snap it away in silence.