Hacker News new | past | comments | ask | show | jobs | submit login
Cut the Cutesy Errors (alexwlchan.net)
107 points by layer8 on Feb 16, 2023 | hide | past | favorite | 138 comments



This seems to be part of a broader, ongoing software infantilization process.

Empty states can't simply state a fact using text and maybe some sober picture to fill space: it needs to show a cute robot, dog or whatever.

Colors can't be sober either, everything has to be colorful, cheerful.

Buttons can't use text anymore, they must show cryptic icons even when there's plenty of screen space. Figuring out icons' meanings is left as an exercise to the user.

Such cutesy syndrome doesn't affect error messages only. Customer service and even replies to angry reviews got infected too.

Besides the obvious inappropriateness, what makes this especially ridiculous is the amount of wasted human resources.

This surely can be valuable to certain audiences, but I wonder what makes them think this should be the standard way of doing things. Even banking apps, supposed to be serious, conservative and stable, are falling prey to such disease. The only thing I can think of is an army of executives not having the faintest idea of what they are doing. Just blindly following trends inflated by years of cheap-VC-money-fuelled BS, and putting a bunch of kids in charge


I think this and a bunch of the comments decrying making software interfaces friendlier confuse the catalyst with the cause. The problem isn't having friendly, or even cutesy elements... it's using those things inappropriately.

That copy makes any reasonable user more aggrieved by the situation. In some products and some situations, starting out some negative user notification "well this is awkward" might make sense, but this isn't it. It is poor design and the problem is the poorness of the design, not people trying to make software more approachable, generally. It is exactly the sort of thing a competent designer would avoid like the plague, and was almost certainly put in there by a developer or project manager trying to make it look "designed" by ham-fistedly copying elements from products who actually hire designers, and that usually precedes abject UX failure.


> That copy makes any reasonable user more aggrieved by the situation.

It's interesting, I find myself feeling this way about automated messages expressing (simulating?) emotion, too. I get that we want to "humanize" some of these interactions, but when Amazon shows me an automated message that says "We're sorry! Your package is running late" it makes me vaguely annoyed because deep down I know that there are zero human beings anywhere that are feeling the slightest bit sorry that my package is running late. As a result, it feels dishonest and disingenuous.


I take that as "Amazon would have preferred the package wasn't late" and so it doesn't bother me too much.

But "ooopsy whoops we made a fucky-wucky and failed" can really piss me off.


Sure, but again, I think this is confusing the catalyst with the cause. What bothers you is that a giant automated corporate machination is telling you that someone cares about this problem when that's not true. The problem isn't the friendliness of their design-- it's that they're lying to you. If they said "your late package is a giant problem for our scheduling audit algorithms which automatically deployed significant resources to remedy the situation so there's no need to activate the grievance process in our customer service labyrinth" they'd still be lying to you and you probably wouldn't feel any better about it.

Honestly though, most users are not software developers and their interactions with software, both logically and emotionally, are quite different. Most of them would rather have an automated "I'm sorry" because it fits their expectations for service protocol. They also probably prefer a barista impersonally saying "Sorry, it's just going to be another minute" while making eye contact and noting your acknowledgement to their dryly saying "your coffee is late because you and other people in front of you had complicated coffee drinks" and walking away. Eveyrbody knows that the barista has no emotional stake in your coffee being two minutes late beyond it putting them in the weeds. That's not the point. It communicates "I respect you enough to acknowledge your existence and that your inconvenience is consequential" which is actually true in most cases. Outside of the tech business, few people realize the extent to which that is false at Amazon.


Also the incredibly annoying use of emojis everywhere turning every document into a children's book.


  >Also the incredibly annoying use of emojis everywhere turning every document into a children's book...
Halleleuhjah! --I've found a friend.

I've been grumbling about and steadfastly refusing to use, emojis [and fucking TXT SPK] since forever. And I usually get downvoted into oblivion by people implying that I'm a miserable sod, or have no sense of humour. No. I'm just availing of the fact that human communication skills are supposed to have evolved beyond grunts and cave paintings.

Seriously. I've seen entire conversations on Twatter, Facebook and the like, where the whole lengthy "dialogue" has consisted of nothing more than bloody amojis and LOL, ROFL, LMAO type texting acronyms.

