Live data from Hacker News

What the Fastly outage can teach us about writing error messages

onlineornot.com

41–50 of 137 posts

Re: What the Fastly outage can teach us about writing error messages

#41
Unfortunately the majority of internet users aren't trained in the art of reading HTTP status codes

I think the majority know what 404 is, and possibly 403, but I agree about the more obscure ones.

That said, I don't think it's a bad idea to rely on the "default exception handling behaviour" that the majority of users, even non-computer-literate ones, will have: they'll retry a few times, see that it doesn't work, and go elsewhere for a while.

Re: What the Fastly outage can teach us about writing error messages

#42
post #4

Good error messages are hard. There’s so many things that can go wrong, and each needs its own custom explanation. Never really found a good way to organize this. And since errors should be uncommon, it feels like a waste of time coming up with thoughtful messages.

Good error messages have a template: a UUID, a description, and a suggested solution. This gives folks enough to try to solve it themselves and also enough to Google / grep with.

Without telling malicious actors how to break your systems further.

Re: What the Fastly outage can teach us about writing error messages

#43
post #8

Earlier quoted context omitted.

Embed both in the page.

I suspect most folks, especially ones which operate at GB/s rates serving traffic would not like to serve up a 100kb base64 encoded image every time an error is thrown.

Browsers send the Accept headers, and I have configured my CDN to return a plain text page for static assets (that users wouldn't see on the browser), but text/html requests get a useful 10-20 kb response. Should be a trivial thing to setup.

Re: What the Fastly outage can teach us about writing error messages

#44

I have a particular dislike for Apple over this - I think they set a trend of unhelpful error messages tied to obscure codes back in the 1990s. Sadly they've been joined by Google. 'Something went wrong' could have come from the Sirius Cybernetics Corporation.

Obscure but unique and googlable error codes are great. At a previous job, we had a large project to go through the codebase and tag every single user facing error with one, then publicly document them with likely causes and solutions. Support volume dipped noticeably.

Re: What the Fastly outage can teach us about writing error messages

#45
post #8

Earlier quoted context omitted.

Embed both in the page.

I suspect most folks, especially ones which operate at GB/s rates serving traffic would not like to serve up a 100kb base64 encoded image every time an error is thrown.

Or just cache the image with a major CDN, like Fastly. No wait...

Re: What the Fastly outage can teach us about writing error messages

#46
post #5

So that looks like a stock Varnish 503. I'm pretty sure the magic behind fastly is a ton of Varnish cache. What's interesting (VCL can be unforgiving), also that it was a big central stuff up. Which makes me think they have layers and layers of caching in depth and some top level config just blacked out everything. I kind of would have thought they'd have lots of small instances.

Most outages are config errors. Code errors would be detected before they broke everything.

Re: What the Fastly outage can teach us about writing error messages

#47
post #11

Earlier quoted context omitted.

The problem is that you have to know exactly what has gone wrong to show a proper message. But if you know what is wrong, most of the time the correct action is to fix the program so it does not go wrong instead of showing a better error. With the main exception of user submitted data validations where it is up to the user to submit correct data. For the average web service, there the error is a stack trace and there…

Even if there’s usually nothing the user can do I still like to have all the stack traces, etc visible - because sometimes there’s enough of a hint that you can get a workaround. A number of DNS failures I’ve worked around with the hosts file.

You've worked around server-side DNS failures?

Re: What the Fastly outage can teach us about writing error messages

#48
post #3

I've had more than one intern or young engineer that I've had to teach to resist the urge to put witty comments and jokes in project docs, comments, or errors. Especially in error messages or things that can be exposed to users/customers. Even if it's an error you think only the dev team will see, you never know if it will make its way out to audiences you didn't intend. Somehow I doubt people faced with this error m…

https://theamigamuseum.com/amiga-kickstart-workbench-os/guru...

Re: What the Fastly outage can teach us about writing error messages

#49

Reminds me of the quintessential tweet about error messages https://twitter.com/cherrikissu/status/972524442600558594?s=...

Right up there with Slack etcs fake loading messages "Gearing up the dildonator" "Implicating the fairies" "Hogtying George Bush" Dude - just give me a spinner or a progress bar, and if something errors during the load out give me some sort of stack trace or error ID I can use to help

ProductBoard likes to tell me:

> Without good products, life would be a mistake.

> Make products that matter.

> Product excellence isn't a point in time. It is a state of mind, it is a way of life.

> So many feature requests, so little time.

Maybe they're being silly? I hope so. But I've also met product managers and designers who seem to think like that. It makes me internally sigh every time I have to use their product.

Re: What the Fastly outage can teach us about writing error messages

#50

Reminds me of the quintessential tweet about error messages https://twitter.com/cherrikissu/status/972524442600558594?s=...

Right up there with Slack etcs fake loading messages "Gearing up the dildonator" "Implicating the fairies" "Hogtying George Bush" Dude - just give me a spinner or a progress bar, and if something errors during the load out give me some sort of stack trace or error ID I can use to help

They should at least be reticulating splines.
Post reply on HN