Effective Error Messaging

banner_Healthcare_728x410Healthcare.gov has recently been getting a lot of press lately due to the wide range of technical issues. The presumption though seems to be that once these problems are fixed, all will be well. But will that really be the case? Consider that even the fastest backend system with zero glitches can still prevent users from reaching their goals due to poor UX design. Rather than just concentrating on the various UX glitches that have already hampered the site, I'd like to focus on a single issue: effective error messaging.

Why? Although the site has seemingly bigger issues, which have impacted its core functionality, poorly crafted error messages compound the frustration. This is especially true for such sites that are perceived as problematic to begin with.

On October 28, 2013, users who clicked the Log in link received the following error message:

healthcaregov-error-message

First, before bashing the site completely, I'll admit they did do a good job in handling several aspects of the error message:

  • Avoiding technobabble - As Microsoft Windows error messaging guidelines point out " Do not use technical jargon, use terminology that your audience understands. Do not use slang or abbreviations."  These same guidelines can be applied to the web.
  • Serving the latest page quickly - The error page coding included some HTML that allowed the page to refresh every 30 seconds. That way, users would be kept up-to-date whenever the page was updated. Still, not everyone can be like one of Magnani’s genius front-end developers, Hong, who knows what <META HTTP-EQUIV="Refresh" CONTENT="30;URL="> means in his sleep. A new page would be served up if any changes occurred. Great idea. However, the problem is that the average user wouldn't have a clue what was going on behind the scenes if they left the page before this refresh. Instead, adding a "Last Update" time stamp would help users know they're viewing the latest information.

Here, in my opinion, are a few better approaches:

  • Make the message easy to read - Eye tracking research suggests that users scan, instead of reading every word. The current layout uses no headers or bold text to differentiate each content block from one another.
  • Explain the issue - The message fails to point out the nature of the problem. Merely knowing the system is down at the moment doesn't really say much. A simple sentence such as "We've lost our database connectivity and are working to restore the login process" can better help shed light on the issue and make users slightly more forgiving of the issue.
  • Provide an update when necessary - Users who checked the site throughout the day received the same error message. If some progress is being made, updating that information is better than keeping the same message up throughout the entire outage. Granted, that means more manpower. Still, leaving users hanging or posting messages on the blog to get more details isn't really effective to describe the problem.
  • Use actionable words - Although we can assume that the site is currently working on repairs, it's only implied from the tone. Some examples:
  1. Maintenance in progress...
  2. We're working on…
  3. We're fixing…
  4. We're restoring…

This helps communicate that some action is taking place now.

  • Communicate the level of effort - I'm sure that with all the bad press, it was imperative to get the site up and running quickly. So, why not say something like "We're working hard."
  • Provide a time estimate when possible - One of the core principles of the web is immediacy. The problem by not providing a time estimate is two-fold:
  1. Users who want an answer may decide to call the telephone number provided to ask a representative. This could increase call volume and length.
  2. It doesn't provide an accurate picture.  This outage began Tuesday evening according to news reports, and was up and running on Oct. 31.  That seems like a lot longer than "soon." As a result, users were left hanging wondering what soon really means.

If you aren't sure or uncomfortable giving a time estimate, an alternative is to instruct the user to check back in a few hours.

  • Apologize - Empathy goes a long way.  Words such as "We're sorry" or "We apologize" are a simple yet powerful way to show users understand that you recognize their inconvenience.
  • Consider graphics - We've been told that a picture is worth thousand words. Simply adding an image such as a hammer, gear or other images to communicate "repair" helps reinforce that a fix is in progress. If you decide to use this approach, make sure the image sizes are small enough so they don't affect page download.
  • Make calling hours obvious: Although the site's call center is open 24/7, it's currently not apparent.
  • Offer an opportunity to find out more - Why not add a link to the site’s blog which shows users all the recent activity being made to address these site issues?
  • Leverage Twitter - One of the most powerful features of  Twitter is being able to quickly publish updates without the need for a webmaster. This means news about site updates can occur in real time.

Conclusion

Because errors are a fact of life, it's important that every website has a plan in advance to address them. As you can see, even this simple error message has multiple issues that should be addressed. Doing so will help make users appreciate these efforts when such errors do occur. And more importantly, it can help restore users’ faith in the system that may appear broken.