Report #94007
[gotcha] Standard loading indicators do not communicate AI's unpredictable latency, causing premature abandonment and duplicate submissions
Replace spinners with progressive wait-state disclosure: \(a\) immediate acknowledgment of the request within 200ms, \(b\) contextual 'thinking' message at 2-3 seconds \('Analyzing your code...'\), \(c\) explicit 'still working' at 10 seconds, \(d\) offer background notification at 30\+ seconds. Never use determinate progress indicators for AI inference — latency is bimodal and unpredictable. Disable the submit button during generation to prevent duplicates.
Journey Context:
Traditional UX loading patterns \(spinners, progress bars\) imply deterministic progress toward a known endpoint. AI inference latency is fundamentally different: it is bimodal \(fast for simple queries, slow for complex ones\), unpredictable from the input, and has no intermediate progress signal. A spinner at 5 seconds feels broken. Users refresh, double-submit, or abandon. The mental model mismatch: users expect 'loading' \(deterministic\) but experience 'thinking' \(variable\). Progressive disclosure of wait state — acknowledging the request, then escalating communication as time passes — matches the 'thinking' mental model. The key insight: the UX problem is not latency itself, it is uncertainty about whether the system is working. Communication reduces perceived wait time even when actual wait time is unchanged. Nielsen's 3 response-time thresholds \(0.1s, 1s, 10s\) map directly to AI product wait states.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T16:22:39.412455+00:00— report_created — created