404! Page Not Found! Ahhhh! Panic!

Do you remember that one copypasta that satirizes obnoxious error messages?

It’s funny because you just *know* they’re talking about Discord.

Turns out that’s barely hyperbole. Check out this monstrosity that I encountered the other day:

Obnoxious 404 page from HTML Dog

This is what happens when you let your UX writers run wild. I’m all for creative voice and tone in my web interfaces, but there’s a line that was crossed at the first mention of a “wee boob.”

When writing error messages – or any UI copy, for that matter – it’s better to err on the side of being boring but clear. Once you’ve decided that every line needs to contain some sort of joke or quip, the attempts at humor quickly become stale.

Jakob Nielsen wrote a nice set of Error Message Guidelines back in 2001. I think his guidelines still hold up, so let’s see how HTML Dog’s 404 page measures against them.

“Explicit indication that something has gone wrong.”

HTML Dog’s 404 message begins decently enough. “404! Page Not Found!” The exclamation points are a little extra, but at least it puts the relevant info upfront.

Then the screaming begins.

I can easily imagine certain older members of my family legitimately becoming worried if they read “Ahhhh! Panic!” Those words are so unusual and alarming. Accusatory, even. As if to say, “Look at what you’ve done.” People who don’t understand what a 404 message is or how webpages are retrieved over the internet might read something like “The authorities have been notified” and start to wonder if they’ve inadvertently committed some sort of cybercrime. The message declares that someone ought to be “sorry.” It’s all a bit… much.

“Human-readable language, instead of obscure codes or abbreviations”

I think the issue here is that HTML Dog is trying to be too “human-readable.” Normally error messages are indeed full of obscure codes and abbreviations, so kudos to HTML Dog for avoiding impenetrable tech jargon. I might argue, however, that the Justin Bieber reference counts as obscure. Billions of YouTube views aside, “Sorry” is several years old at this point.

“Polite phrasing that doesn’t blame users or imply that they are either stupid or doing something wrong”

“The person responsible will be fired. And cast out into the wilderness,” might be “polite” in the sense that it’s technically talking about someone other than the user, but keep in mind that most visitors will haphazardly scan the words on the page, not start from the beginning. If the words and phrases lingering in one’s mind after a cursory scan include “fired,” “cast out into the wilderness,” “this upsetting circumstance,” “Ahhhh!” and “the authorities have been notified,” that’s not what I would call a pleasant “user experience.”

“Precise descriptions of exact problems, rather than vague generalities”

This 404 message is as precise as it can be. It is true that the site wouldn’t necessarily know the exact reason why the error was returned, so it’s nice that it suggests three possibilities. It’s also helpful that that the most important bits are bolded. That being said, all the extra copy muddies that precision and might even introduce some of the “panic” that it sought to dispel.

“Constructive advice on how to fix the problem.”

HTML Dog is admirable for including a “What Now?” heading on its 404 page. Suggested next steps for the user are often missing from error messages. However, the non-hyperlinked parts of the bullet points are anything but constructive. “References: Refer to stuff,” to take but one example, is neither informative nor funny. And is the bizarre aside about Wikipedia supposed to be a pun about “roofing” because the site is called HTML “Dog”? Who the hell knows, man.


Jakob Nielsen’s guidelines are worth a look if you haven’t read them in full. Error messages are never fun to encounter, but I’d rather read one that calmly explains the problem and suggests next steps than one that tries too hard to be cute.