143 comments

[ 3.4 ms ] story [ 220 ms ] thread
Back in the day, IIRC, sgi used to have pictures of crying babies for the 404 error page. It was a different picture each time. Younger me that that was pretty interesting and it kind of served as a little break from the monotony of the working day.
Everytime I see an elaborate "funny" error page, I always thing that I wish they had put that extra effort into a more specific error or not having an error in the first place. But I realize that is not an entirely fair criticism.
I remember seeing a whole collection of creative 404 pages from different sites—feels like a fun vestige of the "old" internet that we rarely run into today...
Waze losing my entire account with a "Bad News, Bucko!" was pretty infuriating.

I still occasionally use it in vehicles without built-in navigation, but I've never registered another account with them since.

Would you have kept using it more if, while your entire account is definitely gone, the automated error message was deeply apologetic about any generic issue you could be experiencing right now ?
I'm not sure. Losing over a year of in-app progress was massively frustrating.

The cute error message added a sarcastically saccharine layer to the whole experience, one memorable enough that I probably would have forgotten about it now otherwise. Given that, I feel that deeply apologetic kowtowing would also come across as insincere.

A simple, matter-of-fact message would have sufficed. If an apology is desired, a simple "We're sorry, we cannot find your account" would have been less inflammatory. Still frustratingly vague, but not insulting.

I think Jef Raskin wrote in The Humane Interface that the first commandment of a computer system should be not to lose a human’s data. Another example of this I ran into recently was finding out that Reddit only keeps a certain number of saved items and silently discards the oldest ones. I was saving a lot of stuff for 10 years and was sad that about half of that is gone now. Now I don’t save stuff because I’m not sure what the oldest links are that it will throw away to make room.
Would you not treat someone who is sincere and trying differently than someone who didn't gaf or didn't seem to grasp that something matters?
I'd probably still be pissed but

INTERNAL ACCOUNT ERRROR - ACCOUNT DELETED

would piss me off less than something cutesy.

The consequence of cutesy errors is: the person seeing the error might not like cutesy stuff.

The consequence of having a personality is: the person you're speaking with might not like your personality.

Seems cut and dried!

Yes. These things have two possible outcomes. Therefore the likelihood of each is 50%.
Is it in your personality to make light of someone's misfortunes, after your caused them? If so, then I guess this is a good analogy.
Anger is more useful than despair (Terminator 3). Maybe they're trying to anger the customers.
The worst one to me is:

"You broke Reddit!"

Like it is my fault the site has gone down.

But that is not completely incorrect, because sometimes the excess of users can an big part of the cause why the request failed, and you are an user, so...
Still not the user's fault. The user is trying to use the site; they didn't do anything wrong. The ones who broke reddit, in the sense of having failed to do their job in a way that resulted in breakage, is the backend reddit staff who didn't make a robust product or failed to scale properly.
I helped build that. You basically get that error when you get past all the exception handling in the code. There is one layer after that where you just see in plain text "Something went wrong", which is truly the bottom of the stack.

When we added it 16 years ago, people thought it was cute and funny. In fact, people loved it so much we sold t-shirts that said "I broke reddit" with one of the injured Snoos, and they sold out super quickly. This was probably due to the fact that the majority of users were engineers, many of whom also ran user facing sites, so they could empathize.

Maybe these days it makes less sense since the user base is so broad. But I'm not involved anymore and honestly it's sort of part of the brand now.

I hate cutesy messages, but this one never bothered me.

Reddit is a fun site, and can have a fun error message.

