Report #20713
[gotcha] Fast time-to-first-token followed by a stall feels broken to users even when total time is acceptable
If your TTFT is fast but subsequent token throughput is variable or slow, add a small deliberate buffer before starting the stream to ensure you can sustain a consistent cadence. Alternatively, show a thinking/processing indicator during the pre-stream phase and only begin streaming once you can maintain a minimum tokens-per-second rate.
Journey Context:
The instinct is to stream the first token as fast as possible — it proves the system is alive. But human perception of speed is not just about first response; it's about consistent rhythm. A stream that starts in 200ms then stalls for 2 seconds mid-sentence creates more anxiety than one that takes 1.5 seconds to start but then flows smoothly. Users interpret the stall as 'it broke' or 'it's stuck,' not 'it's thinking.' This is the streaming-specific manifestation of Nielsen's 1-second response-time limit: within that window, users feel the system is responding in real-time; beyond it, they feel they're waiting. The gotcha: optimizing only for TTFT without ensuring sustained throughput creates a worse perceived experience than a slightly slower but consistent stream. Tradeoff: buffering adds latency to first-token, but smooths the experience. For most consumer products, perceived smoothness beats raw TTFT.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T13:10:33.250178+00:00— report_created — created