Sunday, March 23, 2008

User Experience - Homer Simpson Style

I happened upon a Simpson's episode the other day that, despite having nothing to do with User Experience, made me think of a common experience in web applications. The episode in question is called The Wizard of Evergreen Terrace. The basic plot of the episode is that Homer realizes that he hasn't done much in his life and decides to be an inventor. Obviously, many funny gags follow. The thing that prompted this blog entry was one of Homer's inventions. He called it the "Everything's ok alarm". Basically it beeps loudly every three seconds unless something isn't ok.

If you are wondering what that has to do with the User Experience of software, let me set the stage. How many times have you been prompted with an Alert box telling you that some was "ok". This might be something like "Your changes were saved successfully" or something to that effect. The reality is that, while it would be appropriate to Alert the user when changes failed to be saved, it isn't appropriate to say "everything's ok" with the software equivalent of an alarm going off.

Homer's invention illustrates the absurdity of using the wrong method of communication in the "real world", however, sometimes we forget that the same care must be taken when selecting a method to communicate in software.

A better way to alert the user that something was successful would be to display a message, perhaps next to the save button, saying "Changes were saved at 12:34 pm" This notifies the user that the changes were saved without forcing the user to acknowledge what a great job the software did doing its job. It also adds more value because it indicates the last time changes were saved which may be important in some applications.

So lets leave the "Everything's OK alarm" to the cartoons... and I don't want to see any software equivalents of the "makeup gun" either.


jimbojw said...

Well yeah, but there are perfectly good reasons to give an 'ok' message. For example, in an application doing asynchronous communication with the server (XHR, Javascript-on-demand, Flex, etc), it's nice to show that something is going on (like a spinner image), as well as when that thing finishes.

Sometimes removing the spinner image is sufficient, sometimes it makes sense to show the user a bit more about what just happened (esp in the case of multiple valid success modes).

Anonymous said...

We had a DBA (and I use that term loosely) who paged us every morning at 6am to tell us "Replication was successful."

Tordek said...

Did you read only half the article or something?
It very directly says that a message showing 'saves were changed' next to the button is fine, but the absolutely stupid thing to do is stop the user from continuing to use your software by forcing him to click OK on an absolutely redundant box.
All you get by doing that is that, when you have a real error, an action that actually deserves a message, the user says "away, ye pesky box", without even reading it...

John Blanco said...

Agreed. Status needs to be displayed, but it can't interrupt. This is something discussed in Humane Interface with much regards to Microsoft Word. :-)

Anonymous said...

If the message is unobtrusive and doesn't flash out too much at the user, then I feel it's okay to have them, like jimbojw said.