Oh I agree, this totally would be on point for Reddit at the time. However, not only did the user-base change, Reddit did as well; Between the ads, awards, and NFTs... errr... avatars, I feel that Reddit is now a lot better off financially than it was back then (I could be totally off-base here) and so the expectation is that it should now no longer be in a situation where my specific visit to the site took down the one MySQL box in the storage closet.
The comedy bomb icon on the original Mac's crash screen https://en.wikipedia.org/wiki/Bomb_(icon)#Mac_OS famously got old after a while.
I dunno, that reads less as comedy to me and more as a quick visual way to express "you're in trouble". Notably, the text in that screenshot is completely serious - "Sorry, a system error occurred. [details]" is perfectly reasonable, and the icon is just... flavoring. It presents to me as vastly more respectful than, say NT's ":(" error screen.
I think the bomb is confusing because it depicts something about to blow up, having the user wonder what it would mean for the bomb to explode and how they would prevent it, whereas in actuality the bad thing has already happened.
Some Mac users thought the bomb icon meant they MUST turn off or unplug the computer as fast as possible, or it would literally explode. Even a few who had been users for a few years. The possibility never occurred to me until the first time I heard someone in all seriousness (and with appropriate note of trepidation) assert it when describing how to handle it to someone.
A better complaint would be the about system call name. From Wikipedia: In the original Mac OS, the system call to display a "bomb box" was called DSError, for "Deep Shit". This was deemed obscene, and became the "System Error Manager".
Back in the 80s, a friend of mine had an Atari ST computer. I remember that the button text for closing an error dialog said "Sorry."
Steve Summit used to cite as a major UI win, some ancient Macintosh application that performed some long-running operation (print spooling? I dunno); when the operation was succesful, the button to close the dialog indicating so read "Yay!" When an error occurred, the button to close the dialog read "Damn!"
This makes me think of the wpost story I just read "States love jokes on road safety signs. The feds aren’t laughing."[1] I imagine any effective humor will have an audience that is smaller than the audience you are trying to reach with universal messages.

Just as traffic signs probably shouldn't try to be cute to a specific demographic at the expense of confusing or even worrying others, an good error message should serve two purposes. Give some type of next steps for the users, and second provide something specific enough to be useful if the user is able to contact customer support.

[1] https://www.washingtonpost.com/transportation/2023/02/13/hig...

On Massachusetts highways it is common to see "funny" electronic messages like "Wicked Stahm Coming" about an impending blizzard etc., and even though I get the "joke" it is enough to confuse me for a moment and I find it a nuisance. I have never seen this phenomenon outside of the USA and I hope this trend stops.
Tho it should be a crime

if the signs don't rhyme

At least use haiku.

Seventeen syllable sign?

No, not enough room.

The only acceptable exception being the "404 - You found a dead link" https://i.pinimg.com/originals/82/c6/6e/82c66e2672c795af6a73...
Probably a link to the past.
So, it's awkward?
One of the first "coding guidelines" I introduced at my b2b crud app programming day job is along the lines of "Don't use humor or jokes in our business facing applications and codebase"

I assumed it was common knowledge not to do that crap. I was wrong.

Don't use humor in staging either. You might forget to remove it, and suddenly a joke makes it into prod and people are pissed at you.

This (possibly) happened to Riot Games a couple years ago for their yearly predictions for the World Championship; they had some flavor text about the wildcard portion of the tournament being boring or something and people got pissed. They apologized and explained that it had been a joke from dev that made it into prod that shouldn't have ever been published, but...that shouldn't have ever been typed into the computer in the first place.

It's not about knowledge. It's about convention.

You set the convention where you were - great! I honestly prefer that too, but it's just a convention and not some kind of hard truth.

Before I was even realized as a possible future software engineer, I remember being fascinated by easter eggs.

https://www.stuff.tv/features/hatched-best-easter-eggs-tech-...

As a welp, I remember learning all about the jargon file and how important it was to sound 1337.

http://jargon-file.org

As disoriented, newly-hatched engineer in far-away Redmond, I remember learning about the Windows Registry and why loaded packages were called "hives" (dev was harassing a coworker with a fear of bees).

https://devblogs.microsoft.com/oldnewthing/20030808-00/?p=42...

These things are part of hacker culture. Welcome to HackerNews!

