Please Crash Responsibly:

I recently read an online article written by Jeff Atwood, a popular software & human factors blogger, titled “Crash Responsibly“. The gist of his article was basically that we as software developers need to protect the users of our software from unknown errors and even from catastrophic crashes. I agree wholeheartedly.

Everyone who writes software should make sure that their application is self-reporting of it’s own problems. Never depend on the user to tell you that your software is misbehaving. Of course, you should also have a means for the user to manually report problems, but that should be a secondary means that you find out about your software’s bugs, issues, and crashes.

Software developers should also hide the gory details of their errors from their users by default. There are always some software savvy or curious users who will want to know exactly what went wrong, but most users just want to know that something bad happened and the software developers have been notified and they are on the case and working diligently to correct it. There should probably be a means for the savvy or curious user to see more details and also a means for the user to report the problem, but again, these are both secondary. The primary error screen should be simple and easily understandable by the general public and no gory implementation details nor debugging details should be exposed to the user by default.

I performed a search on the site just now for VeggieTales movies to add to my online Blockbuster queue, when I received the following error screen:

User Unfriendly Error Message from Blockbuster

Wow. I’m a full time software designer and I don’t think I can fully understand what this error message is trying to tell the user. I understand the “no server available” and the “timed out after 10 seconds” parts, but I’ll admit I had to look up the word “idempotent”. That’s not a word your typical user needs to be exposed to. Most users will probably even laugh at you when they see this error message because it looks like you completely made up a word.

So, please crash responsibly!


2 thoughts on “Please Crash Responsibly:”

  1. Nice article Kurt. I enjoyed reading it.

    For me, the title draws some parallels to automobile crashing. Interestingly, it took the auto industry decades to increase the safety of their vehicles to what they are today. I remember when the government talked about mandating air bags many years ago and the car industry fought back indicating it would be too costly, etc. Now, vehicle safety is among the top selling characteristics for the consumer. I won’t buy a car that isn’t “5 Star” rated. Still, there was a huge cost associated with having the infrastructure in place for for the auto industry to offer air bags, antilock brakes, impact sensors, roll over sensors, crush zones, etc. Lots of R&D went into this evolving solution not to mention the massive logistics chains associated with it.

    So, I guess the point I am making is that there is a cost associated with making software “bullet proof”. Certain industries are more sensitive to having that objective now rather than later. Maybe Blockbuster decided it wasn’t worth the cost within their industry of highering top notch programmers or contracting out to a software company that touted “crash proof” web pages..

    Maybe a more aptly named title for the blog entry would be:

    Please Crash Responsibly: – but at what cost?

    I am obviously playing a bit of the devil’s advocate to your message. Some of the safety features you tout could probably be introduced at trivial costs. Again though, cost and schedule are always hanging out there and time to market could break a company.

    After hearing about a few irked users splattered along the internet highways, I’m sure Blockbuster will plan to fix those funnies in a sustaining release. 🙂

  2. For a commercial site, the key metric would be how much revenue they lost as a result of the crash… or for Blockbuster’s online rental service, how many customers bailed and signed up with Netflix… or with iTunes/AppleTV. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *