Week 01

Loading

Research

Started with loading as a topic rather than with sketches, because determinate and indeterminate is not a style choice. It is a claim about what the system knows.

How long is the wait

What to show, by how long the wait lasts

The threshold picks the type. One catch: hold the indicator back about half a second past the limit, because flashing a spinner at work that finishes quickly makes the interface feel slower. Knowing when not to appear is part of the job.

Determinate or indeterminate

DeterminateIndeterminate
ClaimsThis much is doneSomething is happening, length unknown
Use whenThe system can count, past 10 sShort waits, or nothing countable
MustTrack the real thing, never reassureNever stall
Screen readerrole="progressbar" plus live aria-valuenowSame role, aria-valuenow left out

As soon as progress becomes knowable, an indicator should move from the right column to the left. Direction is fixed too: linear runs leading edge to trailing, circular starts at the top and turns clockwise.

Why the same wait feels different

FindingSourceWhat I take from it
Backwards ribbing that decelerates cut perceived duration about 11 percentHarrison and others, 2010Motion direction is a lever, not decoration
More, smaller steps read as faster; fewer, larger steps stretch the waitZiat and others, 2022Step granularity is a tone control
A skeleton previews the layout, a spinner spotlights the delayRepeated everywhere, no controlled studyTrust the direction, not the 30 percent figure

Rules the tone has to survive

RuleWhat it forces
Keep movingA frozen loader reads as a frozen app
Stay proportionalSmall update, small indicator
Speak plainly“Saving changes”, not “API request pending”
Offer a way outCancel on long work, when it is safe
Do not blockLet background work run and report back
Never motion aloneStatus needs text, and has to park under reduced motion

Pattern survey

Ten existing patterns on one shared clock, so the same real duration can be compared across forms. The last group separates form from placement: a button state and an inline state are the same shapes put somewhere specific.

Live demo. Interact with it here or open it on its own. Open full screen

At 10 seconds the numeric readout is the most precise and the least bearable, because there is nothing to watch between updates. The segmented bar at 20 steps feels quicker than the smooth bar over an identical duration, exactly as the study predicts.

Into the designs

Sources

Process

Next: three tones, named with their contexts, then sketches before any code.

Sketches and iteration notes go here. Images belong in this week’s images/ folder.

Result

The six indicators are not designed yet. This section gets the three sets, each with its determinate and indeterminate pair, once the drawings and prototypes exist.

Critique

Feedback from class goes here.