Red Letter Day

Thursday, August 24, 2006

Most annoying Mac error ever

Yeah, Macs can be very, very annoying, sometimes. Especially when the annoying thing is a bug in Apple's own Safari web browser. Even worse, when this bug occurs, the resulting error dialog is inaccurate, blames the user for the error, and is about as non-helpful as an error dialog could be. It is, to summarize, about as un-Mac-like as it could be.

This error is the result of a real situation that any web surfer runs into on ocassion: sometimes a server is just plain busy, and rather the rejecting the connection entirely, it sends partial data and then gives up. When this happens, you can usually just hit "reload" and the page will then load just fine.

Anyway, here's the offending error:



Let's pick this horrid error message apart, a line at a time.

Safari can't open the page "http://support.apple.com/batteryprogram"

This is the most accurate part of the error message.

The error was: "lost network connection" (NSURLErrorDomain:-1005)

An overly technical explaination that is meaningless to the average user and doesn't really explain what happened. The error code only adds insult to injury.

Please choose Report Bug to Apple from the Safari menu

The user has just been told that an error occured. Rather then be given tips on solving the error or an explaination of what is going on, they are instructed to stop what they are doing and contact Apple to report the error. Very unfriendly, especailly given that this is not a bug in Safari, and reporting it to Apple is a waste of everyone's time.

Of course, Safari's inability to properly handle dropped HTTP server connections is indeed a bug. Maybe if everyone who saw this stupid error dialog reported it as such to Apple, they'd fix it, right? Or at least improve the error message...

"Note the error number and what you did before you saw this message."

"Well, I jacked the flux capicitor up to 48 gigawatts and set the phase dilation matrix to 110% of nominal."

Really, I clicked on a link on a web page. You know, like every user in the history of Safari who has stumbled across this dumb message.

I don't want to be accused of simply whining, so in that spirit, here are two ways Apple could handle this common and predictable situation (dropped HTTP connection).

The easy way

Just change the error message to actually be informative and useful:

Safari can't open the page http://support.apple.com/batteryprogram. This often happens when the web site you are trying to visit is very busy. Please click "Try again" to try to open the page again. If this problem still occurs you may wish to wait a few minutes and try the site later.

Follow by two buttons: "Try again" and "Back to previous page" (or something like that).

This error message clearly tells the user what happened in non techie detail, and gives two logical and helpful suggestions for what to do next.

The hard way

Considering that the usual reason for these errors is a busy or slow server on the other end, Apple should have Safari automatically retry the connection when this error is encountered, ideally without the user even seeing what is going on. They could provide a preference in Safari's advanced settings to control this behavior, giving the user the option to turn on or off "automatic busy site reconnection" (or whatever Apple calls it) and setting the maximum number of retries before giving up (I would set a hard maximum of 5 or 10, to avoid turning Safari into a DoS tool.)

0 Comments:

Post a Comment



<< Home