George Orwell had the right idea about a future where people were unable to use the language to communicate in any meaningful way. His only mistake was calling it Newspeak instead of Socialmediaspeak


Get used to it. We are entering into an era when using full stops at the end of sentences is no longer appropriate; it is considered curt and rude (and potentially "cheugy"? still don't know if that word is an actual thing) among the young set to do so.


Don’t be salty about emoji. They’re the addendum to the alphabet in our modern computing world.

I see emoji in docs and code and it helps. It can be abused … like any other … literary device.


Disagree. The problem with emoji is that it relies on the "font" used too heavily. What's worse is that these "fonts" are controlled by the device that you use. My prime example of this is the skull emoji, imagine sending your mom this: "grandma :skull: sleep during the movie".

To a youngster this simply means: grandma "deadass" (i.e. actually) slept through the entire movie.

To your parent: grandma died in the cinema.

Just look at the different ways a skull can be represented depending on your devices https://emojipedia.org/skull/

Notice how different they are. I prefer using kaomoji more because:

1. its way more creative, 2. its consistent across devices (way more, anyways)

this sleeping kaomoji like "(_ _ ) . . z Z" will probably be rendered in the same way for 99.99% of the people that see it throughout the text's lifetime.


The outbreak of disturbing Bing AI responses with their heavy sprinkling of emoji definitely gives a negative impression. As you say, it’s emoji abuse.


Also the (over)use of "awesome", as in https://github.com/topics/awesome. Or just today I saw "$PROJECT is used by these awesome projects" [0], which just makes me shake my head. It is an immediate turn-off.

[0] https://typicode.github.io/husky/#/?id=used-by


* Awesome

* Reaching out

* Doubling down

* Beginning the answer to questions with "So..."

All have my fists bunching.


The disease is also infecting the backend and codebases themselves.

It’s always fun to maintain someone’s code with comments like “//todo make the magic happen” when they’ve left the company.

Not everything in life is made better by humor. It is fine to take some things seriously.


I feel like that’s just a-holery that should never have made it through PRs. It’s like writing “I bet you didn’t read this” in your high school book report.


> Buttons can't use text anymore, they must show cryptic icons even when there's plenty of screen space. Figuring out icons' meanings is left as an exercise to the user.

That's not really about "infantilization." Icons don't need translation (well sometimes they do, but developers don't usually care that much). So you can just fill the UI with icons and not worry about what happens when your menu bar is not wide enough for German or Japanese version of "Close current window".

Think of Ikea manuals.


> ongoing software infantilization process

BSODs didn't exactly scream "big boy pants."

https://en.wikipedia.org/wiki/Blue_screen_of_death

Extra bonus pro tip: somber vs sober

https://wikidiff.com/somber/sober


I'm guessing you're younger, because old-school windows 9X blue screens absolutely contained a great deal of technical information. Granted a lot of times it was rather obtuse sounding, IRQL_NOT_LESS_OR_EQUAL, but it was a damn far cry from the Oopsie Poopsie messages of today.


The original Blue Screen of Death (from Windows NT) did. Windows 10/11 fall well into the infantilization window.


I meant "sober" indeed. Thanks anyway


Informative errors help users help you track down the error. "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!"[0] really isn't helpful as an error message.

[0] https://twitter.com/cherrikissu/status/972524442600558594?la...


The "vewy hard" part is the most annoying, because unless it's like "the entire damn site is dead" you know it's just some line in a log file that nobody will ever read.


++

I always think this very thing


Waze losing my entire account with a "Bad News, Bucko!" was pretty infuriating.

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


Would you have kept using it more if, while your entire account is definitely gone, the automated error message was deeply apologetic about any generic issue you could be experiencing right now ?


I'm not sure. Losing over a year of in-app progress was massively frustrating.

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

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


I think Jef Raskin wrote in The Humane Interface that the first commandment of a computer system should be not to lose a human’s data. Another example of this I ran into recently was finding out that Reddit only keeps a certain number of saved items and silently discards the oldest ones. I was saving a lot of stuff for 10 years and was sad that about half of that is gone now. Now I don’t save stuff because I’m not sure what the oldest links are that it will throw away to make room.


I'd probably still be pissed but

INTERNAL ACCOUNT ERRROR - ACCOUNT DELETED

would piss me off less than something cutesy.


Would you not treat someone who is sincere and trying differently than someone who didn't gaf or didn't seem to grasp that something matters?


The only acceptable exception being the "404 - You found a dead link" https://i.pinimg.com/originals/82/c6/6e/82c66e2672c795af6a73...


Probably a link to the past.


One of the test VMs I work with is set up to display a raven alongside the message

  While there was a page before
  Quoth the server: 404


Googlebot prefers the 410 status code for removed content.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/410

Apologies in advance for the literal interpretation and HN pedantry.


Randomized cutesy errors (or non errors) are even worse. I'm thinking of the Slack app here, where unhelpful errors are a constant frustration for me. I'm not your friend Slack. I click in the search bar and it says "Enter your search term. You have the window open anyway." Which is salt in the wounds of having to use this app on macOS where I only get one "window" for multiple workspaces. Hate hate hate this thing and it's faux personality.


One of the first "coding guidelines" I introduced at my b2b crud app programming day job is along the lines of "Don't use humor or jokes in our business facing applications and codebase"

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


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

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


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

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

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

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

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

http://jargon-file.org

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

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

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


Tone deaf error messages that act like I'm supposed to chill and laugh at my shit breaking are not easter eggs.


I don’t mind it in the code, some of the best laughs are creative comments in code, just don’t put it in the interface where a user can see it.


In my previous job any humor or "humor" in the code was forbidden as it was audited by our customers. At first I thought it was stupid but after a while I was thankful not to have to read the same tired jokes all the time.


I bought my son his first computer, with Windows 11. I created a child account with myself as the adult to authorise it.

But when I tried to log in to authorise his account with my Microsoft account, I got an error

"It's not you, it's us"

Turns out I had to switch my country to the same as my child's, the error message being completely useless


Yes. A good error message should include an instruction to the user. Even the error reason is optional. An error code with nothing else is the bare minimum for an error to be worth a message in my opinion. Otherwise it’s just as useless as the software becoming unresponsive.


The infuriating thing about it is that it WAS you (as in it was something you did that you could fix) and it was NOT "us". Those are the worst type of error messages, where they dissuade you from finding the cause.


This is most likely an unrecognized error and as such the assumption is something went wrong on the system rather than the user request.


"It's not you, it's me" is a clichéd phrase when breaking up with someone [0]. It's often not genuine, and even when it is, it's still a degrading situation for the receiving party. "It's not you, it's us" can be taken as a quip on that. It's unnecessarily cute at best.

[0] https://en.wikipedia.org/wiki/It%27s_not_you,_it%27s_me is still unnecessarily cute, and since "it's not you, it's me" is a common p


This makes me think of the wpost story I just read "States love jokes on road safety signs. The feds aren’t laughing."[1] I imagine any effective humor will have an audience that is smaller than the audience you are trying to reach with universal messages.

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

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


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


Tho it should be a crime

if the signs don't rhyme


At least use haiku.

Seventeen syllable sign?

No, not enough room.



I just laughed so hard I cried at the Google flavored version.


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


+1

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

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

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


Along the same lines, seeing "No Thanks" or "Maybe Later" instead of just "No" is also infuriating.


"No Thanks" isn't nearly as bad as "Maybe Later" as the only choice other than "Yes", where "Yes" means I agree to be spammed with marketing material, notifications, or accept a paid service I don't want. "Maybe Later" means I'm going to be asked again and again and again if I want this thing I don't want. If they want to have me click "No Thanks" and they accept the No, that's fine with me.


These are intentionally done by marketing dweebs to increase click-through I have to assume, because you have to spend extra time trying to find the "fuck off" button.


It's like an abusive partner covering your mouth when you try to say "No".


There was a folklore.org[1] article about user testing and the original Mac - the OK button was originally "Do it" - but one user was particularly frustrated because he misread it as "Dolt" and thought the computer was insulting him. (Likely this was someone with very little experience with a GUI.)

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


"Got it!" is because they are bullying you into a false consent for whatever bullshit they are forcing on you.


Tangentially I derelish rambling errors.

This is Debian 11 attempting a reboot as a regular user:

  $ reboot
  Failed to set wall message, ignoring: Access denied
  Failed to reboot system via logind: Access denied
  Failed to open initctl fifo: Permission denied
  Failed to talk to init daemon.
  $ 
Compare with macOS:

  $ reboot
  reboot: Operation not permitted
  $ 
and OpenBSD:

  $ reboot
  Operation not permitted
  $ 
edit: s/meandering/rambling


Those are not meandering errors, those are each subsystem that can invoke the steps of the shutdown failing.

Meandering errors to you are important messages to those who care enough to interpret them.


But shutdown/reboot/halt could well check the pre-requisite user id (or other kinds of permissions needed for you to be allowed to reboot/stop the system) before invoking all those subsystems which all run on as if they were going to succeed when they are not.

And would it not be very weird if 2/3 managed to run, sending wall messages to everyone, preventing new logins and so forth but then not rebooting? Or not preventing new logins, not sending the message but still reboot?

All of those "corner cases", including the quoted permission denied messages, could well be prevented but are not.


Never said it was a corner case.


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

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

Seems cut and dried!


Is it in your personality to make light of someone's misfortunes, after your caused them? If so, then I guess this is a good analogy.


Anger is more useful than despair (Terminator 3). Maybe they're trying to anger the customers.


Yes. These things have two possible outcomes. Therefore the likelihood of each is 50%.


I generally don't mind 'cutesy' or fun error messages; I mind /ineffective/ messages. If it doesn't tell me anything useful (stuff I can look up, stuff I can tell support), I will be irked. If they show me a sad penguin, text saying "System discombobulated the fleuglströrne.", _AND_ put "ERROR: 32-115A", I don't mind the penguin and can disregard the made-up word. Although, I'd prefer the text be more apologetic and include at least an attempt at translating the error number.


I worked for a company developing clinical research software. I was already annoyed that it was following contemporary design trends with headers, hidden menus, box overlays, big buttons. I wanted clean, professional, functional design.

I heard from a friend who was doing deep dives with the UX team that the next releases of the patient-facing apps was going to be adding that Globo-Corpo art style tiles, and even some cute animals, like ducks. That wasn't why I quit, but it's not a coincidence that I quit right around the time I found that out. Imagine dying of cancer, exhausted after a long day, waiting to answer your dosing diary for a mega-corporation while some animated ducks paddle around your screen.

My grandparents got to be adults, and live in an adult world where people were taken seriously. Why not me?


At least “token not provided in guest headers” is something I can search for. Or a clue that I could look in the network tab of the dev console.

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


I remember the first time I implemented in app purchases on iOS and trying to track down who on our team wrote the very out-of-place “You’re all set!” confirmation dialog. It didn’t even click until later that that was coming from the OS itself.


One of my latest worst experience dealing with something like this was when renewing my driver license. Dealing with bureaucracy is exhausting enough and after filling the forms in the app they gave me a giant 404 screen.

I was frustrated until I carefully read the error message.

The surprise? 404 - Successfully Submitted.


If somebody hits an error, they’re some mix of anxious, angry, or confused, and cute or unclear language does nothing to help.

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


I understand what you're saying from a practical sense.

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

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

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


“My condolences.”

https://youtu.be/T7f9xTPI9eo


You generally can't make someone feel better, but you can avoid aggravating them more.


I think the author is pointing out that, even if the error message is useless, it should not try to be funny. The funny bit is upsetting in these stressful situations.


A helpful error message would quote or at least link to documentation. While they're at it, they should also fix their crappy docs!


I think part of the problem is that programmers now feel they "catch all errors" and so they don't really need (or even can) have descriptive error messages.

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


A clear instruction is the most helpful (“Try again or contact support”). A root cause reason for the error (“Connection timed out”) is somewhat helpful, an error code (“408”) can be at least a little bit helpful if user-facing or customer support-facing documentation exists.

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

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


I've made error messages along the lines of "If you see this then something has unexpectedly gone wrong <description of error the developer would understand>" for cases when the error condition should never occur under normal circumstances and should have been trapped for and solved earlier in the process, this being a belt-and-braces catch-all message as a last resort.


Yeah, that's totally normal right? What else would you do?


The worst one to me is:

"You broke Reddit!"

Like it is my fault the site has gone down.


I helped build that. You basically get that error when you get past all the exception handling in the code. There is one layer after that where you just see in plain text "Something went wrong", which is truly the bottom of the stack.

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

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


Oh I agree, this totally would be on point for Reddit at the time. However, not only did the user-base change, Reddit did as well; Between the ads, awards, and NFTs... errr... avatars, I feel that Reddit is now a lot better off financially than it was back then (I could be totally off-base here) and so the expectation is that it should now no longer be in a situation where my specific visit to the site took down the one MySQL box in the storage closet.


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

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


This annoys me also (and the "you broke reddit" happens at least weekly).

What makes it worse are the disturbing images of their mascot that accompany the error:

https://i.imgur.com/StfeP5j.jpg

https://i.imgur.com/wUbjgDT.png


Out of curiosity, in what ways do you find those images disturbing?


But that is not completely incorrect, because sometimes the excess of users can an big part of the cause why the request failed, and you are an user, so...


Still not the user's fault. The user is trying to use the site; they didn't do anything wrong. The ones who broke reddit, in the sense of having failed to do their job in a way that resulted in breakage, is the backend reddit staff who didn't make a robust product or failed to scale properly.


This is a good one, too: low-stakes, usually, and plays well to its audience.

https://www.diopitt.org/hackernews


The software industry gets more infantile with each passing day.


This is what happens when you try to save money by hiring people straight out of a 6-week javascript bootcamp


You mean full stack software engineers?


Not that I’m disagreeing with you but your bio is quite funny combined with this comment.


Yeah. I can be a bit cynical about the software industry that I work in though I'm not directing my cynicism toward any particular person. Regardless, I'm not perfect.


I can't remember the error message exactly, but recently dealing with my great uncle's estate after his death I was confronted with a cutesy error message from one of the many financial institutions or utilities I had to deal with. The problem isn't only the severity of the error being trivialized. It's also that it can come off as obnoxiously callous to real life tragedy or grief you're dealing with. There's a reason professionalism is important.

This doesn't necessarily mean to me stop having cutesy error messages all the time always, but rather think about the risk you're taking of offending your customer or audience by having cutesy error messages. If it's worth the potential of alienating them then that's your choice, but it's a real choice you're making.


So, I think there is something to be said for communicating if the problem occurred because of user input or because of a problem in the application. “Well this is awkward” doesn’t do that very well, but I’ve seen cutesy error messages like “oops, our fault!” that get that across pretty well. Of course the next thing it should say is what to do next to cancel/remediate whatever went wrong in clear/authoritative language. (Purchase was not completed to ensure you will not be double charged, you can safely try again in 5 minutes)

An error like “An error on the server occurred” can sometimes sound serious enough that users believe they somehow caused it, even if it explicitly states it’s not their fault.

I think you can be cutesy, but clear.


The comedy bomb icon on the original Mac's crash screen https://en.wikipedia.org/wiki/Bomb_(icon)#Mac_OS famously got old after a while.


I dunno, that reads less as comedy to me and more as a quick visual way to express "you're in trouble". Notably, the text in that screenshot is completely serious - "Sorry, a system error occurred. [details]" is perfectly reasonable, and the icon is just... flavoring. It presents to me as vastly more respectful than, say NT's ":(" error screen.


I think the bomb is confusing because it depicts something about to blow up, having the user wonder what it would mean for the bomb to explode and how they would prevent it, whereas in actuality the bad thing has already happened.


Some Mac users thought the bomb icon meant they MUST turn off or unplug the computer as fast as possible, or it would literally explode. Even a few who had been users for a few years. The possibility never occurred to me until the first time I heard someone in all seriousness (and with appropriate note of trepidation) assert it when describing how to handle it to someone.


A better complaint would be the about system call name. From Wikipedia: In the original Mac OS, the system call to display a "bomb box" was called DSError, for "Deep Shit". This was deemed obscene, and became the "System Error Manager".


Oh come on, it had a valid error message, it just had a cute header. Things like this are a reminder that applications are still made by human beings who can make mistakes.

Sure, it may have been better If it said "Something went wrong:-(" with a note to take a screenshot and ask for help. But if you can be cute and get the same point across, it's usually better to be cute.


I disagree. Cuteness is not professional, and it makes you wonder whether the software was created with the appropriate diligence, and whether the user's needs are actually being taken seriously.

If, say, the cook in a restaurant messes up your dinner, or the mechanic happens to accidentally scratch your car, you don't want them to get cute about it, especially when you're already annoyed. Yes, mistakes happen, but then please be professional about it.


If, say, the cook in a restaurant messes up your dinner, or the mechanic happens to accidentally scratch your car, you don't want them to get cute about it, especially when you're already annoyed. Yes, mistakes happen, but then please be professional about it.

So you would rather them inform you of their mistake deadpanned without any show of emotion?

You don't like when the waitress circles the refund on your check, and writes sorry for the trouble hope you give us another chance with a smiley face? Or when the mechanic says he'll have his body guy fix the scratch before making a crass joke and offering you a donut?

Real life interactions are full of emotional cues, and personality. This is because it can often soften the blow of bad news. If you show me a picture of a puppy along with the error message I'm going to be a little less annoyed. That said, definitely show as detailed of an error message as you can along with that puppy.


I don't think that the examples that you have with the waitress and the mechanic are good comparisons, because they are "cute" after solving your problem. More accurate examples would be the waitress or mechanic saying "Oops, sowwy! Something went wrong." and leaving, without solving your problem.

I'm also on the side of being professional while the problem still stands, because the user is most probably annoyed at the situation, and wants you to take it seriously. You can be cute after the issue has been resolved.


> "But if you can be cute and get the same point across, it's usually better to be cute."

Why exactly? The entire point of the article and the many comments here are about how subjective, useless and usually aggravating it is.


I think the article and the comments are wrong. I prefer things to be a little bit fun, and I suspect most people in the real world do too. It's definitely better than some PR driven corporate speak. Now if you want to say that the errors should be more detailed, then sure. But don't punish me with a drab error message when I'm already annoyed about the thing not working.


And again, it's all subjective. I suspect most people in the "real world" (whatever that means) do not actually find it fun, hence the vast majority of professional writing in other industries not having any emojis.

Lack of emojis doesn't mean PR driven corporate speak either, and in fact both are on same level of equivocal communication.


ಠ_ಠ We're looking at you, Chrome with the "Aw snap" bs


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

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

Devil Doll: Page not found!

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


At least it still has a descriptive if not entirely useful message, so someone encountering it could tell them the specific error that's occurring. In other words, treating users like idiots by only showing a single loathesome "something went wrong" is also unlikely to help you find the problem and fix it, because that's all they'll tell you. If anything, it'll only encourage this horrible antipattern that anyone who has done tech support will have experienced:

"It doesn't work"

"What doesn't work?"

"I don't know."

"Is there any error message or code?"

"I don't know. It just doesn't work."


The guy needs to know what he can do about it. That should be in the error message. I'd be happy with:

Sorry, but something went wrong. Call or text the ticket counter at blah blah to access your ticket


Reminds me of this story:

https://www.nbcnews.com/tech/tech-news/robocop-park-fight-ho...

Turns out the 'police' robot isn't actually able to summon police when requested. It's literally security theatre.


Back in the 80s, a friend of mine had an Atari ST computer. I remember that the button text for closing an error dialog said "Sorry."


Steve Summit used to cite as a major UI win, some ancient Macintosh application that performed some long-running operation (print spooling? I dunno); when the operation was succesful, the button to close the dialog indicating so read "Yay!" When an error occurred, the button to close the dialog read "Damn!"


It seems like the internet has had to become less "fun" as it's become more essential and universal to modern life.

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


I've always been annoyed (as a distant memory) by this CuteFTP message: "421 Timeout - try typing a little faster next time."


Since I program in an interpreted language, I can use an undefined function name to generate an error message, such as:

    NameError: name 'youreHosed' is not defined
Of course I have to remove those before I share my code with anybody outside of a tight circle of colleagues who know about my sense of humor.


This stuff usually comes from marketing. They want every touchpoint in the user experience to use a consistent verbal brand language. If the brand is fun and quirky, they want the errors to feel that way, too.

And after writing this comment I’m immediately reminded of Chevy Chase punching the moose in front of Wallyworld.


Not an error message as such. But one of my current wall headbutters are the dialogues that ask you to try some new feature or suchlike. But only offer you the option of YES or REMIND ME LATER [or ASK ME TOMORROW or NOT YET or MAYBE LATER...etc].

Give me the option to choose NO or NEVER you turds!


On the other hand, it's likely a unique error message, so it's easy to search for where it happens in the sources.

I've seen inscrutable error messages with no good way to find where they came from and nothing useful logged. This is better than bad.


Another really annoying one [I'm looking at you MacOS!] is when you do get a fairly long and fairly informative error message popup on screen. But the dev team has made the text non-selectable. So you can't copy/paste it into $SEARCH-ENGINE but have to type it in by hand.


Can someone put 2022 on this

I thought HN had guidelines you weren't meant to recycle stories within 12mo

https://news.ycombinator.com/item?id=32337520


Cutesy corporate communication in general is just cringe.


If it's a 5xx response (server error) I make sure to apologize.

If it's a 4xx error though? That's on the client, of course I'll make fun of them.

(Joking, obviously)



The web is sorely lacking a thorough “Best Practices for Reporting Errors to Users” reference document. Nielsen Norman Group has a decent short page with some suggestions https://www.nngroup.com/articles/error-message-guidelines/ but there is definitely more to be said on the matter.

Oft-suggested is “human readable description instead of arbitrary error code”. Disagree; you should probably include the error code in the message (ERR0231), because that helps make the error message unique to this specific error situation and thus makes it functional as a “gathering point”. If you Google the error message and find others talking about the same error you experienced, that’s useful; if you Google the error message and find others talking about different errors on the same site, that is useless at best and could be harmful. (Concrete example: a multiplayer gaming platform reports a checksum of game files to a remote server to ensure all players are using the same version of the game. Scenario 1: The files are corrupt, the checksum is wrong, the error message is “Unable to validate game files”, the fix is to reinstall the game. Scenario 2: The user’s internet connection is temporarily degraded, the game is unable to get a response from the remote server, the error message is “Unable to validate game files”, the fix is to wait until connection improves. The unfortunate user from Scenario 2 is going to google their error message and get told to try the fix from Scenario 1. Now they’re re-downloading the game on their spotty connection.)

Something I haven’t seen suggested is telling the user what parts of the process did and didn’t happen. Take the case described in the article.

“We were unable to charge your card. The system has not created a ticket. The app has no ticket to generate.” (Something is wrong with my card, I can check my bank balance and try the purchase again.)

vs

“Your card has been charged. The system failed to create a valid ticket to be associated with your account. The app has no ticket to generate.” (Something is wrong with their server, I should not try to purchase again.)

vs

“Your card has been charged. The system has created a valid ticket but failed to associate it with your account. The app has no ticket to generate.” (Something might be wrong with my account, or something is wrong with their server. I can check my account page to see if there’s anything I need to update, but if I don’t see anything then I shouldn’t try the purchase again.)

vs

“Your card has been charged. A valid ticket has been created in our system and associated with your account. The app failed to generate this ticket.” (Something is wrong with the app on my phone. I should not try the purchase process again but I could try re-downloading the app and going to My Tickets.)

The user by default has a mental model of the state of the world after a successful process, and you need to inform them which parts of their mental model need updating because of this error.


Every one of those is confusing.

(1) Third sentence seems redundant. It adds no useful information, unless maybe you're privy to internal workings of the system (and maybe not even then).

(1,2,3,4) If "the system" creates tickets, why is the app trying to generate them? 'Generate' and 'create' are too close in meaning, for me.

(1,2,3) Why am I charged if the charge+ticket (which should be inexorably linked) did not succeed as a whole? I'd expect the charge automagically reversed (or better: prevented) as a consequence of rolling back the broken transaction.

(3) If a 'valid' ticket was created, how is it not associated with my account? That seems like an invalid ticket to me!

(4) Seems like the entire transaction (charge+ticket) completed, but mysteriously the app is informing me it doesn't need to or possibly has failed to do…who knows what, be cause 'the system' already has my ticket.

The first scenario is the only one for which I agree with the suggested conclusions.


Back in the day, IIRC, sgi used to have pictures of crying babies for the 404 error page. It was a different picture each time. Younger me that that was pretty interesting and it kind of served as a little break from the monotony of the working day.


Everytime I see an elaborate "funny" error page, I always thing that I wish they had put that extra effort into a more specific error or not having an error in the first place. But I realize that is not an entirely fair criticism.


I remember seeing a whole collection of creative 404 pages from different sites—feels like a fun vestige of the "old" internet that we rarely run into today...


So, it's awkward?


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


Error messages are a double edged sword....

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

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


An error message should communicate:

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

   A network error occurred during checkout. The transaction may have gone through regardless, please check your purchase history before trying again. If this continues happening, please email xxx@xxx.xxx with the following error ID: 123456789. We're sorry for the inconvenience.


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

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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: