This is a rant about the trend in user interface design to make error messages vague to the point of being unusable.
I decided last week that I felt like going to Sonic to eat. If your immediate reaction to that is “well there’s your problem”, fuck you, you snob ass motherfucker, it’s just a concrete example. People are allowed to eat cheap burgers. So I put the order in on their app - as I always do now to save time - and I go to order and it says “Something went wrong, try again later”
Hmm. Okay. I guess that means their back end is down, the ordering system isn’t working, and it’s telling me to wait for them to fix it. So I decide to go eat somewhere else. I decide to try again a few days later. Same error message. Hmm, did they just let their whole ordering system stay down for 3 days? That’s odd. But what can I do? That error message tells me nothing. I decide to take a look at the app settings, see if maybe it’s something on my end. Just in case.
Aha. That credit card I have on my payment methods. I had to cancel that a few weeks ago because I lost it. So I switch to a new credit card and the order goes through fine.
10 years ago, the app would’ve said “payment method failed, please choose another one.” Today? “Something went wrong, try again later”
Which is actually the worst possible fucking error message because not only is it vague and therefore unfixable, the “try again later” part is telling me that something is wrong on their end, that I don’t have to do anything to fix it, so I don’t go searching for a fix. It’s the exact opposite of a good error message. I could’ve tried the Sonic app every day for the next 6 months and it would tell me “something went wrong, try again later” 200 times. And every time it would imply the problem is on their end, something I can’t fix, instead of just fucking telling me the payment didn’t work. Absolutely fucking insane design.
And this is not an isolated case. I use google flow to generate images and videos. It often has insane moderation. I once got moderated for the prompt “a group of realistic looking humpback whales fly over glacier bay in Alaska, using their fins like wings” and that got moderated. Because, I don’t know, the naked whales are too sexy? What was the actual reason for the moderation? Who fucking knows, because all google will tell you is that it failed. It actually didn’t even tell you it was being moderated. Just “failed” – did it fail because their server was overloaded, or because the moderation system thought there was something objectionable about it, or because google is run by Orcas who are racist against humpbacks? Who fucking knows, they won’t tell you.
The most absurd version of this story is that it lets you generate up to 4 images or videos side by side with the same prompt. I would run 4 generations and sometimes one generation would get the message “generation failed, your account has been flagged for unusual activity” – but here’s the hilarious thing. Sometimes that message would appear in 1 generation. or two. and the other 2 or 3 would generate just fine. So is my fucking account flagged or not? You’re letting me generate some prompts just fine and telling me there’s something suspicious with my account and then generating 50-75% of my requests anyway. With the same prompt for each one. So obviously my account isn’t actually banned from generation. You’re just giving me a stupid fucking useless error message that doesn’t make any sense and making me think I did something wrong in the process. How am supposed to know how to fix what you’re telling me if you don’t tell me what the problem is?
It used to be that programs would say “operation failed, error code 3924” or something like that. Then you go google “[program] error code 3924” and you’d find official documents explaining the error code and how to fix it, or perhaps a forum post where someone else had the same problem and someone explained to them how to fix it. This makes perfect sense. You need to know what’s failing to have a shot at fixing the situation.
But modern interfaces are so infantilizing that they apparently think the user is going to break down and cry if you show them something as arcane as an error code. And not even an error code in Sonic’s case. They decided to hide “payment method failed” from me! Who the fuck wouldn’t want to know that they’re using an invalid credit card and that’s why the system is failing? That’s easy to act on and not technical or obscure at all.
How the fuck are we supposed to fix problems if the systems we interact with are deliberately withholding what the problem actually is? I feel like not only have we lost the art of UI design over the last decade but the design practices have become actively hostile to make the user experience worse. All so that these companies can make hardware and software that treats us like babies who can’t figure out how to operate in the real world.
(Irony? I wrote “infantilizing” above, the spell checker in my browser decided I didn’t really mean that and replaced it with “initializing” which I only caught on the proofread. The fucking spellchecker was infantilizing me as it assumed I didn’t want to use the word infantilizing)