← All Essays

The Latency Paradox (Why Speed is Terrifying)

On high-stakes screens, 300 milliseconds can feel like you skipped the work. Visible effort is how people decide you actually checked.

If you take a high-stakes screen from three seconds to 300 milliseconds, you may have optimized the user right out of the chair.

Effort Is How People Decide If You Checked

You can return a correct answer in 200 milliseconds and still lose the room. The person on the other side of the screen does not experience the compute; they experience whether it felt like anyone checked the work.

Ryan Buell and Michael Norton named this the labor illusion in 2011. In travel and dating experiments, people valued a service more when the site showed work happening, even when the wait was longer and the result was identical. Instant output with hidden labor looked cheap, while visible effort looked like care. People would wait longer for the same flights if they could watch a running tally of airlines instead of a silent progress bar. A generic spinner killed the effect; naming the work preserved it.

An ATM that returns cash immediately is objectively better than a teller counting bills, but it removes the cue that someone handled your money. Self-service hid the labor, and transparency restores a version of it. A bartender who slides a thirty-dollar cocktail across the counter in two seconds does not impress you; you assume it came from a premixed jug. A compliance scan that finishes before the click animation ends creates the same suspicion. Professionals who stake a license on the output may rerun the numbers by hand.

A 48-Hour Habit Does Not Survive a 300ms Answer

Users carry an internal clock they did not ask for. If the last system took two days to clear a payroll file, two days is what diligence feels like. Replace that process with a vector index and a 300-millisecond round trip, and you break the equation they use to decide whether the work happened.

Their mental model is crude but stubborn: rigorous work takes time, so work that takes no time must have skipped a step. When the screen says “Clean” immediately, they do not applaud the architecture; they assume most of the checks never ran. You can walk them through the query plan, and they may still export the result to Excel “just this once.”

A mobile-plan advisor that returned the “best” plan instantly taught people the opposite of what its designers intended: testers assumed they were seeing a canned pitch. Adding a slightly variable delay made them more receptive because the interface no longer looked like a looped animation. Intercom heard the same complaint about Fin over email, where replies that arrive too quickly feel suspicious. You may be moving people away from a process they hated but also trusted, and its slowness was part of their proof that it worked.

The Delay Is the Product When the Stakes Are High

A junior engineer returns a tight query in 150 milliseconds and paints the result on the screen. A more experienced one may hold the same payload for a beat while displaying “Scanning 500+ records…”

Call that dishonest if you want, but you are not building a benchmark. You are building an interface for someone about to approve money or attest to a regulator. The machine may not need time to think, but the person needs a moment in which careful work feels plausible. People have called the travel-search version the Kayak Effect for years: wait while the airlines tick by and the result feels earned. TurboTax displays messages about double-checking tax laws for the same reason. The analog version is a mechanic wiping their hands before presenting the bill, even when the grease is already gone. The pause is for the customer.

The delay itself is not the clever part; pairing it with a state that names the work is. A blank spinner creates anxiety, while a labeled pause bridges the gap to a mental model trained on overnight batches.

Fast Models Look Dumber in Blind Tests

If this still sounds like fluff, look at how people score models. Felicia Fang-Yi Tan and Oded Nov ran a CHI study with 240 people using a GPT-4o interface for creation and advice tasks. The model stayed the same; the only variable was a delay of 2, 9, or 20 seconds. User behavior barely moved, but ratings did. Two-second answers were judged less thoughtful and useful, nine seconds felt like deliberation, and twenty seconds started to annoy. The line from Tan that circulated afterward was that timing shapes perceived intelligence even when the model itself does not change.

Intercom A/B tested extra latency on Fin and saw a small increase in confirmed “that helped” responses. That means a model experiment that happens to run slower can look smarter than it is. Their solution is an additional test arm that holds latency constant, allowing them to measure the change they intended. As one recap of the NYU work put it, the AI that “thinks” for nine seconds isn’t smarter; it only feels that way.

Labs already throttle the faster arm when comparing it with a heavier model. Product teams should do the same before claiming a quality improvement.

Show the Work, Don’t Just Stall

A raw sleep(3000) behind a pulsing circle is the wrong implementation. An unexplained wait leaves users wondering whether the product is working, the Wi-Fi is down, or something is on fire. That uncertainty creates support tickets, not trust.

Chat interfaces stream tokens because watching a sentence assemble feels like a mind at work. Buffering the entire completion and sending it at once may be cleaner architecturally, but as a product experience it feels dead. Time to first token is the moment users decide something is happening. Enrico Tartarotti’s talk on loading screens makes an uncomfortable point about Google: Search advertised millisecond response times for decades, so AI Overviews had to remain fast, pushing them toward lighter models. Users will wait longer for work presented like ChatGPT because the wait looks like thought; they will not wait as long for a blue link.

Reasoning models leaned all the way into this effect. o1’s pause and “thinking” summary turned inference time into part of the product’s character. OpenAI does not show the raw chain of thought; it presents a generated digest. The labor is partly real, because the model uses more test-time compute, and partly theater. Both elements do the job of filling the uncertain gap before users know what they will get.

Your payroll job is not ChatGPT, but it can still narrate its work: “Connecting to ledger,” “Reconciling Q3,” and “Checking the flags we actually run.” The backend can operate concurrently while the interface presents those steps as a clear timeline.

Fake Progress Bars Have a Dark Side

Adding a five-second curtain to every click misses the point entirely.

Artificial latency should calibrate expectations for high-stakes operations, not serve as a growth hack. The dark version is a travel site that claims to be “searching 738 airlines” so you will pay for an instant tier. It uses the same psychology for extraction. Once users notice the theater, they do not reward it; they publish a post about how the product lies.

Low-stakes actions do not need this treatment. Users know that saving a draft or toggling a flag is cheap, so a 500-millisecond trophy animation feels bloated rather than careful. Intercom’s own writeup ends in the other direction, which is honest: the company still wants Fin to be fast because nobody wants slow software as a brand. The point is not to worship delay. It is to avoid undermining trust with an implausibly instant answer on a high-stakes task or mistaking a slower experiment for a smarter model.

Use the pause where perceived complexity dwarfs the actual compute, such as a multi-year rollup, a destructive deletion, or a brief headed to counsel. Friction belongs on the action that would hurt to get wrong.

Treat Time Like a Design Variable

For twenty years, latency was treated as a parasite. We built CDNs, edge caches, and entire companies whose product was a millisecond. That work still matters on the hot path: a settings toggle and a map pan should both be instant. The mistake is applying that instinct without qualification to a screen where someone is about to bet their job.

Compute has become cheap enough for a machine to finish in seconds what once took a week. The remaining constraint is whether a human will accept the answer. Zero latency on a high-stakes action does not always feel rigorous; it can feel as though the work was skipped. Streaming output, named steps, and a pause proportionate to the task can communicate real work without turning the labor illusion into a lie.

Tune time the way you tune copy, treating the query and the labeled wait as one transaction. Benchmarks do not sit in the chair; the person who does cares whether the system seemed to check the work.