Coding Horror

programming and human factors

Why Can't Error Messages Be Fun?

I haven't had the opportunity to talk at all about Google's new Chrome browser yet. Which is a shame, because it's easily the best web browser I've ever used. If it wasn't for the complete and utter lack of an add-in ecosystem, I'd switch away from Firefox in a heartbeat. If you're curious about Chrome, check out the Scott McCloud comic Google commissioned to explain it. Or, heck, just try it yourself!

Chrome is a joy to use, and in my opinion at least, it's the first true advance in web browser technology since the heady days of Internet Explorer 4.0. Chrome is filled with so many thoughtful details, so many reimaginings of web browser functionality as a true application platform, it's hard to even list them all.

In fact, the best way to explain how great Chrome is might arguably be one of the silliest, tiniest things about it -- even Chrome's error messages are fun! Here's an error I experienced last night while trying to clean up my GMail contacts list.

Chrome error: tab unresponsive

The tab is frozen, you see? With the snowflakes, its little scarf and teeth chattering in the cold? Rather than being annoyed with GMail, and blaming Chrome, I am completely disarmed by this error. It makes me laugh! It reminds me that the developers working on this software, rather than just taking the path of least resistance and spitting out a generic message box with a cryptic error code, took time to make their error messages not only user friendly, but fun.

I'm reminded of the Beagle Brothers statement of quality:

Our programs are FUN to use. Our instructions are CLEAR and complete.

And what happens if there's a serious rendering error on a Chrome tab, resulting in a per-tab process crash? Aw, Snap!

Chrome error: aw, snap!

These errors are subtle homages to the classic Macintosh Sad Mac. Which is a tad ironic, as Chrome is very much Windows only, at least for now.

Now, none of this means that you shouldn't take errors seriously. As a competent and professional software developer, you will crash responsibly. Every time. Humor alone is not the goal here.

Errors aren't the most glamorous part of software development. In fact, they're sort of a downer. But the way you handle errors speaks volumes about how much you respect your users, and ultimately, your own project. Remember, this stuff is supposed to be fun! Why not share some of that joy, that fun you had building your application, with your users? We certainly did this on Stack Overflow with our CAPTCHA and Error pages. It's a major drag for your users to end up on a human verification page, or a big fat honking server error. So why not ease the tension a bit by spending a little extra time on your errors and using them to illustrate the lighter side of software development?

Don't get me wrong. Your error messages should always be informative and helpful. That's not optional. But as Google Chrome shows us, it is possible to do that while also being fun. And that's even better.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror