← All cases
Case 007

You closed the lid; it says the server is broken

Sleep, a tunnel, a Wi-Fi blip — the connection drops and the app announces a Server Error and sends you to check the status page. The server was fine. Your device just went to sleep.

5 500
human lifetimes wasted per year
best single estimate: ~60
Difficulty to fix easy
⚠ Frequency & population are estimates
AppsWeb

Facts cited

Global internet users ~5.5 billion ITU, 2026
Global life expectancy 73 years World Bank, 2023

Assumptions low → high

What we can't measurelowlikelyhigh
People using streaming/live apps on devices that sleep or roam 500M 1B 2B
Misattributed-disconnect events per person per year 5 12 40
Seconds lost to the wrong diagnosis each timeReading the error, checking the (all-green) status page, wondering what's wrong — before realising it was just sleep. 5s 15s 60s

Who can fix it

Owner
Client / SDK error-handling teams (any app with a streaming or long-lived connection)
Channel
Per-app issue trackers · client SDK repos

You close the laptop lid. The machine sleeps, the connection carrying a live response is torn down, and on wake the app greets you with “Server error — something went wrong, check the status page.” Every word points the wrong way. The server was fine. You went to sleep. And it sends you off to debug a system that was never broken, past a status page that will (correctly) show all-green.

The real failure

The client had everything it needed to know the truth — it just resumed from sleep, the socket dropped locally, no HTTP status ever came back from the far end. It could have said “Connection lost — your device may have slept or dropped network. Reconnecting…” Instead it defaulted to blaming the server. That’s the tell of a lazy error path: “I don’t know what happened” rendered as “the other side is broken.” A local disconnect and a genuine outage are trivially distinguishable, and the client conflated them.

Worse, it dramatises the routine. Disconnection isn’t an exception — laptops sleep, trains hit tunnels, Wi-Fi blips. It’s one of the most ordinary events there is, and the app treats every instance as a crisis worthy of an alarm and a support link.

The math

1B people × 12 misread disconnects/yr × 15s = ~60 lifetimes / year

Just the seconds spent chasing a phantom outage. The band runs ~5 to ~500 lifetimes/year on the population and frequency estimates.

The fix: resume, don’t dramatise

Two changes, both cheap:

  1. Diagnose honestly. No server response code + a local network/sleep transition → say “connection lost,” not “server error.” Never send the user to a status page for their own sleeping laptop.
  2. Resume by default. Treat a dropped stream as resumable, the way a phone call that blips for two seconds simply continues. Hold the state, notice the reconnect, pick up quietly — no alarm at all.

Population and frequency are estimates — treat the headline as order-of-magnitude. Only the internet-user and life-expectancy figures are cited. The confident claim is the pattern: a client that misattributes its own local disconnects to the server, and treats an ordinary event as an emergency.

Difficulty to fix: easy

The app knows you have permission to be disconnected — everyone does, constantly. It has the signal that this was local. It still blames the server and sends you hunting. Diagnose honestly, resume quietly, and stop dramatising the single most routine event on any network.