In our less-than-perfect digital world, error messages can be the guardian angels on our shoulder; they can let us know when we’ve gone astray and lead us gently back on track. A well-crafted error message – one that is visible, states the specific problem, and provides a solution – has the power to turn a confusing or frustrating interaction into a positive experience.

Bad error messages, on the other hand, make bad experiences worse. They are the mini devils on our other shoulder, who delight in watching us make bad choices and offer no constructive guidance.


Here’s the Story

The devil reared its head on a recent early morning at Midway Airport, when I was traveling on Southwest Airlines. As I approached the security checkpoint, I opened the app to access my boarding pass and discovered something must have gone wrong:

At first, I wasn’t concerned because I know that every now and then, things just don’t load right. So I followed the instructions, closed the app, and tried again. Same result – as soon as the app opened, the error message appeared. As I creeped along in line toward the nice TSA agent who needed my boarding pass, I began to worry just a bit. My next move was to dismiss the error message and navigate to “Manage Trips”. However, apparently, I had no upcoming trips:

Not good! Forty-five minutes to boarding, and apparently Southwest had forgotten that I booked this trip. I stepped out of the security line and wondered how to get to the bottom of this.

Thinking a paper boarding pass might be the way to go, I headed over to a check-in kiosk. To look up my reservation, I opened my email to access my confirmation number. Only then did the true issue become clear:

My phone was offline? It looked like I had a strong cell signal + Wi-Fi. Wait, Wi-Fi… aha! I figured it out. My phone had connected to the airport’s Wi-Fi network but I hadn’t signed in, so it couldn’t access the Internet. And when the phone thinks it has Wi-Fi, it won’t use cell data (another usability issue that has always baffled me.) I turned off my Wi-Fi, and voila! There was my trip, there was my boarding pass – all was right with the world, and I continued on my journey. Whew.


Why This Didn’t Need to Happen

While I was grateful that there was no real problem with my trip, this was still a bad experience – at 6 a.m., I don’t want to entertain the possibility that some administrative hiccough is going to derail my travel plans. Why did I have to go through this pain at all? The cause: evil error messages.

The first error message – the one that said something had gone wrong – was annoyingly vague, but otherwise harmless. The real devil was the second message, that told me my trip did not exist. It did not exist to the app because the app could not access its database. This is not the same as not existing in the real world. Telling a traveler that her flight does not exist is a Very Bad Thing to Do. Especially when a good error message for this situation is so easy to provide; in fact, many other apps have a message for exactly this situation:

The Moral

Error messages are the crossroads of the user’s experience. Good error messages help users who go astray to correct their courses and continue on their merry ways. Bad error messages – those that are invisible, vague, or misleading – cause frustration, anxiety, and even more errors. So when you design error messages, turn away from the devil on your shoulder and listen to the angel instead – be clear, specific, and actionable.