Incomplete and complete content must be visually distinguishable
Aliases: in-progress styling · still-writing state · streaming visual state
What it is
The caret is still blinking, but the layout is already a finished letter: margins, signature, send region in place. A glance takes it as the final. Incomplete must look incomplete requires that in-flight text and finished text occupy two visual states, not that people remember “is it still emitting.”
That a half-product must not be treated as final is a ban on status and actions. This entry governs whether the eye is fooled by layout into thinking it has already ended.
Why it happens
The finished state has a stable publishing schema: tidy paragraphs, a signature, an end that no longer moves. If streaming typesets into that same schema as it goes, the schema announces “this is a document” ahead of time. Attention grabs schema faster than a caret, especially on a glance or a return to the window.
The distinction is not decoration. It underlays early judgment with “this is not yet a conclusion,” and it gives copy/send a visual reason to be disabled. If it already looks finished, people will hunt a way to take “this document” even when actions are disabled.
Studying it
The same stream, finished-state layout versus an obvious in-progress state (draft texture, end animation, an unclosed frame). Switch away mid-stream and return; ask “has it finished,” whether they try to copy. Independent variables: whether layout shares the finished schema, caret visibility, presence of a “generating” bar. Dependent variables: rate of false “finished,” mid-stream copy attempts.
Switch-away-and-return is required. People who stare throughout can see motion and will undercount false finished.
Where it stops holding
Line-by-line code in a terminal is culturally in-progress; another skin may be unnecessary. For accessibility, colour-only in-progress is not enough; there must be readable status text. After the end, switch to the finished state; staying in-progress makes the final look untrustworthy. Whether a structured intermediate is legal is another layer; do not let “looks like a draft” stand in for a parse error.
Applying it
- During the stream, use a surface unlike the final: draft background, a pulse at the end, an unclosed container; snap to the finished state at the instant of completion.
- Status must be readable as words: “generating, not finished yet,” not a caret alone.
- Regions that look like the finished state should not expose send or export during the stream.
- Check: mid-stream, show the screen to someone who just walked in. If they say “it’s done,” visual distinction failed. Ask the same person after the end; they should now say “it’s done” — both states have to be readable for it to count as a distinction.
Related
- Same group: L3.11.1 The value of streaming is an early signal one can judge, not a shorter total duration · L3.11.2 People can abort from early content; abort rights are streaming’s main gain · L3.11.4 Structured output passes through temporarily illegal intermediate states while streaming · L3.11.5 After abort, ownership of what was already generated must be clear: usable, redo, or void
- Nearby: L3.06 Streaming Presentation · L1.12 Latency and Streaming Experience
- Search terms:
incomplete must look incomplete·in-progress styling·streaming visual state
Cards in the same group
- L3.11.1The value of streaming is an early signal one can judge, not a shorter total duration
- L3.11.2People can abort from early content; abort rights are streaming’s main gain
- L3.11.4Structured output passes through temporarily illegal intermediate states while streaming
- L3.11.5After abort, ownership of what was already generated must be clear: usable, redo, or void