Skip to main content

Week 4: Saying Nothing, Precisely

The difference between not knowing how long and having nothing to say, and the three honest registers available when there is no denominator.

16 March 2027

Open the slides

Slides

What this lecture carries

Three registers, and what each one asserts. When there is no denominator, an interface still has three honest things it can say, and they are not interchangeable:

The fractional-reading trap. An indeterminate display must not admit a fractional reading, and the test is what a reader can take from it rather than what the code intends. A spinner that slows near the end reads as “nearly there”. A three-dot animation on its third dot reads as two-thirds. If a user can form a ratio from it, you have made a determinate claim with indeterminate data.

Why this is harder than a percentage. A bar at 40% is one decision. Liveness plus elapsed plus stage is three decisions that have to agree with each other, and the interface has to degrade between them as knowledge arrives and departs mid-transfer.

What it builds on

Week 2 supplied the vocabulary: a state can be known while its duration is not. Week 3 established that a denominator is a countable source event. This lecture is the case where no such event exists — which, on a real upload, is most of the time.

What it sets up

Where it landsWhat it carries there
Week 4 studio, two days laterbuilds all three registers against an unknown-size upload
Week 5the mirror case — a denominator exists, and the estimate derived from it is still unstable
Week 7each register needs a different aria-valuetext, and “no value” is not the same as “nothing to say”
Week 8a stall is liveness that has stopped being true

A worked example

Four displays, none containing a number. Which of them make a fractional claim?

The test is never what the code intends. It is what a reader can construct from what they see.

What this lecture cannot settle

The three registers are exhaustive for what you may truthfully say. They are not a ranking.

Nothing in this lecture establishes which of them a user would rather have, and there is a real cost hiding in the answer: elapsed time is the most honest register and the one that makes a wait feel longest. Week 6 puts that trade in front of the class and fails to settle it, on purpose.

If you miss the hour

The slides carry the argument in the order it was made, and this week’s reading is listed on the studio page. The studio on Thursday assumes the vocabulary above rather than re-teaching it, so read the deck before you arrive rather than after.

Teaching team