This is a rant about how so many apps on many different platforms (TVs, mobile devices, computers, etc…) have decided to not actually show detailed errors any more. Instead, we get something along the lines of:
Oops, somehting went wrong. Please try again later
… and then, well, we get to figure out what just happened and what in the world we need to do about it. And good luck with that, since you have no idea what just failed.
Why software developers?!? Why have you forsaken us?
I agree that it’s (weirdly) uncommon to be the one saying “please give me more info about the error!”
A simple error code can be endlessly helpful (bonus points if there’s a corresponding support article explaining common codes)
Even if some codes are only useful to internal support, it’s handy to be able to search an error code and see “oh I can just jump straight to submitting a ticket/calling their support” or “oh, this fix might work”
As a developer of many years I hate to tell you sometimes that it’s all the information we have when something breaks also. Most code is a god awful mess. Thankfully I love a good mystery.
Please apply to Crowd Control Productions. You’ll never find a better mystery than current live code that has spaghetti that traces back to 2002 or 2001. The game went live in 2003. There’s one, kinda, server. Technically there are three, but most EvE players only have access to Tranquility, most don’t have access to Singularity, and apparently they have renamed the dev server from Multiplicity to Serinity. Some of us still have access to Serinity because we were able to play test Multiplicity, back in the day.
Let’s talk about the growing number of websites that won’t work with a vpn. Even a local government website won’t work.
I hate the oops part. When you get an error message and it’s not even professional or technical but flimsy, I lose all respect.
At my job an Oops design was suggested. I’m glad I was able to convince us to implement it differently, without that shit tone and unprofessionalism.
professionalism is so last millennium. we’re hip and young and human. and definitely your friend.
Never show the customer a big scary error message. In the unlikely event something goes wrong, dispatch an error event so the engineers can track the issue. They’ll pull detailed logs, and know what to do. Meanwhile, guide the customer to return later with the error screen, and collect their userId if possible. Once the issue is fixed, send them an apology email to let them know they should try again
Most companies just follow the first half of that process, unfortunately
Yah, I love that idea of follow up but I imagine if the software is used by hundreds of thousands or more people, they can’t follow up on every case.You’d think that could be largely automated but who knows.
The why is easy. As others said, the vast majority of error messages are entirely useless for you, the user, because there’s not a single thing you can possibly do to address it. What are you gonna do about a database connection issue, or bad cache, or broken Javascript? Nothing. So don’t worry about it. Besides people are less panicky when they see an oops rather than a stack trace or a cryptic error message.
And don’t worry, people who know how to write up useful support tickets and bug reports know how to do it even when all they can see is an “oops”. Builtin browser dev tools will have information they can use to help the devs.
the vast majority of error messages are entirely useless for you
Hard disagree. Maybe half, at most. And most importantly, if a user can’t do anything about it, what’s the difference between a “error code 487” vs “oops there’s an unspecified error”? What’s the harm in showing an actual error code?
The VAST majority of errors I see are connection issues, or some of my VPN or adblock stuff causing me to be denied access to the website. That’s all stuff I can fix. And it would be a lot faster if I didn’t have to trial-and-error my way to the actual problem first.
See my update/EDIT above. I feel like most of the replies here are on the same track as you but I still think there’s a better way.
Look, the majority of the software is on the server end. Even if they gave you a full stack trace, and you understood it, you wouldn’t be able to do anything about it. You want them to give you a way to send in a merge request? I’m sure that would be received here as Google exploiting you for free.
Just fucking tell me when my adblock is causing you to deny me access, or my connection is too weak/slow. I don’t need a fucking full stack trace.
“Hey boss? I got a user here who’s blocking our ads and cussing us out.”
“Oh dear. Better give him whatever he wants.”
What I hate even more are error codes
Precise, easily searchable codes that describe the problem? What a ball ache!
This person gets it. Thank you.
Not on Windows, no. “This error code could indicate this or that or something”.
What are you planning to do with information about the error? It’s not like these places have customer support. Usually it’s something like a caching layer failing, and there’s literally nothing you can do about that.
If it’s an error code I’ve worked around before, apply same troubleshooting.
If its a new errror code, search the error code to see how other people solved it.
If no one else has solved the error code, try analogous troubleshooting, post results online with the error code name, successful or not.
These kinds of error messages are almost exclusively used for transient errors. You aren’t going to work around a transient error. The best thing you can do (the only thing you can do, really) is to try again later, hence, the message. It’s not helpful to show you a message like “cache-1234.example.com failed to respond within 300 milliseconds”. What are you going to do about that? By the time you submit a support ticket, that host has already been brought back up automatically. So now you’ve just wasted your time and the support staff’s time. The engineers already have a log of that error and a log of whatever error brought down that host, so you’re not telling them anything new by making a support ticket.
I agree with Nouveau_Brunswick here.
And to add: to @[email protected] , are you not also a user of software and do you not see room for improvement in many apps? That’s where I am rn: I just want them to try harder to communicate a tiny bit more info when things go so wrong that a message has to be displayed on my screen. Telling me “There’s nothing you can do to fix the problem” would be a big help, for instance. Make sense?
I am a developer of software. I can guarantee you that what you’re asking for would make my job harder, because I’ve done it, and it has made my job harder. If an error is transient (like, a caching layer error, a db connection error, an external API error, an endpoint connectivity error, etc), giving the user an error code will make it more likely that they’ll file a useless bug report or support ticket. The errors are all logged internally, and we can see when there is a spike in the error count. There’s no reason to give the user an error code, because there’s nothing helpful that the user can do with it, and there’s a lot of unhelpful things a user can do with it.
There are times where a message to the user is appropriate, like if they made a mistake with their input. But there are so many things that could go wrong that the user can’t do anything about. You’re not going to work around your DB shard going down, and a replica will replace it in a few seconds anyway, so giving you an error code does more harm than good. Telling you to try again later is exactly what I would tell you if you filed a support ticket. I don’t want to deal with useless support tickets, and you don’t want to deal with useless error messages.
Modern software stacks are big, complex systems with lots of failure points. We monitor them, and we can tell when you see these errors. If we chose to not show you a specific error code/message, there’s almost definitely a good reason.
So what you’re saying is that your code is garbage and you’re hiding it from users because it’s too much work to fix it.
What I’m saying is that error messages can be helpful or harmful. Knowing that and how to tell the difference is what makes you an expert. Just firing off any information to the user without thinking about it is what makes you a novice, and will eventually get you fired. We’re talking about systems with millions of daily users. If you cause 2,000 unnecessary support tickets or forum posts every day because you don’t know when to send what information to the user, you won’t get very far in tech.
Exactly, it’s especially infuriating on newpipe. WHAT went wrong? It’s an error 500 from YouTube (rare, unfixable, try again) or Google changed something and need to wait for a client fix? Or simply Google blacklisted the IP address or put some captcha that prevents playing the video??
Users ignore error messages.
I have seen my users request support, proceed to demonstrate the issue they’re having, and click through error messages so fast there isn’t even enough time for me to say “WAIT!” Forget about being able to actually read even one word of the message before it’s dismissed from the screen.
They treat the error messages like they are just an annoying mosquito to be swatted away as quickly as possible. This despite the fact that the whole reason I’m standing behind them is so I can see what it’s going wrong and, you know, read the error messages.
So the solution is to remove the error messages? That makes no sense.
I wasn’t saying it was a solution, I was just offering a possible explanation. I understand why someone wouldn’t bother telling the user what’s happening. For my code, I log everything that happens, and tell the user to call me. When I get the call, I check the log and use that to figure out what went wrong.
Distressingly typical user communication:
User: There was an error message.
Me: What did the error say?
User: I don’t know. Something about the problem.
That’s Windows’ training bearing fruit.
Them:
“What? Oh that? That always happens”
Me:
Grrrrr
Yeah, you’re right, but I still would prefer to see something telling me whether something I did caused the problem or something went wrong in the software / on the server. From this thread, I’m getting that my wishes will not be heard.
Most common place I see those is when the site doesn’t want to talk to a known VPN endpoint. Like another mentioned site owners don’t want to given any more info to what they perceive as a possible threat than needed, so they just give a generic failure page.
Error messages are a common way for hackers to gain information about a system. Useless error messages are recommended for security.
If you enter your username as Robert’'); DROP TABLE Students;-- giving the error “Oops, something went wrong” is better than “NoSuchTable: ‘Students’ Table doesn’t exist in the database” because now the hacker knows you’re using a database that interprets SQL commands and inputs aren’t being sanitized.
Hacking programs like Burp Suite have functions that spam sites with all kinds of garbage data and uses error messages and delays in response times to highlight potential vulnerabilities.
Even if you don’t buy into this logic, you still have to do it in quite a few places because the security auditors have a line in their checklist about being able to extract any internal information from error pages
Security through obscurity is still wack tho
Yeah but most of these errors don’t even give out a uuid that could be used to relate the error to logs to be resolved by someone.
Not that that someone exists anyway. Let’s face it the entire industry is a massive joke and a pile of shit and with AI coming fast and hard soon you won’t even get the privilege of venting to a call center person about it.
You’ll vent to some made-up chatbot named veeblezorp and he will give you an impromptu therapy session about the state of the world. Your computer/tablet/phone/app still won’t work properly and veeblezorp will try to get you through the stages of grief about that.
Just unplug it and don’t plug it back in again. Go for a walk. Play with the dog. Hug your children. Stop buying crap online that scales up infinitely to take new customers (and their dollars) but is forever stuck at the sub-garage startup level when it comes to support.
So in short it’s used to mask the developers errors?
This comment belongs on masterhacker
Reminds me of the old “Oopsie woopsie we made a fucky wucky!!” post
If it doesn’t tell you what error it is, isn’t an error message, it’s just a message that says that something went wrong. Even a calculator has proper error messages that show you actual information about what is wrong