Wednesday, June 29, 2011

When it hits the fan.

So software should be really easy to use. That makes sense.

But what happens when things go horribly, terribly wrong?

I have a nice fatal error system that dumps a pretty error message to the screen (or, if possible, your own "site is down" message and sends the error to you via email, but I'm guessing most people won't bother). The problem is that fatal error messages have two entirely different audiences: the people who don't care and just want their site up, and the people who can fix the site. The former outnumber the latter by a extremely large margin (hopefully), so is it really useful to have something like the following?

"Either you need to reconfigure your site.ini, or contact your system administrator and tell them that you need to install PHP support for SQLite." [1]

Grant you, this particular error is only likely to occur when you're first installing the software[2]. Balancing those "helpful to sysadmins only" messages with the fear and distrust engendered in users when they see something they don't understand but "feel is bad" is a very real quality of experience issue. It's something we need to design for: what the user experience is like when it breaks down. Alas, super friendly is seldom helpful to an admin trying to get things working again.

Sycamore either does a Python dump or a fairly unhelpful (but friendly!) "Hang tight, we're restarting something!" message. Wikipedia has a nice help page that points you at a website where people can detail the problem. But there's no great solution. When things break, you're looking at either a generic cheer up message (the Fail Whale!), or a really hairy guru meditation (a stack dump).

In the end, I'm going with happy, unique phrases and using them for support. A search for any should get you a useful help page (whenever somebody writes them... this is in theory right now!) On the other hand, if you are confident and know what you're doing, make a fail whale and have a happy, soothing error message... after you've configured your software to mail you when things go pear shaped.

Of course, working with what I have, I've made the error as visually calm as I could, in a soothing presentation on a sea of pastel green:



Of course, it's going to be dubbed the "green screen of death", and be the focus of anger. But at least it will be pastel anger.


____________________
[1] - No, Click doesn't preferentially use SQLite; this specific error is from the SQLite data module, for those who might want a "desktop wiki" without running a real database. I tend to use MySQL, but any relational database should work.

[2] - obWorry: There's a third possibility, if you've keeping your site configs in a database, but that situation should scream and die before this error.

No comments:

Post a Comment