E4.21.2nonlinear timeline ticks for uneven densitydesignresearch

When event density is uneven, ticks should not be equal linear intervals

Aliases: timeline scale · packed events · compressed gaps

What it is

Real time is even; events are not. A year with no commits and an hour with twenty, mapped onto equal minutes, leave the empty year filling the screen and the busy hour stacked into a clot. Nonlinear ticks under uneven density let the scale follow events, or at least compress empty stretches: the axis still means sequence, the gaps no longer promise that equal line is equal duration. Linear equal ticks keep interval readable only when events are roughly even.

Why it happens

A linear axis maps duration to pixels. When density is flat, gaps can be compared: these two commits were far apart. When density skews, the mapping stretches sparse periods into empty fields and crushes dense ones into collisions. Emptiness wastes scanning; collision makes nodes untappable and labels cover each other — sequence remains, identification fails. Equal space per event keeps identification and spends the intuition of “how long between”; relative time on the label has to patch that. A middle path compresses emptiness: a gap beyond some duration becomes a tappable “three months omitted,” while the busy hour still opens a little in real interval so nodes do not overlap. Which mapping to pick depends on whether the task is reading interval or reading each event. When the default is reading events, do not be so faithful to time that the events disappear.

Studying it

Take one highly uneven sequence as a linear axis, as one-row-per-event, and as compressed-gap. Tasks: “how far apart were these two” and “open that failed release.” Independent variables: mapping, whether nodes may overlap. Dependent variables: interval estimation error, mis-taps from overlap, scroll wasted on emptiness. The linear axis should be worst on pointing; event-equal should be worst on interval.

Where it stops holding

Scientific plots and audio waveforms that must be faithful to time are data on a linear axis and must not be warped for UI density. A log whose task is “was anything missed” needs emptiness to stay visible. A playback head must stay linear or rate is distorted. Relative time labels (“3 minutes ago”) go stale; if the axis leans on them for interval, an absolute time must still be reachable.

Applying it

  • Start from the task: if reading events is primary, stack by event and put duration on the label; use a linear axis only if reading interval is primary, and then handle overlap.
  • Draw long emptiness as an expandable omission, not a screen of empty axis.
  • Detect collisions in busy stretches, stagger them or merge to “N events this hour”; do not let nodes die on top of each other.
  • How to check: put the busiest hour and the sparsest year under the same screen policy. The busy hour must remain tappable event by event; the sparse year must not consume half the screen empty.

Related

  • Within the group: E4.21.1 A timeline lays out discrete events in time order · E4.21.3 A stream needs a clear start, or a load-more edge · E4.21.4 Key nodes must look different from ordinary events
  • Adjacent: E4.03 Tables · E4.17 List grouping and sticky headers
  • Search terms: timeline scale · event density · non-linear time

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/E4.21.2