I really hate the way the "Gah" wording feigns shock, as if Mozilla are also inconvenienced alongside me. Then the meat of the error implies I am at fault. It's my tab that crashed, and I caused it to happen by doing whatever I did on whatever page I was choosing to visit. Any blame is deflected away from Firefox itself.
Then it makes me feel doubly bad because I immediately realize I'm getting upset at something incredibly trivial, but man it annoys me!!
Honestly, as an engineer "Gah" is generally what I do say. When I experience difficulty with software others create, when I discover frustrations with software I create, and when I discover that a customer experiencing an issue that made it out the door that clearly shouldn't have.
It's a very caveman-esque "gah, thinky box no work" type expression, or surprise "gah! wtf just happened!?"
Not trying to invalidate what you feel - just trying to share a different perspective. Perhaps a nudge to give the devs the benefit of the doubt that they don't want you to feel bad things when using what they've poured a lot of energy into.
As a computer professional (I assume), you have a firm understanding of where the text of those messages actually comes from, and that any specific emotional wording can be ignored. Thus, "commiserating" messages feel patronizing.
However, to someone for whom computers are mysterious and capricious black boxes which seem to have been put on this Earth solely to test their patience, "friendly" messages may carry tonal information which you take for granted:
* You did nothing wrong
* This is unintended and regrettable behavior, and we apologize
* Nothing is catastrophically broken
Consider that your mild irritation with a patronizing message is possibly preferable to some poor grandma hurling her computer out the window because "This program has performed an illegal operation and will be shut down."
If users were rated by the quality of their comments, you would be near the top. When I find quality like you provide, I bookmark the comments archive page to review later.
(While I appreciate what you do, hopefully this doesn't encourage you to spend time away from what all else that matters to you to write better comments.)
This is unintended and regrettable behavior, and we apologize
This is what the message should be. Maybe. I'd rather the software I use be apologetic than attempt to be my friend. That said, I'd settle for "we goofed, sorry" So it's not so much the tone (casual), but the content (own your defect, don't commiserate).
I worked in tech support for several years; I am fully aware that I am not like most computer users, and that clear, friendly copy makes a difference to non-technical people.
Fortunately, there is infinite space to play in between "Gah"/"Well this is awkward!" and "This program has performed an illegal operation and will be shut down."
Gah! It looks like you broke your tab. We all feel sad when we make mistakes, but that's why pencils have erasers. Hey, it looks like you're writing a letter.
I don't get shock from "Gah." I get embarrassment and disappointment, which seems appropriate for the situation. Firefox is ashamed that it screwed up.
Then again, I'm from the age when the internet was still fun, and everything didn't have to be corporate, uniform, serious, and boring.
I'm from that age too, but it groomed me to cringe when a $XXM international corporate brand tries to be casual and fun. It doesn't feel authentic. It doesn't feel like it speaks from some relaxed, hacker culture at Mozilla. It feels like somebody in a designer hoodie with an ocean view conference room wants to brand Firefox as the fun alternative. It only makes me miss those old days more.
My memory of the 'old days' was that instead of a tab crash, the whole browser would crash, and instead of a helpful error, you'd be forced to terminate the process and get some generic Windows error feedback prompt. I suppose that was real hacker culture?
Either way, I don't mind cutesy messages so long as they contain at least a code which can be traced back to wherever an exception was thrown or whatever. The main problem is generic error messages which are a problem whether they're cutesy or not ('an error has occurred').
I get fatuous inauthenticity. It's a computer program not a person, and no single person wrote it or actually feels any aggrieved embarassement for that mishap, since they aren't manually performing the task that went wrong. They may say "gah" sincerely sometime later when they read a bug report, but that is some entirely seperate thing.
Yes. British railway stations have a computerised voice apologising for the delayed trains. If it was a human making these announcements I could imagine them feeling a smidgen of regret. But with a computer I know nobody gives a shit.
You could make that argument about any copy. If you pick something neutral tone someone will say it's sterile and uncaring. If you pick something technical someone will say it's pointless and confusing. If you pick something firm someone will say its angry or condescending.
Yes, but I like the reference to Scalzi someone else made in this thread: the failure state of clever is "asshole."
Sterile, professional, and uncaring is a heck of a lot better than a chunk of the user population thinking "it's worse than them not caring-- they're actively mocking our complaints/problems!"
I think you're highlighting the issue on why this is a bad choice. Words like "gah" mean different things to different people. They may not even mean anything at all to non native English speakers.
If they are aiming to use their browser in English I don’t think that’s bad? Firefox is translated into many languages, so if someone uses the English version it’s likely deliberate.
English as a second language speaker here. I've used all programs in English for a very long time because 1) the translations universally suck 2) the non-English terms are more cumbersome, confusing, and harder to look up.
If you're just trying to call a friend, and you put in a wrong digit, the fun response might be a brief chance to have a good laugh at yourself, but, if you are doing something like say trying to call a doctor to ask for lab results on a cancer screening, or you're trying to call the bank to report a stolen credit card, and you get the wacky "Whoops! Looks like you you need to get a dialing wand! lol"[1] response, it is not going to be well received.
I guess what I'm trying to say is that a joke message can have a certain place, but I think that it means the developer has to take some time to consider "Is this ever going to be used for something serious or time sensitive?" If it's just a small project, who cares? But if it's going to be used by more than a friend group, or a niche circle of 100-500 users, it's probably better off left in as a joke comment, instead of a user-facing error message.
I don't need "corporate, uniform, serious, and boring."
I generally just want things to be genuine. With error messages, that should be no-nonsense - when software crashes, I'm not interested in how verbally clever the vendor can be.
Remember your cutsey expression of your individuality might be cute the first time your software crashes, but after the 100th crash, doesn't come across quite the same way.
Does the Internet need to be regulated like industrial control devices? Should we get permission from AT&T to certify what we can connect to the network?
The Internet is a tool for everyone, not just gray-beard, elitist gate-keepers. There is room to experiment, make mistakes, and even harmless fun.
Keep in mind Firefox is the least corporate of all major browsers--recent CEO shenanigans not withstanding.
EDIT:
> You were 12 using the hard work of a generation of engineers to surf geocities without knowing it.
Um, so? Thousands of generations of inventors toiled away for you to even touch a computing device (fire, argiculture, rule of law, professional armies, enlightenment, vacuum tubes etc.)
Kind of like how Windows' first-time boot-up greets you with a flat (and totally inappropriate) "Hi"
Like fucking seriously, not even "Hello"? "Hi" is how I greet the coworker I don't really even like that much. Whenever I see this I think of the Argonian NPCs from Oblivion, who would also greet you with a very flat "Hi"
"Greetings," "Salutations," even "Welcome!" would be a better choice here.
Windows XP used to have "Welcome". It was a better choice... in the English version, that is. Apparently properly translating that word was difficult because e.g. in Russian version it said something that'd be roughly equivalent to "a welcoming" in English: they've used the word that means "greeting" but can not by itself serve as a greeting. The overall effect was that you were left mildly puzzled: "did they just forget to put an actual greeting in there or?.."
What software translators (who are usually outside contractors) get is a list of strings with no context, no opportunity to ask what was really meant (including part of speech—blame English—and the intended meaning of this or that %s), and frozen code even if the programmers screwed up (show of hands—ever built up a sentence out of interpolated parts? there, you screwed up).
If you’re lucky, you get English string IDs (and not Chinese or numeric ones). If you’re lucky, the list is complete and in order (and not stripped down to only the untranslated parts so you don’t see how much the agency is avoiding paying you). If you’re lucky, the customer has an localizaton QA department (i.e. a couple of guys per language) which will walk through the UI to try and find the most obvious screwups (and won’t not just merge the Trados back into the source and run the resource compiler).
Every professional involved understands it’s impossible to get a good translation that way. None of them can do anything about it, because the agency will just switch to a less picky one. The good ones try to make something of what they’re given; the bad ones just give up. Almost none of them actually use localized software; almost every one of them looks on wistfully when you show them the Gnome sources with the paragraph-long TRANSLATORS: explanations for every other string. (That’s why Crowdin and Transifex drive me into such rage, BTW—they essentially reproduce the commercial broken-by-design process for hobby developers.)
You know what the most recent innovation is? Have the translator edit a machine translation.
Give your translator something to work with. And for goodness’s sake, if you can afford it, find a couple of freelancers and listen to them—that’s who is going to do the work anyway, might as well give them the whole sum and not the ≤ 30% they will get after the agencies’ cut. (Yes, a small but sizeable portion of candidates will be blatantly incompetent and/or try to screw you over. Duh. It’s a freelancer market.)
My all time favorite machine translation was from a very early online service (I think it may have been by AltaVista) that translated "Würzburg" as "peppering castle".
This. Both are informal greetings, but "hi" is more informal. Mostly interchangeable, but I tend not to use "hello" much - usually either "hi" when passing a peer in the hallway or "good morning/afternoon" if I need to be a bit more formal. FWIW, I was raised in the US, but with Scottish parents, so my speech & vocabulary differ a bit from most Americans.
Also, that animation looks 100% like how they portrayed your computer being hacked in movies. You know, when the UI completely disappears and the only thing you see on the screen is the message that the hacker wants you to see.
I don't mind the sad face in that context. It shows they know they let you down.
I maintain a build system at work, and I have it display an ASCII nuclear blast when folk pass in command line arguments that are known to be "dangerous".
That might be specific to where you are from. I can only speak for Australia and New Zealand, but "Hi" is perfectly acceptable. Unnecessarily formal speech can come across as disingenuous, and maybe a little patronizing. Although the same is true for overly familiar speech as well.
I say hi in Germany all the time, which even has a formal form of interpersonal communication, and I never even get a second look from anyone. I say hi or hej on purpose because I am trying to teach Germans to be more efficient (some say moin, which is decent). If hi is fine here, then it is certainly fine in any English-speaking country/company. :)
Nah. Hi is fine. So are hey, hullo, hallo, and in some casual companies and especially with friendly co-workers, even "yo" and "\'sup".
But seriously, hi is fine. There's nothing wrong with it. I personally think it is friendlier than hello, and it is certainly more efficient, which is why I say hi in Germany when people say "hallo" to me. Like, seriously, 2 syllables to say hi? So inefficient.
I mean, your work computer is usually a co-worker you don't like that much (because it never quite does the thing I want), isn't it? Heck, I'd say that about my home computers too.
The computer for me is like the co-worker that does almost, but not exactly what I'd like it to do except when they do, the guy thats a little awkward when you run into them in unexpected situations, but he works pretty hard and works at least as many hours as you do.. except when they don't.
I view my work computer as a manifestation of half a century of highly technical work by millions of brilliant engineers, each and every one of them doing a slightly crappy job.
the importance of "hi" vs. "hello" is so low, so far down the list of bad messages that it's on the part of the long strip of paper that it is located about halfway back from its trip to the moon.
this is what you choose to complain about? your life must be exceptionally trouble-free.
They're trying to come off as friendly and inviting, but I read it as half-assed.
Perception is a bitch.
If I had my way we'd dispense with all these stupid pleasantries. My computer is not my friend, Windows is not my friend, and Microsoft and their awful marketing droids (who almost certainly guided their choice of words here) are most definitely not my friend. Who decided that Windows needs to talk to me like a middle-aged soccer mom (or an argonian shopkeeper)?
Nothing wrong with "Welcome", "Error 404: File Not Found", "Bad command or file name", etc etc etc. (Ok, maybe the last one is a bit cryptic, but it is telling me exactly what went wrong without any fluff, which is how all software should be.)
Computers are our servants, not our friends. They should act like it, and we should stop trying to humanize them.
Why is formality any more natural for a user interface than casualness? This seems like an extremely arbitrary personal preference masquerading as reasonable criticism, no different from getting riled up about the fact that Windows default theme is blue when it should _obviously_ be green.
> Computers are our servants, not our friends. They should act like it.
I had a live-in housekeeper for a chunk of my life, which is roughly as close to "servant" as one gets in the modern West; we communicated in normal, casual English. If you are going around insisting that service workers address you like an aristocrat, you're an enormous asshole.
I think a big part of it is the fact that it's a full-screen captive display, with an excessively long timeout. If it was a stupid little popup in the corner that said, "Hi, welcome to Windows!" It would have been cute.
If you're going to get all up in someone's face and demand their complete attention, there's a high bar for expected politeness, or at least some entertaining wit. "Hi" is just lazy and conceited. "Welcome. Please wait while we prepare your desktop," would be tolerable. A Maxis style status bar rambling on about "reticulating splines" would be funny.
To relate it to your experience with a housekeeper, if a housekeeper shouted your name from across the room, tapped you on the shoulder repeatedly, and then unplugged the TV you were watching to get your attention, you would expect them to say something like, "my apologies sir, the den is on fire," rather than, "lol, howdy."
A computer isn't a servant, though. It's a tool. A circular saw with a sassy personality means a trip to the hospital...
> if a housekeeper shouted your name from across the room, tapped you on the shoulder repeatedly, and then unplugged the TV you were watching to get your attention, you would expect them to say something like, "my apologies sir, the den is on fire," rather than, "lol, howdy
You're talking about something completely different, urgency rather than formality. In the rude interruption example you gave, you combined the two despite them having nothing to do with each other. "holy shit bro the den is on fire!" would be an infinitely more appropriate reason for a rude interruption than "my esteemed sir, how goes your day".
As I said, it's an arbitrary aesthetic preference. GP's irritation that computers dont address users as aristocrats makes just as much (little) sense as getting angry that they don't shower the user with compliments about your appearance.
Like, it's cool if they're into that, but it's super weird to describe it as a general principle of UIs
That’s how you feel about computers, but that’s not how the average windows user feels about their computer. I’m not saying the average Windows user considers their computing device to be their close personal friend- but there’s a reason that the blue screen of death was phased out. Nobody (not even you) wants a hostile relationship with their own device (eg: BSoD) but most users would prefer to think that their own device is at least their confidant if not their ally.
Would a confidant or ally obscure the reasons for problems behind a friendly face? Would they use subtlety and emotional manipulation to push you to use the things that they want you to use?
Is my computer my ally/confidant, or is it trying to control me from the shadows?
An ally does not behave in the way that Windows has been programmed to behave. It should be straight and narrow with me when something is wrong. Not friendly and fake-diplomatic.
Once again, we are shown an example of how business greed and the desires of average, illiterate users ruin computing for the people that understand them and are capable of making the most with them -- the power users. Of course, rather than spending the extra effort needed to elevate ordinary users to a more literate status, we happily stoop to their level as it makes obscuring the various telemetry and profit machinery embedded in Windows far easier.
Lol, I have a very hostile relationship with my Windows machine since around the Windows 8 era, but that's entirely on Microsoft ;)
A user shouldn't be victim to the whims of some far away UI/UX designer who only designs for what some data fortune teller thinks is their "average user". Computers are machines, designers need to stop anthropomorphizing them.
At the very least give me options to switch that crap off.
PS: But by far my main gripe with the "modern" UI philosophy is: a "No" means frigging *No*, it doesn't mean "not now" or "maybe later", I also can guarantee that I won't change my mind (and if I do I will find that option in the settings window myself, thank you). Not offering a simple "no" in a yes/no choice is an insult to the user's intelligence, it's as simple as that.
> Nobody (not even you) wants a hostile relationship with their own device (eg: BSoD) but most users would prefer to think that their own device is at least their confidant if not their ally.
I have a very hard time believing that Microsoft cares at all about avoiding giving users the appearance of a hostile relationship with their own device. So many choices they make (or take away from us) are way too user hostile for that to be their concern.
They have no problems making it painfully clear that if you are running windows then the device you paid for belongs to Microsoft and they will dictate what it does whenever they want, along with what you are or are not allowed to do with your own system.
It's not like the "blue screen of death" was a feature. It was the kernel aborting due to an unrecoverable failure. They "phased it out" by making the kernel more robust because folk like their kernels to not abort, not because the blue screen was an interior UI choice.
I remember getting a mac to "blue screen" back in 2008 or so, by repeatedly plugging in a Logitech mouse while pushing its buttons down.
Also Windows still bluescreens from time to time, only now it has a giant sad face emoticon, with the error code a tiny label tucked away in the fine print down the bottom.
It is bad enough that it fucking talks. First time I encountered that it screamed at me from the other side of the building because someone at Microsoft decided greeting new users with speakers turned to eleven is welcoming.
Or the condescending statement from Cortana about agreeing to the Windows EULA, or else... Ya know...<contemptuous pause> No Windows.
Seriously. It is the one thing that if I didn't need a Windows test system, I'd reject it every damn time just for being there. In fact, if they were a human, they'd be kindly asked to evict themselves from my domicile in perpetuity.
The tonality of all the new copy in Windows 10 is just bad. It's like a bunch of nontechnicals got together and tried to cuteify the OS.
I had totally forgotten about how obnoxious Cortana was (I always turned that shit off first thing), or the condescending text that accompanies large updates requiring you to re-certify that no, you don't want to use Microsoft Edge, thank you
Don't even want to imagine what Windows 11 is like, none of my PCs can run it (thank god)
While still bad in that way, its probably better than 10. It has a heap of its own issues, but my personal experience hasn't been quite as grating as far as the language is concerned. It's a healthy reasonably unoffensive middle ground of informative/understandable and casual. W11 has bigger issues than language.
Well, you chose to complain about somebody complaining about an item you deem trivial - so, by your own premise, your comment is effectively "$trivial ^ 3".
This piece focused on a machines appearance, but later they comment that really what's at the root of peoples issues (the people that have them) is that they resent the anthropomophizing of machines in general - which I would take to include speech.
Also stop treating your users like idiots. The "Something went wrong" of Microsoft products is just offensive when it doesn't even show you the error code - it's basically saying that you're too stupid to understand, so we're not going to show you exactly what happened. I'd maybe understand if it was just MS Word doing this, but when an Xbox Devkit does that, which you know - by definition - only professionals can have and use, then it's worse then useless, it's actively condescending.
Nah, it's just that Microsoft doesn't understand it either. That's why it's just logged as a damn guid in the event log, that exactly one other person on the planet has encountered and no one on the Microsoft forums have responded.
The ones where you search how to resize an image, and the very helpful guide on coolmagictech.com tells you somewhere around the 2nd step to download and run the CoolMagic® MagicResizer™ tool?
I haven’t seen one of those in like 5 years… But then again, I also haven’t used nor troubleshot Windows in those 5 years. Might be a correlation there?
You know, a while back a friend of mine was involved in a criminal case and needed to hand in messaging data to the police as evidence. Problem was, they did not want to hand in the whole phone but the app didn't provide any mechanism to get message history to your PC. The app was not globally popular enough to have publicly disseminated solutions.
Time was at a premium and the one option seemed to be one of those sketchy Windows app at an equally sketchy website where you could buy the software via cc. I explained the risks to my friend who decided to give it a shot (on a clean Windows install which was later wiped, of course).
It worked, just as advertised. We got all the data in a usable enough format. Surprisingly enough.
I always feel bad for companies like that because you're sitting there going "omg this is totally a scam, I'm absolutely going to get my card stolen", and some wee guy in Chechnya is sitting there going "oh hey, my fourth sale of the year, think I'll buy a sandwich and coffee with my massive winnings!"
I have a broken installer. I get some random error. Googling suggests I need to reinstall the software... whose installer I am trying to debug. Gee whiz never could have thought of that!
I always do a double-take at the "something went wrong" messages from MS and the dinosaur browser errors in Chrome, because they trip the same part of my brain that's been trained to notice phishing emails.
That's not the point - if my mum gets an error trying to do something, showing her "something went wrong" is not helpful in any way shape or form. Without even a hint of an error code, I can't help her either even if she calls me and asks for help.
Recently I have this issue with my energy supplier, every time I try to change tariff in the app(like they tell you to) I just get "uh oh something went wrong". Like......that's condescending to the maximum.
Yep. And sometimes it's my fault too! Like, if I was fucking with the router settings to do something but then forgot about it, I'd appreciate “your internet doesn't work, idiot” over “uh oh, something went wrong :(”
Same goes for redditors who need to end their sarcastic messages with /s tag. Okay, so you passively assumed I am too much of an idiot to miss your sarcasm. I will always downvote these posts.
Perfectly expressed in this tweet[0], which originated the "Oopsie Woopsie" meme back in 2018:
> "Can websites please stop the trend of giving error messages that are like "OOPSIE WOOPSIE!! Uwu We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!" And just give me a fucking error code so I can try and fix it"
I completely disagree with the tweet. Apps usually show this kind of message when the user can’t do anything to fix the problem.
If the “code monkeys” are working on it, what’s the user going to do about a crashed database or any other server-side error? If you can do something to fix the issue, the app will usually give you that information.
Of course, the app might be clearer and tell the user to retry or contact the administrator. But a generic error message usually implies server-side failure anyway.
Perhaps this person expects to receive server credentials as well?
The vast majority of the time I've run into programs and apps giving me a vague error message, you can look behind the scenes at logs and Event Manager and similar. It's almost always a dumb software dev made a dumb assumption about a specific file being in a specific place and just chose to not check the return value for errors and it dies.
If you log the API calls and debug it yourself, you will be able to find the stupidity and delete/fix/move whatever errant file is causing the issue.
So often, literally returning the raw API return value in the "Something went wrong" window would be the best information to provide.
It's laziness, it's devs thinking "Users are stupid". It's NOT hard to put a checkbox in the settings somewhere that says "show advanced error details" if you are so damn terrified of average people seeing "Scary" error messages.
I remember the first time we came across this back then and everyone losing their minds. We used to open tickets with fucky wucky all the time when we knew the ticket was gonna be exchanged within our group lmao
I think this article is great but it buries the lede. The cutesy errors are indeed bad but more important is being informative about what actually went wrong and how to resolve it. A while ago I introduced a new error class hierarchy at <JOB> which introduced three distinct families of errors - one that was considered a user error (that would be thrown in response to some action that we can predict happening but not totally prevent), one that is considered to have a user friendly message but be generally unexpected, and anything else. If you try and insert something invalid into the DB you'll get a user unfriendly message - if, within the calling function, you know why your call to the DB would fail with a key collision (for instance) you can create a new chained exception off the original and rethrow with a human readable message - when it hits the top level of execution (assuming nothing catches it) then the error printing logic will iterate through the full chain and print everything human readable and dump the full traces of any errors not marked as user side.
This lets us quickly triage new errors (since known user errors are kept out of the main error log) and presents an easy way to convert logged errors to unlogged ones when we've determined the source of the issue (assuming it's an exception we're comfortable with - a lot of our "user" errors are server-side validation that should be prevented by client-side code).
It also forces any errors that we haven't specifically marked as human-readable to render as "Internal Server Error" which we hate along with supplying an easy route to provide a more meaningful error message.
I never, in my life, want to read an error message that starts with "GuzzleHttp encountered a malformed response from aws. ..." nor do I ever want to see "[SQL1002] The newly inserted row would violate constraint widgets_name_key" - write good errors.
This was a twitter thread, so not too surprising, but the concluding tweet went there too: "Good error messages explain what’s gone wrong, and give clear instructions for what to do next – and being cutesy rarely helps." and there's a link to https://alexwlchan.net/2020/10/the-importance-of-good-error-... as the dedicated writeup (also from tweets) for that specific point.
I disagree with nearly every response in this thread (not yours). The 'cutesy' error messages are step 1 to providing a better user experience.
'This is awkward! Something went wrong and it's probably our fault :-('
is much better for users than
'Unexpected error occurred in logTicketResponse'
And no, it isn't sufficient, but it is better. Providing useful error messages is really hard (and it sounds like your application does a good job of it), and we as software developers are not very good at it.
For everyone who complains about the cutesy error messages, how much time are you spending in your own code to provide useful error messages that explain the problem and suggest resolutions?
Absolutely not. A cryptic error message still provides value to the user even if they don't understand it. Not only can they search and ask about it (maybe someone else does know), but they can also figure out a workaround by observing the system and under which conditions the error arises. You don't necessarily need to know what "Error 0x12345" means, but if you notice that it only happens under certain conditions, you can now work around it by not running the system under said conditions.
A bullshit error message on the other hand not only makes searching useless but also prevents the user from exploring towards a solution since they can't even tell different errors apart if they have the same generic message.
The thing is, cutesiness does not convey anything either useful or specific, and, as this discussion uncontrovertibly shows, may be taken in unintended ways, including as being patronizingly dismissive. This is hardly surprising, as the context in which the error occurs cannot be known to the message's author. One's reaction is immediate and visceral, even if, on reflection, it probably was not intended that way (though I have known one or two developers who always blamed anyone but themselves, and particularly users, for errors.)
I feel like this is unfortunately a semantic difference only - "cutesy" means different things to different people. Cutesy can just mean "informative but written in a friendly manner" to some people while as you and I understand it to mean "Jovial but unhelpful" - I think the user you're replying to is interpreting it in the first manner. A good example of a "good cutesy" error message might be Chrome's No Internet screen: "It looks like you don't have any internet, here are some ways you might be able to resolve it... but also here's a little dinosaur jumping game to pass the time".
Regardless of whether one might call such a response as being “cutesy”, it’s not the sort of response we are discussing here. The problem with the cutesy messages being discussed here is not that they are cutesy per se, but that their cutesy aspect is uninformative and quite possibly annoying.
> 'Unexpected error occurred in logTicketResponse'
I prefer this one, despite the fact that users might like the "cutesy" option better. If the user creates a bugfix ticket, the more information the dev receives the better. When you receive a ticket that says "_____ didn't work" and nothing else, how are you supposed to act on that?
When possible, error messages should include _something_ anything to make it actionable. An error code, a descriptive message. Your example tells me exactly where to look in the codebase. I don't care about the verbiage, but generic error messages are almost impossible to reproduce in many cases, and should only be used as a last resort.
Having a useful error message in all cases requires understanding all possible error conditions in sufficient detail (vs a catch all). Most system don’t have a clear enough grasp of all possible error conditions.
This is the root of the problem, I think. Especially in JavaScript with the blanket ‘catch’ mechanism and no real good way to have any idea of what exceptions could have even been thrown in the current context.
Obviously the dev will have some idea of which error could have occurred (hence the use of ‘catch’ at all), but it’s not straightforward to enumerate all possible exceptions in that moment, and reason about some subset that should be human-readable, and then come up with some sort of instructions about how to fix the problem.
Maybe that’s the point of the root comment - the exceptions that the dev is trying to catch and prevent from affecting the user should have those human-readable descriptions. And the rest should be silently logged?
But that still just leads to the generic “Well, this is awkward…” errors that you see these days.
It’s a tough topic, and even having the insight of (for example) Java’s ‘throws’ still doesn’t mean the developer explicitly understands the state of the application when those exceptions are thrown (in order to provide some sort of useful message to the user).
“There was a problem loading the QR code. Show this error to a member of staff and they will let you on the train”
Would be pretty cool.
Follow up email with say $1 credit and and explanation later “our technical team is looking right now to fix the problem you had today caused by our systems” would be cool too.
I am glad I read the post to make me think more about errors.
Errors are tricky: an exception can happen in so many different ways in the app and you have to write code to convert some unexpected thing into a bold plan for the user. It is like codifying a crisis leader!
It's amazing how few companies are unwilling to give away free stuff for errors while also wringing their hands about why accidental errors caused a huge negative PR event - a dollar is probably less than the cost of the CS person spending 15 minutes with the customer on the phone and yet it turns a negative experience into (for most people) a positive one. "Sure we missed our train, but we got new tickets and a bag of chips out of it" is something no one rational would say because it sounds ridiculous, but it is something most people would feel.
This is an interesting point. It is more the gesture rather than the monetary value.
And probably because no one else is doing it. If every bad service you got for everything got a refund then it would be normal and I would think: "meh just a $1 refund again, why don't they damn fix it... shrug".
Tipping is an example where it is really appreciated in non-tipping cultures.
Which speaks to how marketing and "PR" need to keep up with culture and people's expectations today. If you want to exceed expectations that is.
There's a fairly ubiquitous pattern, these days, with mega-corporations, using "folksy" or humorous, language (Slack/Salesforce comes to mind).
I think that it has its place, but, like so many cultural artifacts, needs to be done very, very carefully.
Humor and colloquialism doesn't usually translate. That's not just between languages, but also between cultures. Canadian humor may be lost on Americans, and vice-versa.
The users of a product are often of a drastically different culture from the creators. It's quite possible that "folksy" stuff from the creators, meant to be comforting and approachable, is perceived as "condescending," or "patronizing," to the end-user.
Also, error reporting is an extremely sensitive area. Often. the user is under a lot of stress, and can feel intimidated by the product (and, by extension, its creators).
Some developers may feel that "puts the user in their place," but I'd argue that may not be a desirable outcome. I like the users of my stuff to feel comfortable, and in control of their user experience.
I have noticed that there's a pervasive disrespect for users, in our industry. In some cases, it comes down to naked hatred.
I guess, if we look at the users of our products as cattle, to be fattened, sold, and slaughtered, it's inevitable.
As a non-native English speaker, this isn't a big worry for me. I apply a heavy "I have no idea what the intention was" filter. This happens equally with humour and non-humour, and the probability that something doesn't translate is about equal between humour and non-humour, I think.
I couldn’t believe the first time I saw the sad smiley blue screen. It seemed like such a ridiculous thing for Microsoft to have done.
Then I remembered fiddling on Macs as a kid, if you screwed up you’d see a bomb. If you did something really wrong you’d get the mac icon with Xs for eyes.
The point being: cutesy errors are about as old as personal computing, but they do seem to becoming more prevalent.
One I recall from the early Mac era was the Kermit file transfer tool. [1] You'd run it on two computers. On one you'd tell it to SEND some file. Then on the other you'd type RECEIVE. A colleague of mine got absolutely fucking livid when he instead typed RECIEVE and it replied "I before E except after C".
He did have a point; the programmer obviously knew what was intended, but instead of just leaving it to a generic syntax error he went out of the way to have the computer be snotty. But the rage still seemed wildly disproportionate to me.
Years later, John Scalzi had a good way of putting it: "The failure mode of clever is asshole." [2]
Sure, we could all be more resilient. But sometimes offense is useful and valid! If I am urgently trying to get something done and somebody else picks that time to clown around and interfere with me, I don't think it's unreasonable to get mad.
I like joking around a lot, but reading the room is an important skill. To me it's important that the person I'm joking with actually enjoy it. A failed joke, one that annoys them is a mistake. People who persists in making jokes that the targets aren't laughing at are not really making jokes anymore; they're just being dicks. Which can also be a valid activity, but nobody should confuse it with joking around.
I felt the same way the first time I saw the new BSoD. It did at least have an error code displayed. But I couldn't agree with the article more, after a bug just ruined my day the last thing I want to see is an insincere cartoon trivializing my problem.
Last night and this morning I was locked out of my email because Duo wouldn't text me a 2FA code. There were no other options shown, just "we sent you a new code" and a phone number for the help desk. It was frustrating and I was upset, but at least they didn't show a sad cat with a bandaged paw. At least I was able to talk to a human, because my problem was important to me.
It's not just that they're more prevalent, but as computers become increasingly necessary it's more and more likely that bugs are causing damage. We should be more conscious of that fact.
Honestly, the new BSOD has everything I need - the stop code that happened and the module name so that I can start thinking about the problem while it gathers the dump. Not really looking for a stack trace or register info until it restarts and I can load the debugger.
> I couldn’t believe the first time I saw the sad smiley blue screen. It seemed like such a ridiculous thing for Microsoft to have done.
What's much worse is that it shows the screen for all of three seconds before automatically rebooting (at least for some errors), so you need to go through at least two or three boot cycles just so you can read the goddamn fucking error message. I used Windows for the first time in over a decade last week and had some issue with the disk, and it just kept rebooting and I had to quickly snap a picture so I could read the message because by the time I could orient myself on the screen it was too late. I cannot comprehend how anyone thought this would be a good idea. I cannot even comprehend how someone could comprehend it. :( indeed.
Yeah. You can actually change the behavior, so that the default is to just stay on the blue screen until the user manually reboots. Why someone ever thought automatic reboot was a good idea, or how they haven't bothered to change the default for 30 fucking years, is beyond me.
I don't recall Windows XP doing it back in the day. Or if it did, it didn't for boot errors like in Windows 10. I'm not sure because it's been a long time, but as I mentioned in my other comment, I had people come in with hand-written copies of all of the BSOD message, and you need some time for that (and fairly sure those folks didn't change some setting).
Automatic reboot isn't so bad, but just change it to a minute, or 30 seconds, or "press a key to abort reboot". An intern can do this. Hell, I'd send a patch, let me just find the Windows repo on GitHub...
Rest assured that not only XP, even 2000 did the same, and of course it did BSOD when booting, the most common being 0x0000007b "Inaccessible boot device".
But automatic reboot is a setting in the Registry, the issue is just with the default being "reboot" (I believe this was changed in XP, 2K just stayed on the BSOD by default, if I recall correctly).
Why someone ever thought automatic reboot was a good idea
For a server, which might only be accessible remotely, it is.
For an interactive computer, I agree that it isn't.
I believe this was a heritage from the NT series --- the 9x BSoDs just sat there and waited for you to reboot (except when things got so bad that it triple-faulted...)
I thought the default was to reboot after dumping memory to disk as a dumpfile, which tended to give you ample time with slow hard drives.
Somehow my system got itself into a state for a while where it had a registry key set to just not make dump files, and that key was not fixed even when using the normal control panel based settings panel that is meant to let you change those settings, OR the dedicated microsoft tool built to give administrators more control over BSODs.
The correct way to troubleshoot a BSOD isn't on the BSOD screen anyway. You open up the dumpfile in windbg and click "analyze" so it can spit out some good details for you.
Came here to say the same. The problem is they seem to be hiding information (for some reason):
Instead of being able to search "errornumber appname", you're stuck with a pastel picture of some cartoon character shrugging and text of "whoops! something happened. why don't you try restarting?"
Instead of being able to search "errornumber appname", you're stuck with a pastel picture of some cartoon character shrugging and text of "whoops! something happened. why don't you try restarting?"
Are you referring to Teams, by any chance?
I don't mind them being artsy, but if that's a replacement for the actual detailed error message, it both makes the user and the people trying to help helpless.
Imagine helping someone over the phone or in person; e.g. if you can see "error 10060", you know instantly that it's a network connection problem. If it's an access violation ("illegal operation" was unfortunate but still far more informative terminology) or a c0000005, the application probably messed itself up. You can ask people to read you error codes or search them yourself (being sure to quote them --- the horrible vagueness of search engines is another rant I won't get into here, although it also adds to the problem...). If all the application says is "something wrong", no one can help. All but the extremely perceptive could as a result be easily mislead into reinstalling the application, reinstalling the OS, and all manner of other stupidly destructive and ultimately futile actions, only to find out that the problem was ultimately due to something else entirely.
> Came here to say the same. The problem is they seem to be hiding information (for some reason):
Back when I worked at a computer shop I've had customers come to the shop with a hand-written report of the Windows XP BSOD message; like, all of this.[1] They were always very nice people by the way.
Also, all the text is boilerplate and 100% irrelevant to the actual error (UNMOUNTABLE_BOOT_VOLUME). It's not going to be fixed by a Windows update (which you can't install since you can't boot the thing) or disabling "caching" BIOS options. Not showing any text instead of that is probably better. It wouldn't be too hard to make a error message → useful description map for common problems like this, but good error messages/help was never Windows' strong point...
I think prevalence is important here. Everyone seems to be injecting cuteness into everything today. Blog posts or README files overflowing with emojiis and meme images. I'd really like to banish the rocket emoji. The metaphor is exhausted. The corporation-as-a-friend is everywhere.
Interestingly, some errors started out life as deadly serious and only became humorous later. "lp0 on fire". Printers used to really catch fire. Unix really was suggesting that maybe you want to look into that. The message still exists in Linux (as far as I know), but today seems rather funny to some people. Or can read like PC LOAD LETTER[1] to others.
I hated that bomb. It tended to appear at 11:00 PM when trying to print from Adobe PageMaker (pre-Indesign) at the end of a long sprint to get master prints to a publisher. That bomb meant I wasnt't going home for a few hours because MacOS had chosen that as the moment where some extension, previously playing nicely, was in conflict with another. It meant I'd get to do a binary search through deactivating /reactivating extensions to find the offender.
Keep in mind that each iteration required a reboot, and this was at a point in computing history where booting a computer filled with specialized publishing & editing programs each with their own hooks into the OS was a task that could be measured by the length of an extremely generous bathroom break.
And all I had to go on for error messages was a bomb and the number "-10 error". I hated that bomb. I don't think I fully recovered from the trauma & stress caused by unstable OS's until well into OS X's life and a few years of Windows 7 on the MS side of things.
And yes, this is my digital equivalent of the previous generation's "I had to walk 10 miles to school in the snow up hill, both ways"
I think the difference is that the two errors you described are very severe errors in which the machine may not know exactly what is wrong, and there isn't really any information to show to an end user other than a bunch of error logs or something. A cutesy error here is somewhat more appropriate, and can be kind of funny if you think about it like "welp, I really broke it this time lol."
However, the author described a case where an app messed up its auth flow. It knows exactly what went wrong, and it could easily present a much more helpful description. Who knows what a token is, or what headers are? Maybe it could even just try the request again, all while keeping the client informed. Instead, the app seems to have a simple try/except that handles the error by alerting the user with a cutesy message and dev-speak and nothing else, which is pretty annoying.
I also think any image is better than an ironic/snarky iphone alert.
> It knows exactly what went wrong, and it could easily present a much more helpful description.
Could it? The error in question sounds like a programing error. Either the client application did not provide a token the backend was expecting, or the backend lost it. What usefull error can be provided here other than “pray someone prioritises this bug and fixes it in the next release”? Or perhaps “think hard about what is so unusual about your usage or setup that you have fallen off the happy path and reached a state QA didn’t catch yet”
> Will it work if I try again? Do I have a ticket for my return journey? Should I call support? Or is this ticket completely hosed?
A good error message should try to answer these questions, because that is what the client is wondering. "Token header not found" doesn't even address the client as the audience; it's a message for a developer, written by a developer. Even if it has no solution, it should at the very least say "please contact us".
Yes, a good error message should tell you that. I’m not disputing that. I use this application regularly and it provides clear and usefull error messages when the network is down, or when you made a typo with your card details. It generally works. This, what we are seeing here is some off-nominal edge case. Have you seen code where a developer commented “// this should never happen”? That code is running there.
Should there be such a state? No, there shouldn’t be. The developers should work hard to make the applications always work, and when it can’t because of no fault of their own provide a clear explanation of what is wrong. (The network is down, the backend is overloaded, card declined, no tickets available, etc etc)
But still, bugs happen. Clearly that is what is going on here. Something violated the assumptions the developers made. What I’m saying is that when that happens it is very hard to answer any of those questions. “Will it work if I try again?” Maybe? Unless it won’t for a hundred and one possible reasons. “Do I have a ticket for my return journey?” Idk, does it look like you have a ticket? You tell me. “Should I call support?” Maybe? That sounds usefull, we want to know that something that shouldn’t happen happened. Unless offcourse we fumbled big and our phones are already on fire, in which case please don’t call support.
It is easy to say that an error message should provide information like that and a very good thing to aim for, but I’m disputing if it “can” in every unexpected situation.
For anybody else wondering, this means you need to visit that URL by hand, e.g., by copying it to the clipboard and pasting it into the location text widget then pressing Return or whatever. Don't click it.
EDIT: wait, wtf, I did the above once - and now it works when I click it. Go figure
> “Token not provided in guest headers.” I have no idea what this means, or what I can do about it.
At least this example gives you something that you can report to support of you do contact someone about the issue. It if you are a bit techie you might be able to judge for yourself if trying again is worth it or a waste of time. Many issues don't even give you that much.
Except unless you provide a contact information in the error dialog, the average user will forget what the message said when they close the dialog to contact support. Some users might be savvy enough to take a screenshot, but that isn't likely a good support plan.
I have come to believe that many (most?) engineers and user experience designers actually hate people. I was recently in the western U.S., attempting to get information from a ski/bike resort about mountain biking there for the day. This was no two-bit, small town resort. The website was absolutely terrible. Links to basic information led to 404 pages. And today, my wife and I were looking for information about our local museum's free teen membership program. On the info page, there was a large button with text "Apply Online." Clicking that button led to a form that could only be printed. There was no way to actually "apply online."
I've been working in the industry for almost 25 years. One of the most important things I've learned is that no matter "intuitive" the user interface seems to me, an engineer who likely has the various workflows burned into memory, you either need to have someone with NO experience look at the UI or, at the very least, have the ability to look at the user experience through the eyes of a non-tech-savvy user. Or, even just an engineer who just wants to download a trail map, or apply so his kid can get into the museum for free.
> Except unless you provide a contact information in the error dialog, the average user will forget what the message said when they close the dialog to contact support. Some users might be savvy enough to take a screenshot, but that isn't likely a good support plan.
Do you really intend to put links into error dialogs ?
Faced with that dialog you're already pissed, the software disappointed you and you now have to take an extra action (push the button) to even continue using the app or try again.
Imagine on top of that putting a link that pushes you to either your phone dialing popup (which will take you out of the app and you'll be on the phone while trying to get back to your previous screen to explain what happened), or a link that throw you into a page, and you'll be trying to understand why, and what you're supposed to do with it.
I find the author deeply disingenuous in that we have the emotional rant, but not what they actually did next as a user to solve that issue. Did they just refresh the page, the request resent and everything went well ? Did they send a "WTF?" angry message to support, who tracked their session from their username and made it all good for them ? (and yes, Trainline has really good support for the industry they're in)
I mean, it might as well be that the app auto-resent the request and solved the issue without the user doing anything, and we'd have not idea. That error message probably was there just to state it failed at a specific try, and further action depends on what's happening next in the app.
> Imagine on top of that putting a link that pushes you to either your phone dialing popup (which will take you out of the app and you'll be on the phone while trying to get back to your previous screen to explain what happened), or a link that throw you into a page, and you'll be trying to understand why, and what you're supposed to do with it.
Putting links in error dialogs seems like a set up for a situation where clicking that link produces another error with another link that also won't work followed by another and another etc.
Just reminding me of all the times I've seen "Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request"
> Except unless you provide a contact information in the error dialog, the average user will forget what the message said when they close the dialog to contact support.
This is true, even of other devs which is particularly annoying¹². But these days I have the luxury of not dealing with clients directly so can just close things with insufficient information as CNR and move on, and have the joy of colleagues who make better use of the brains they have!
Sometimes the only solution is ample telemetry and hoping that the user can give your a reasonably accurate time of the incident when making a support call so you can reference that information. Though this can't help as much with client side problems that block the telemetry getting through, what information you do get can help greatly with reproducing, or just walking through with reference to the code, the issue, to work out what has gone awry.
> I have come to believe that many (most?) engineers and user experience designers actually hate people.
While I do occasionally work on front-end matters I'm usually not a UX person these days³ so I can't speak from that angle, but yes I do dislike a lot of the general populous! I think the problems you describe come from a position of disinterest rather than hate though, and a sign that a more varied team is needed. You need someone who is passionate about providing a good UX rather than playing with clever things and making stuff technically work. You also need a culture of taking care over your work too rather than doing minimal happy-path testing then throwing it out there⁴.
> One of the most important things I've learned is that no matter "intuitive" the user interface seems to me
I can't remember who said it, but I've always liked the quote “the only truly intuitive interface is the nipple, everything else has to be learned”. As you suggest, it is important to try put yourself in the mind of someone who is hitting your work for the first time without any of your experience, which can actually be quite difficult to do reliably. The other difficulty is the range of users any given application might encounter: sometimes you have to balance guiding the inexperienced, without hindering those who don't want to be bothered, preferably without effectively having two complete UIs to maintain.
--
[1] being interrupted with “I'm trying to X and I'm getting errors” “What errors?” “Something about the database, I didn't take a note” (to which the answer is “well reproduce it and come back to me when you've got useful information”, but by this point I may have lost concentration on what I was working on).
[2] One of the most annoying people I've worked with once said in response to me asking for the usual details, in an exasperated tone, “you always ask that” - the idiot was well aware that the information would be required and got irritated at it being needed instead of actually bothering to note it.
[3] I used to do a bit of everything in smaller companies, as things have grown I've specialised more towards database work, and infrastructure to support other devs.
[4] Though we have a full QA resource, we spend plenty of time doing “devtest” and making/updating/checking automated tests. QA (or in companies without that resource, the users) shouldn't be finding glaringly obvious issues because I rushed through one test case and didn't even think about anything closer to the edges.
These days, if something is print only or has similar stupid hurdles, I suspect that the purpose is market segmentation. Some people will prefer to avoid the hassle and just pay full price or go without. Which means the company can offer that much more value to the people who are willing to go through the hassle.
Gone away? You mean like it packed its bags and hopped aboard a train to another town? Surely you're not trying to say that the connection timed out or anything more specific.
In this case it might be hard to improve. It's a message generated by the client which means that it was expecting something from the server and instead the connection was terminated.
It's a sign that something has gone wrong on the server side, but it's impossible for the client to know what that is. Especially because most of the time MySQL connections are each a thread and there may be time between when something server side terminated the thread and when the client tries to talk to the server again. It's better for the server to release all the resources immediately instead of waiting for the client so it can return a more helpful error message.
More classic: the XYZ server "did not respond in a timely fashion": informal (without overly technical concepts like terminating a connection), avoiding possibly wrong or useless details, abstract (implying that the user is a mature person who understands that clients need to communicate with servers) and easily combined with high-level instructions like "check for server problems or network issues".
the XYZ server did not respond in a timely fashion
This error message is still potentially wrong and useless though. Potentially wrong: the client is in no position to judge whether the server didn't respond, the server didn't receive the request, or the response got lost along the way. Useless: "timely" isn't succinct enough, what was the developer's expectation of a timely response? 5 seconds? 30 seconds? 5 minutes?
"No response received from server XYZ after N seconds" is both more accurate and more informative.
> ""No response received from server XYZ after N seconds" is both more accurate and more informative."
Like those news articles which breathlessly report "nobody from the company was immediately available for comment" as if that was as interesting or relevant as a comment would have been. It isn't. Wait a couple of minutes and call them back, then report what they said. Imagine you call Comcast callcenter about your account and the conversation goes:
You: "I ordered xyz deal it but I'm still seeing the old price, can you help?"
Employee: "Sure, will you hold while I check that on the computer?"
You: "Yeah, ok"
pause
Employee: "No response received from computer after 15 seconds. Click {hangs up} bzzzzzzzzzzzz".
You: "that was accurate and informative, thumbs up"
I'd add that it's obviously the client software's job to decide what timeouts (and what behind-the-scenes retries and fallbacks) are appropriate, and when a timely response has arrived or not.
The end user doesn't need to know whether, say, waiting 15 seconds is sufficiently generous: there are software engineers for that.
Maybe because ‘gone away’ is the best it can know without a full network diagnostic? Else why is the connection timed out: did it do something wrong and get punished? Or did I wait too long to get a reply, or perhaps I was online too long today, or are you saying it is shareware, and I need to reset the trial clock? xD
I actually from a less technical person's perspective, "cute" error messages humanize errors, showing them that there was indeed someone who made that page they are currently on and not just some soulless computer and thus making solving the problem much more approachable!
Example 1: Chrome's dino page is actually great! Grandma doesn't fear it or call me out of panic the moment she sees it. Imagine if she got something like the default Apache 500 error webpage.
Example 2: the new BSOD. I saw on some other thread that some people hate it, but I think it's clear and directs the inexperienced user to what they could at least try to do
Here I was thinking that the very same group of people that think sl is a funny command line program wouldn't appreciate humanized error messages...
> I actually from a less technical person's perspective, "cute" error messages humanize errors, showing them that there was indeed someone who made that page they are currently on and not just some soulless computer and thus making solving the problem much more approachable!
Yeah, I don't have any problem with "cute" error messages as long as they also contain all the info someone would need to identify the problem and if possible solve it. it's not the "cute" that's the problem really, it's the frustration and the lack of direction that usually comes with them.
In the python shell, `exit` is a string containing a message to the effect of "You can leave the shell by sending EOF (CTRL-D)".
I've seen HN commenters express extreme outrage over this ("They obviously know what you want to do, so why not just do it?!?!?"), but I love it. The first time I got that message, I considered it incredibly helpful, because sending EOF will work on any tool that reads from standard input, not just python. I hadn't known how to do that before the python shell taught me!
That's quite far from the truth. That's like saying that, if you read a textbook, there is zero reason to do any of the exercises.
And from the implementation perspective, the python shell is trying to run a simple loop:
1. Read a line of python code.
2. Evaluate the code.
3. Print the result.
Defining `exit` as the name of a string slots into that loop seamlessly. Defining it as a special keyword that is recognized by the shell, despite the fact that it has no special meaning to python, means you're no longer just reading python code; now you have to implement a separate parser solely for the purpose of handling this command.
I have a problem with software that tries harder to be "cute" than useful, but that's a rant for a different day...
I think the issue with error messages like these aren't so much that they are cute, it's that while the developer thinks they are being clever somehow, these kinds of messages usually come off as patronizing or condescending to the user, especially when the user DOES have the technical skill to know what's actually wrong.
Man, some people will really go out of their way to take things personally and invent things to feel offended about.
Errors should certainly be as helpful and clear as possible, but no the developers are not trying to directly attack you specifically if they aren’t, or if they wrote something they thought was fun.
Yeesh, get a grip.
If I got this error message while trying to buy a train ticket, I'd be thinking "Ok, who do I talk to to get this sorted out"
I don't understand the sort of person who stops to think "How dare this error message trivialize my Very Important Problem! I feel bad now because the words on this screen are too silly!"
Big talk for a guy who's inventing something to feel superior about.
Why bother spending your time minimizing the passion someone else feels about software design?
Maybe the person who wrote the post and the scores of people who upvoted it feel this way on behalf of the countless users who get stupid error messages from carelessly designed software?
I think more people should write about the things they dislike about software. And when they do, they ought to ignore the people who ask why they're getting so annoyed about something that doesn't matter.
In all seriousness, the moment when somebody is trying to do something and getting thwarted by error messages is one of the worst possible times to try to be cute with them. You generally don't try to play cute when you can see that someone is in a bad mood, either.
Family members waiting anxiously in the hospital, the surgery is dragging on, suddenly the waiting room door opens and the surgeon leans in. Family members all turn to the surgeon expectantly.
Surgeon: " :( theatrical exaggerated frowny face Something went wrong."
It literally doesn't though. Maybe they are in the same direction, but there's a rather large difference in degree.
That's like saying getting a paper cut on your finger is just like having your arm chopped off. There's a pretty wide difference there.
I guess if you're the sort of person to hyperbolicly exaggerate every minor inconvenience you encounter, it's the same thing. It must be exhausting to be like that.
What I don't like are the pop-ups asking me to sign up for a mailing list where the choices are "Sign me up" and "No thanks." Don't put words in my mouth. I am most not definitely not thankful for the opportunity to be spammed.
And don't get me started on "Sign up for notifications?" where the choices are "Yes" and "Remind me later."
If you feel the need to tell everyone about how non-furry you are just because you linked someone's tweet, you're probably not as secure in your non-furriness as you want to claim.
I think the intent of the edit is to warn anyone who clicks the link that they're one more click away from furry porn, possibly on their work computer.
Hmm. When the thread knows literally one fact about you, and it's that you had a link to a furry art twitter account at the ready, you can be forgiven for doing a little brand management.
Are there studies that link announcement of not being X, with actually being X? I always thought that line of reasoning is ridiculous. It also uses X as being a 'gotcha', which seems similar to using X as an insult. I mean you don't 'get people' with things they are fine with admitting. Maybe not an insult exactly but it definitely feels like an attack.
I'm sure there are people who, being ashamed of being something, do go out of their way to say that they aren't. However I don't think seeing someone saying it once mean they "probably" are that thing. You can be annoyed/embarrassed at the thought of being seen as something you aren't.
I don't know the type of people who follow NSFW furry artists on twitter, but I imagine a lot of them are furries themselves. If the OP doesn't want to be associated with them then I think it's reasonable to state he isn't one.
> "If the OP doesn't want to be associated with them then I think it's reasonable to state he isn't one."
Imagine linking a tweet about a software error message and then making a followup comment "that account posts a lot of baking content. I'm not a baker btw.". Who would think you are a baker just because you linked a tweet posted by a baker? And why would you care if anyone accidentally thinks you're a baker? You wouldn't because there's nothing embarassing for you if people think you're a baker.
So the disclaimer "I'm not a furry" implicitly contains the message "being considered a furry would be embarassing because being a furry is bad". You don't need to disclaim things which society widely accepts as bad ("that account posts a lot of murder content, I'm not a murderer btw"). You may disclaim things which feel risky if misunderstood ("they Tweet medical advice, I'm not a doctor") but mostly the disclaimers are for tribal declarations of things you would feel embarassed to be associated with ("I'm not a flat-earther like they are"). People who think those things are fine push back "Why are you using X as something embarassing to distance yourself from? You think X is bad, do you? Maybe you secretly are X and hiding it and that's why it's at the top of your mind".
It's those people using X as an insult, in the sense that the original person's disclaimer made it an insult and they are mirroring it back.
If they didn't go out of their way to disclaim it probably nobody else would have commented on it; "I checked out the rest of the account you linked and you read a furry themed Twitter account?" "no, I saw it on a programming meme Reddit" and it would be a non-issue.
If someone links to an account which is prolifically an X and tweets about X, I would assume that you might be an X. Which is to say I wouldn't treat it as a fact. It might trigger the question, "Are you an X?", simply out of interest, whereas previously I wouldn't have any reason to ask that. That's just me, I'm sure there's people who would just assume that they are an X.
>You don't need to disclaim things which society widely accepts as bad
Whether you think people need to or not is irrelevant. We know that people do it, so people obviously feel they need to do so.
I've seen people play devils advocate, or joke themselves as an X, and be mistaken for one before. so perhaps you do need to make a disclaimer in order to fully avoid confusion.
>"Why are you using X as something embarassing to distance yourself from? You think X is bad, do you? Maybe you secretly are X and hiding it and that's why it's at the top of your mind".
Or maybe it's on the top of their mind because they unwittingly linked an account associated with X.
The whole "if you don't like X you're actually X" is bizarre.
>It's those people using X as an insult, in the sense that the original person's disclaimer made it an insult and they are mirroring it back.
Sure, that might be true, but it's still true the other side is using it as an insult. It's just odd since they're insulting OP as an X, whilst acting as if they're in the position of defending Xism...
>If they didn't go out of their way to disclaim it probably nobody else would have commented on it; "I checked out the rest of the account you linked and you read a furry themed Twitter account?" "no, I saw it on a programming meme Reddit" and it would be a non-issue.
It's ridiculous for you to realise it's possible for people to make this assumption and also complain that someone made a disclaimer to avoid the extra discussion you mentioned.
Perhaps these types of disclaimers might not matter much if you anonymously posting on this site, we don't know if OP is or not though.
I would also ask that the "what's changed" or "changelogs" for updates from Google (YouTube) apps, Netflix and Slack etc. are consigned to the dustbin forever and ever.
"We fixed the tubes that bring you cat videos" tells me nothing.
"We worked on great content; you work on watching it" is garbage.
"We made fonts the right size now. There you go" sort of change messages from Slack treat you like you're a 6 year old.
Would you rather the changelog just say "We don't want to actually want put anything here because our software is evergreen and any given release is just a bunch of random PRs that happened to make it before the cutoff date that isn't worth any amount of human effort both to organize on our end or read on yours but it's not allowed to be blank so here's a random cat fact."
Hmm, I don't think the problem is cuteness or lack thereof, it's the lack of either a suggested fix ("sign back in" or "try restarting" etc.) or even some kind of cryptic id you could report to Customer Service - "why am I getting a #4747 error trying to complete my transaction!?"
The cryptic IDs can be rather nice - if I throw "ERROR YCOMB-143" at least it's pretty likely you can google an answer... but if you're able to deliver such a distinct error state to the user can't you save a step and include a message about how to resolve the error state (i.e. "ERROR YCOMB-143 Your account is too young to down vote comments")
Cryptic IDs are indispensable for support, because you can't expect the support staff (or the dev who's ultimately going to be handling the bug) to know all the languages the app was localized into. Without IDs, it can be real fun trying to figure out what's wrong from, say, a screenshot of the Chinese version of the app.
A lot of comments here sound like they're saying these cutesy messages are what non-technical users would like to see. I don't think this is true. It reminds me of a penguinz0 video I watched awhile ago about Discord's cutesy language. I would say he's a pretty average tech user, and he makes a lot of good points here that have nothing to do with technicalities.
He uses a lot of strong language, so if that's not your thing I would advise not watching it https://youtu.be/k5FcL99NuB8 :)
Edit: And it's not about error messages specifically, but I believe these points apply to error messages as well.
Siri is the worst with this, but instead of "cutesy", when it's failing to execute a simple command, it goes for a smarmy and sarcastic response. I'll never understand the mindset of the putative audience who its designers think this will please.
Siri used to randomly give cutesy responses when I asked it to set a timer instead of repeating the time back to me, which I found incredibly annoying. Fortunately they stopped doing that a couple years ago.
Apple has definitely softened up Siri’s demeanor over the years, and I think it was a deliberate decision to introduce her as standoffish.
I once read that waitresses who initially come off as rude earn higher tips, but only if their mood softens throughout the meal. There seems to be something about “winning” the waitstaff over that makes diners reward them with higher tips.
IMO, it was a feature to have Siri come off as rude when her abilities and comprehension were still in development.
If asked the answer to zero divided by zero, she used to say a whole paragraph joke about how you’re sharing your zero cookies with zero friends because you have no friends. There’s videos on YouTube; I thought it was funny. They changed that a few months ago to something more “tame”, but still millennial/zoomer humor.
Today, in response to the query, "What is zero divided by zero?", Siri still gives a flip explanation (but now omitting the reference to Sesame Street intellectual property), followed by the one word sentence "No.". And that's when it's working as intended. Astounding.
The article is quite reasonable contrasted to the headline. If the headline reflected the article, it might read, "Reconsider attempting humor in error messages if the error is likely to make a stressful situation worse"
I might be the target demographic for cutesy error messages. I appreciate attempts to empathize with my pain across the gulf of the internet.
What I don't appreciate are unhelpful error messages, which seems like the main issue in the article. Like someone who keeps cracking jokes in serious or stressful situations, the devs who are both cutesy and unhelpful aren't reading the room, so to speak, applying insufficient gravity to the situation.
I'd appreciate this kind of cutesy message to the circumstance described in the article: Oops! We made an error. But do not worry! Your information is saved. Try reloading the page. If that does not work, here is our customer service number.
While you're at it, stop replacing "OK" buttons with cutesy replies like "Got it!", which are even worse, IMO, because they apply the cutesiness to my own reply.
An error message isn't a place to be appealing to your personality. It should be simple, concise, with an ok button to acknowledge. Just like when there's a problem with my car it should say "engine issue, contact workshop", and not "motor had an ouchie, call mothership for help".
OP makes a reasonable argument about why error messages should be constructed the way they prefer, but is it actually backed up by usability testing? Maybe the cutesy errors really do have a subconscious positive effect which is being overlooked here?
Agreed. And while I’m sure we have all been let down by apps/tech at one point or another, I think the user in this case discounts the tremendous effort put into developing apps, and to me a somewhat “cutesy” error message is enough to remind me that a human created the very opportunity I feel let down by.
I started a reply thinking this is probably absurd to do, but I realise it's probably possible. A/B test error messages, outcome are support tickets, app reviews. That's said I'm not sure if anyone would bother to setup tests for error messages, there probably more important things to do like fix the actual cause
If not then that just means that both this counterargument against cutesy errors as well as the original rationale to have them in the first place are both equally weak. That's not a point in favour of this argument.
I have spent linear weeks looking at dialog box errors no more descriptive than:
Error -1
These could come from anywhere.
If there had been a cute message associated with the error, I could have cracked open the binaries in question, locating the code posting the verbose error, and likely found the problem faster. At least it would have narrowed it down to one DLL out of dozens.
What I've never heard is how messages like "Oops! Something went wrong. Please try again" actually result in a better experience for anyone at all - yet UX designers seem to love them.
Ok, there's no need for errors to be totally cryptic and meaningless to end-users, but the basic principle is
a) if the problem is something the user might be able to do something about, explain what they'll need to do (e.g. free up disk space)
b) if not, give the user everything they can to ensure if they need to go through a support channel or search elsewhere for info about the error they can get the help they need, i.e. at least some sort of unique message or code.
c) if it's a transient error that's not the user's fault, explain that and suggest at what point they should retry (and reassure them that nothing destructive/unwanted/irreversible has occurred or will occur on retrying).
> how messages like "Oops! Something went wrong. Please try again" actually results in a better experience for anyone at all
Didn't you just explain how?
> c) if it's a transient error that's not the user's fault, explain that and suggest at what point they should retry
Many times when I've sent this type of error but it's not actually transient was a mistake in misclassifying the error. So if the code doesn't actually know it's a or b, it's not surprising it defaults to c.
"Something went wrong" I don't consider as a message that provides a good experience. Actually I didn't even mind the example given in the original article "Token not provided in guest headers", though that very much sounds like a b) error, where it's not transient but there's nothing the user can do about it, but at least they have some sort of unique identifying message/code that can help support figure out the problem.
And sure, classifying errors can be tricky, and it absolutely requires following best-practices throughout the codebase to ensure that errors are passed around in a reasonably consistent manner where you can distinguish transient from non-transient errors, or errors where the user can take reparative actions.
But the end result makes everything vastly better for the user and developers/testers etc., so is well worth the investment.
It's better for the developers because they don't have to do a) or b) which involve work. Modern software development is thick with optimizing for developer convenience and externalising the cost of that to everyone else. Better for the company because they don't have to pay to develop or test or maintain a) or b), can release the simpler product sooner and move the developers onto new features which increase income.
You're unlikely to stop being a customer because an error said "Oops! Something went wrong" instead of "Error: {fb964102-bac4-4f9e-b671-62c047cb350e}".
I don't buy that it's better for developers at all, because a significant % of the time you get such errors is because of an issue in the code that we then have to track down and fix. And it's never the developers arguing for such messages. Lazy devs might think nothing of popping up a message showing just the exception name/message or error code which I'd argue is better than just "oops...".
Cutesy messages can be confusing to people whose first language is not English or who are not familiar with current informal spoken English. The use of “This is awkward” in that meaning is, I believe, fairly recent; at least, I don’t remember hearing it when I was young (I’m sixty-five). Someone who learned English out of textbooks probably has never seen it; older native English speakers might be confused by it as well.
The developers of a certain password manager used to send e-mails to users that were full of slangy, jokey text. While that may have created a positive impression of the company for younger, native-English-speaker users, I felt that it was very inappropriate for software as important to its users as a password manager. The English in recent e-mails from that company is bland and direct, which is good.
The old meaning of awkward centuries ago was "turned around the wrong way," awk- meaning odd, and -ward as in "southward" or "upward." I know it's not what the error message is supposed to mean, but it's a funny accident that almost makes it more informative.
I like the cuteness it helps not take things too seriously and focus on the problem. Things failed and you broke the internet for everyone on the planet but there is no time to panic only to focus and get things done.
I’ve seen far worse errors. In practice, I think writing good error messages is very difficult for system (or unexpected) errors because you often don’t know the context of what the program was doing before the error happened. Stack traces help approximate this context, but they are imperfect because they are a point in time. The solution to this problem is really good logging, but that is almost always hidden away from users.
I’m fine with whimsy, but don’t treat your users like babies by hiding away all diagnostic information like logs.
Another lede is being buried here; cutesy error messages are a pernicious form of escaping responsibility and liability. Which is to say, when you see this sort of thing as a user -- understand that in some form, whoever or whatever entity created the thing you're using doesn't care about you -- or more specifically, has no reason or incentive to treat you respectfully enough to be clear about the error.
As the article states, these are not good when the proverbial hits the proverbial.
Particularly when your boss is standing over your shoulder and the company is losing money, shirts and hair.
However, sometimes we can feign 'scheduled upgrades' for '503 site down'. In ecommerce you can say 'we are re-stocking the store, here is a coupon, take a screen break and see you in five'.
But actually you might be redeploying the whole codebase due to some fire.
Another problem with error messages is how concisely they are written. Cutesy is not concise. And neither is American English. British English is just a little bit more concise, e.g. 'wastepapaer basket' vs 'bin' or 'dehydrated' vs 'thirsty' or 'parking garage' vs 'car park'.
In error messages as well as success messages you often have something like 'your thing has been updated successfully' instead of 'thing updated'.
Error messages also need to make sense if indexed by a search engine. It has to be unambiguous and specific to the software, not other software. Even if the docs are not available for the error online, you want the error message to be useful when Googled.
This is just an ask to be empathetic. When you have a gaming chat app, you can say "uwu we made a little ewwor" and it's not a big deal. On the other hand, you don't want your health insurance app to say "owie! we need a bandaid" when they can't load a list of in-network hospitals.
There's a time and a place for fun. Software doesn't have to be boring, but some of it should be.
But deadpan errors are not great either. Error messages can cause anguish, and it would be good to have emotionally intelligent messages communicated to humans. It doesn't need to be "cutesy", but it can communicate in language that makes people feel less anguish. They should also tell the user what to do next, not just "that didn't work". Don't leave the user hanging.
Speaking as an end user, I agree with the premise, but there's an even more severe case where no technical information is given at all, making the problem impossible to either Google or even report. I've literally seen errors that said: "Something went wrong. Sorry about that." I find myself truly wondering about the fact that somewhere, someone's brain said, "That's fine to do."
Reminds me of a rewrite I was a part of years ago. During the rewrite someone put a humorous picture of a coworker as the 500 page. In development it was amusing but we didn’t hit too many 500 pages so we didn’t see it often. When the launch came no one remembered we had this picture as our 500 page. Customers were not amused to get a picture of some nerd as an error page.
Elaborately worded error messages are also hostile against users who are not native speakers of the application's UI language.
They're already spending extra mental effort just using the software as-is; while native speakers may find a cutesy error message and just go "Huh", non-natives may not even understand that it's an error at all, wasting time.
Lot of words to express frustration when a Tweet with an image attachment could convey the same.
"Well this is awkward" is just the "header" for any error you may experience during the process with that application, and is the same thing that Mozilla does (essentially) when the browser crashes.
I remember years ago I had to answer strange tech questions from a relative when their Windows app crashed with an "Illegal Exception" message and they thought someone/thing had broken the law.
This language is effective in communicating "we fucked up" to ordinary people I think.
Yep. Found out a few months ago that Mozilla’s bug tracker still thinks it’s appropriate to report “zero (matching) bugs found” as “Zarro Boogs Found”:
That doesn’t follow at all. They still have an international community that needs technical information and shouldn’t be distracted or confused by oh-so-clever jokes when trying to solve errors and bugs.
Firefox is intended as a daily utility for serious stuff, regardless of the name of the organization that makes it.
The organization is ultimately a collection of developers who have devoted (In this case) 20+ years of their career. I can understand the utilitarian view, but I can also see how they want to keep some humor or personality alive in their product. It's ultimately the decision of the org. Open source stuff is hard enough, imagine seeing tons of demands daily on something you really care about and then seeing something like this that doesn't, ultimately, even matter. I can understand a tiny bit of hostility.
I will add, don't take free software for granted, it doesn't owe you anything. I think the reverse is true.
There are plenty of ways they can have humor that don’t compromise technical docs.
You want to know how to ease the load of maintaining open source? Make onboarding easier. That means good, clear docs that aren’t cluttered with cryptic inside jokes.
Seriously, the way they work, you’d almost think they don’t want people to get involved. (In Mozilla’s case, probably because they blew their budget on the latest resume builder.)
It would be one thing if I were asking for a special feature of the product. Here, I’m asking for something that saves your support staff from being pestered by people that couldn’t understand the cryptic docs. Why wouldn’t you want that? [1] Why wouldn’t you be thanking anyone who suggests ways to save you time?
Sometimes I wonder if noticing this kind of stuff is a superpower, because it’s in really short supply.
As the bug notes, at this point in history it's unlikely this will be changed because it's been this way so long that tooling that works by screen-scraping a bugzilla output would break if "zarro" went away.
At this point it's probably insufficiently confusing to justify the change. The most valuable piece of advice I ever got regarding error messages was "Here's what users do with an error message they don't understand: they Google it." As long as the key words are unambiguous in meaning it can actually be more harmful than beneficial to change a message like that (when people are trying to figure out why their bugzilla installs are showing zero bugs, will they lose all the accreted historical knowledge on StackOverflow for fixing "zarro boogs" issues if Mozilla changes the message?).
Did you know that there are people born every day that haven't been indoctrinated into Mozilla's oh-so-clever inside jokes, and they might start using the software one day[1] -- or at least, that's what Mozilla claims to wait, their organization practices notwithstanding.
If it's really important that the parser pick up the string "Zarro Boogs Found", then you can leave it in invisible text, and then leave the rest of the world out of your counterproductive in-joke.
[1] But at this rate, that's becoming less likely.
> Did you know that there are people born every day that haven't been indoctrinated into Mozilla's oh-so-clever inside jokes
Probably yes. And when they see that error and have more questions about it, many will Google "Zarro Boogs" and find StackOverflow links and various other sources.
If the text is changed or made invisible, that search pathway becomes obscured. As inconvenient as it is for making changes to published UI, unique and identifiable strings serve as a sort of "soft URL" in this era of ubiquitous search engines.
>Probably yes. And when they see that error and have more questions about it, many will Google "Zarro Boogs" and find StackOverflow links and various other sources.
The point of a help resource is that you avoid, where at all possible, making the user need other help resources.
>If the text is changed or made invisible, that search pathway becomes obscured.
That's not how text search works.
>As inconvenient as it is for making changes to published UI, unique and identifiable strings serve as a sort of "soft URL" in this era of ubiquitous search engines.
So do you think maybe there's a lesson in here about building a culture around being opaque to outsiders? Or do you take it as an indicator to be more opaque, lest we alienate those who like scaring off the users that the project exists to help?
Sorry, I don't understand. If the user can't see "zarro boogs" on the page, why would they Google "zarro boogs?" And if they don't, how are they going to find the legacy of comments on StackOverflow, for example, that would tell them that message means no bugs were found but can be caused by a misconfigured backing store?
> So do you think maybe there's a lesson in here about building a culture around being opaque to outsiders?
In an era where global text search utilities can clear up any confusion within 5 seconds, I don't think that error message teaches us a lesson one way or the other on the question of opacity. It's not a choice I would make for my own project to maximize adoption, but I've never gotten the sense it hurts bugzilla's adoption (the biggest competition I've seen for bugzilla these days are options like Jira that don't require self-hosting the installation, which is a far more significant feature axis than whether the error message is funny).
Which is better than not telling either. At least with this one, a technically-minded customer can sometimes infer the meaning of the developer-focused message.
I really wish more devs would treat errors as first class, the same level of importance as a success response.
We had an error page at a previous job that had an <h1> OOPS!. Not sure who made it, but they didn’t think much of it, and a lot of users really didn’t like it.
This is why I have grown to hate expressing errors as exceptions. Nowadays, I handle errors one of two ways: it's either part of the return value of the function (i.e. an error state, usually a case of a variant), or the caller passes an error handler object, with the default behavior is the error handler records a list of things that went wrong. Threading the error handler through generally isn't too bad; then you can check it whereever you want and handle it at the top level. It's almost impossible to swallow an error unless you create a new error handler object and throw it away, which would be a very rude thing to do.
This works especially well for parsing data, as you can write most of the parser completely oblivious of previous errors and keep on truckin'. The top-level parse routine will surface the first lexicographical error. The code is very clean but still gives really good error messages (and multiple! I used this for the Virgil parser and entire compiler).
Let's make a distinction between errors delivered to users buying a train ticket on an app (as in the original article) and errors meant for developers. It feels like hardly anyone in the thread is making that distinction.
It is unproductive when the message politely wrong - or wrongly polite. Example: "It's not you, it's us" when I know for a fact that it is a network error on my side because it's of my own doing..
Lighten up people! I actually find it kind of funny how OP
was filled with rage by a cutsey error message. I hope they can laugh in hindsight about how this triggered them to make a serious blog post.
I am guilty of writing weird errors for my own, private programs, such as "That'll put marzipan on your pie plate, bingo!" for something nonsensical in a sanity check, "Fusion of Brundlefly and telepod successful" when something has been accomplished that you really do not want, and so forth.
Anything that gets near prod has errors in complete sentences which suggest what might have gone wrong, where to look, and so on.
That should be one of the top commandments of tech writing: Thou shalt not use the word "simply", because you are either insulting users or leaving something important out. Or both.
I like the cutesy errors. It makes it marginally less likely that I will put my fist through my computer monitor. Those things get expensive after a while.
From a support perspective, this kind of error immediately puts customers in a bad mood. If you/your company uses cute errors, ask your support team what they think about them. If they're cool with it, they're probably not a problem.
In a similar vein, I quite dislike Microsoft's personification of Windows in the messages such as "We couldn't log in ...", "Let's finish setting up ..." or "We are adding new features ..."
I learned my lesson when a customer read the silly error log messages back to me with their and my supervisor listening in on the line. It was a good thing to learn early as a fresh college graduate and I never forgot it.
Is there any data out there on the impact of this? It seems like it could just be a personal aesthetics thing. It doesn't really bother me any more than any other type of error message.
lol I love this. I'd like this to go even further than errors though. A lot of tech product landing pages and documentation are peppered with emoji's and winking/smiling vector art cartoon characters. If you didn't read the sales pitch you'd think these sites were selling products targeted at children.
Although I guess it's fitting, in a sad kind of subversive way: the technocracy's desire to infantilize and make dependent as many people as possible.
The message in question is too technical for an end user, and offers no options for recovery. This is exactly what is wrong. Nothing to do with humor, or being cutesy.
My biggest frustration is long error numbers which can't be selected for copy/paste. Worse yet is web addresses as text instead of being clickable links.
This is a rant about a cute dialog, arguing the UI doesn't explain the issue, nor what to do next.
That rant also focuses on the emotional state of the author upon seeing the dialog, doesn't explain how the issue was solve, nor what actually happened next in the application.
Looking at the Twitter thread the author is a software developer, and it feels kinda endearing that they're exhibiting exactly the behavior they're ranting about.
1. Tell me accurately whether trying again will accomplish anything. Don't say "try again in a few moments" if the error is essentially fatal. Your summer intern's flaky microservice can't keep up? Then sure, go ahead and tell me to roll the dice and hope to get luckier on the next submit. But if my session has expired, don't keep showing me the button that you know requires a valid session to succeed.
2. Similarly, if I need to do something differently to succeed, then tell me what to do. Don't just say "Sorry, try again." If it's my auth error, then tell me to try different credentials. If it's your transient error, then tell me so. Don't make me play 20 Questions with your form submission flow. (Yes, there can be security reasons why you don't want to reveal exactly what's wrong with a bad request. You can still provide a better experience than Human Binary Search.)
3. Are you seriously going to make me press this button again and again for the next 10 minutes? Isn't repetitive activity exactly what computers are for? Sure, there's the risk of your clients DDOSing your server when something goes wrong. But that's what exponential and/or randomized backoff is for. It's insulting to distill your entire UX down to the world's worst CAPTCHA in the form of a single "press me again for an unknown number of times" button. Press it for me, and tell me when you did what I asked!
4. I'm looking at you, every smart speaker ever. "Sorry, Spotify couldn't fulfill that request." OK, but do you think that means that I changed my mind about wanting to hear the song? I feel a special kind of rage knowing my Alexa history has five consecutive "Alexa, play Dolly Parton Here You Come Again" requests, spoken increasingly stridently each time. It's like Rant #3 but making me write out the request in crayon rather than press a button. If you're actually an assistant, then assist me by hiding Spotify's endless spurious errors from me and taking care of them. Don't make me fill the 60 seconds of silence by shouting louder and louder at you. Tell me "I'm sorry, Spotify is having trouble with your request. I'm still working on it." Then play the damn song.
I don't think most of these are realistic. In most error modalities, you simply won't know whether trying again is the right medicine (and if you do, you'd most likely not see an error message). The error may be anything from a cosmic ray to a bad release to an OVHcloud-class datacenter fire, from a software POV you really can't tell.
If the system you are having trouble with is important to your work or otherwise essential, being a bit antsy about the matter is perfectly understandable IMO.
I really hate the way the "Gah" wording feigns shock, as if Mozilla are also inconvenienced alongside me. Then the meat of the error implies I am at fault. It's my tab that crashed, and I caused it to happen by doing whatever I did on whatever page I was choosing to visit. Any blame is deflected away from Firefox itself.
Then it makes me feel doubly bad because I immediately realize I'm getting upset at something incredibly trivial, but man it annoys me!!