Tone deaf error messages that act like I'm supposed to chill and laugh at my shit breaking are not easter eggs.
I don’t mind it in the code, some of the best laughs are creative comments in code, just don’t put it in the interface where a user can see it.
In my previous job any humor or "humor" in the code was forbidden as it was audited by our customers. At first I thought it was stupid but after a while I was thankful not to have to read the same tired jokes all the time.
I've made error messages along the lines of "If you see this then something has unexpectedly gone wrong <description of error the developer would understand>" for cases when the error condition should never occur under normal circumstances and should have been trapped for and solved earlier in the process, this being a belt-and-braces catch-all message as a last resort.
Yeah, that's totally normal right? What else would you do?
If somebody hits an error, they’re some mix of anxious, angry, or confused, and cute or unclear language does nothing to help.

Yeah, and in this case, what language does help? Unless there's a call to action in the error message, I don't care if someone told me I broke the Internet, there's a picture of a whale, they tell me it's awkward, or if completely neutral language is used, none of that really makes me feel better about or helps me in my situation.

A helpful error message would quote or at least link to documentation. While they're at it, they should also fix their crappy docs!
I think part of the problem is that programmers now feel they "catch all errors" and so they don't really need (or even can) have descriptive error messages.

Of course, that's not the case, and all sorts of errors get through, but they find them and put in fixes and don't update the "way" errors are displayed.

I think the author is pointing out that, even if the error message is useless, it should not try to be funny. The funny bit is upsetting in these stressful situations.
I understand what you're saying from a practical sense.

But having cutesy error messages shows a complete lack of empathy for your users.

Better to just communicate that there was a problem, and if you need to say anything else, maybe just a short "we're sorry, but there was a problem completing your request."

Obviously more helpful information is better, but making light of your customers' stressful situation is the opposite of helpful.

You generally can't make someone feel better, but you can avoid aggravating them more.
A clear instruction is the most helpful (“Try again or contact support”). A root cause reason for the error (“Connection timed out”) is somewhat helpful, an error code (“408”) can be at least a little bit helpful if user-facing or customer support-facing documentation exists.

It’s not the job of the software to make the user feel better or be the user's friend. It is the software's job to accomplish a task effectively or to communicate why it can’t.

Maybe some day we can have NN and LLM friends in the style of Blade Runner’s Joi - it would certainly be an interesting future to think about. Until then, software should focus on its core purpose, which is certainly not friendship with the user.

I don't know who of you remember Radiskull and Devil Doll, but before Homestar Runner came along that was pretty much peak Flash cartoon. Back in the day, on their old web site, on their 404 error page there was a reference to the lyrics of the song in their second cartoon, "Hella Weenie" ( https://www.youtube.com/watch?v=_75SUwTJg54 ):

Radiskull: From the E to the double R-O-R to the 4-0-4, what does that mean?

Devil Doll: Page not found!

I think that for low-stakes entertainment sites like that such cuteness is very much called for... but for like a business, or especially an OS, not so much. In my OS I want verbose error dumps.

While we're at it, can we stop using "Got it!" instead of a simple "Ok" or whatever plain acknowledgement should be there in its place.
+1

I think this trend comes in waves/cycles. Where I work, product designers are constantly switching between "ok" and other unnecessary complex sentences. The problem is that they lead to all sorts of consistency issues depending on when some dialog was implemented and by whom. Overall, it all looks like a mess.

Thankfully, we recently standardized the dialogs so you can't even have custom "ok" messages. Now it's properly localized and standardized everywhere.

I wonder if we ever get back to "Abort, Retry, Fail?"

Along the same lines, seeing "No Thanks" or "Maybe Later" instead of just "No" is also infuriating.
It's like an abusive partner covering your mouth when you try to say "No".
"No Thanks" isn't nearly as bad as "Maybe Later" as the only choice other than "Yes", where "Yes" means I agree to be spammed with marketing material, notifications, or accept a paid service I don't want. "Maybe Later" means I'm going to be asked again and again and again if I want this thing I don't want. If they want to have me click "No Thanks" and they accept the No, that's fine with me.
These are intentionally done by marketing dweebs to increase click-through I have to assume, because you have to spend extra time trying to find the "fuck off" button.
There was a folklore.org[1] article about user testing and the original Mac - the OK button was originally "Do it" - but one user was particularly frustrated because he misread it as "Dolt" and thought the computer was insulting him. (Likely this was someone with very little experience with a GUI.)

