Error Mishandling

A common refrain is that computers are too complicated for ordinary people to use. Yet mostly when I see people sat with a notebook on their lap I don’t see frustration. The confusion tends to come when something doesn’t work as expected. Naturally bad design plays a big part in this but the biggest stumbling block comes when a dialog box like this pops up:

Mac Application Unexpectedly Quit

What is an average user to do when confronted with this? Everything after the first line is utter gobbledygook. Even to a software developer much of this is unintelligible — you’d need the source code to get much a clue about what’s going on and most vendors do not share.

So, if almost no-one has a chance of understanding this, why are users asked to make a choice? It’s bad enough that the application crashed but why force the user to make a decision about something they don’t understand?

Angels on a pin?

Worse, let’s remember that this is actually an improvement over what has come before. Remember the “Unrecoverable Application Error” in early versions of Windows?

I was therefore fascinated when I realised what my iPhone was doing. Initially I thought that the software was just very reliable, which was pretty naïve of me.

When an iPhone application crashes you just get returned to the home screen. No nasty error message with impenetrable text and confusing options; often you’re not even aware that anything bad has happened. Behind the scenes the crash is recorded and is reported back to Apple next to you sync with your computer.

iPhone Crash

It would be easy to conclude that “no error message” is the way to go, however the iPhone has a couple of other qualities that makes it work. Firstly the applications seem to save their state regularly, which means that even if there is a crash you rarely lose anything of significance. Contrast this with most PC application which tend to crash only when you have an hour of unsaved work. Secondly, while not automatic, relaunching the crashed application is almost instant.

The result of these three elements together is that users are not punished for finding defects in the software. Isn’t that the way it should be?