[1] https://www.folklore.org/StoryView.py?project=Macintosh&stor...

"Got it!" is because they are bullying you into a false consent for whatever bullshit they are forcing on you.
At least “token not provided in guest headers” is something I can search for. Or a clue that I could look in the network tab of the dev console.

Better than the “something went wrong” message, which is just lazy and condescending. It’s basically saying “we can’t be bothered explaining because you wouldn’t understand.”

I remember the first time I implemented in app purchases on iOS and trying to track down who on our team wrote the very out-of-place “You’re all set!” confirmation dialog. It didn’t even click until later that that was coming from the OS itself.
ಠ_ಠ We're looking at you, Chrome with the "Aw snap" bs
The software industry gets more infantile with each passing day.
This is what happens when you try to save money by hiring people straight out of a 6-week javascript bootcamp
You mean full stack software engineers?
Not that I’m disagreeing with you but your bio is quite funny combined with this comment.
Yeah. I can be a bit cynical about the software industry that I work in though I'm not directing my cynicism toward any particular person. Regardless, I'm not perfect.
(comment deleted)
Error messages are a double edged sword....

There are no shortage of people old enough here to remember the default PHP settings dumping out far more error details than needed to potential attackers. Most systems these days print out something like "Bad error happened: $ID", where you the end user still have no idea what $ID means.

Also, it looks like you're browsing on an iPhone... what do you want, a full javascript stack dump? If you got an error message like 'bearer token not passed from intermediate processing system' what exactly are you going to do with that anyway? Retry the transaction?, try a different browser?, uninstall/reinstall the app? Most of the time these just cover up something you can't do much/anything about anyway.

The user likely doesn’t want any details about the error itself. Instead, they want to know the consequences of it and/or how to recover from it. In this case, what parts were finalized (was the money spent or not) and where in the ticket buying process they need to restart from.

The problem is that the developers use these messages for debugging their own problems. If that’s necessary, include a unique error ID in the message also, but that’s much less important than telling the user what to do next.

An error message should communicate:

   1) That an error occurred
   2) Whether it's the user's fault or not (hopefully not)
   3) What the consequences of the error are (did the transaction go through?)
   4) What further action the user can take (reload and try again, stop putting emojis in our text box, whatever)
   5) How/If it's appropriate to contact you about the error
   6) Some cordial condolences.
For example:

   A network error occurred during checkout. The transaction may have gone through regardless, please check your purchase history before trying again. If this continues happening, please email xxx@xxx.xxx with the following error ID: 123456789. We're sorry for the inconvenience.
Randomized cutesy errors (or non errors) are even worse. I'm thinking of the Slack app here, where unhelpful errors are a constant frustration for me. I'm not your friend Slack. I click in the search bar and it says "Enter your search term. You have the window open anyway." Which is salt in the wounds of having to use this app on macOS where I only get one "window" for multiple workspaces. Hate hate hate this thing and it's faux personality.
Since I program in an interpreted language, I can use an undefined function name to generate an error message, such as:

    NameError: name 'youreHosed' is not defined
Of course I have to remove those before I share my code with anybody outside of a tight circle of colleagues who know about my sense of humor.
It seems like the internet has had to become less "fun" as it's become more essential and universal to modern life.

It used to be a much sillier place where such error messages could be flippant, but now our software has gotten more complicated and capable, so getting an error on step 7 of 31 in some complex task is infuriating whereas it used to be a fun wink for computer hobbyists.

The overarching issue is conflating error messages that are useful for engineers doing the debugging, like "token missing" and the cutesy ones sent to the user "oopsie whoopsie, computer broke :(". You can then use whatever messaging your product direction needs for the user-facing messaging.