Dimitris Kontaris
Feb 10, 2016 · 3 min read

The other day I went to have dinner with a friend at a restaurant in central London. It was a last minute decision, so we hadn’t booked a table. Being a weekday other than a Thursday, we had our hopes up that it wouldn’t be a problem. We passed by an elegant restaurant with vibrant atmosphere, not too extravagant, but the type you usually need to reserve a table for. Upon entering the premises, we were greeted by an amiable waiter.

Table for two?” I asked reluctantly, aware of our poor prospect of getting one, seeing how busy it was.

Food or Drinks?


Do you have a reservation?

I’m afraid, we don’t

Hmm..” After a quick glance at his tablet, he reaffirmed my initial worry.

I’m afraid we don’t have a table available at the moment”, he responded calmly. “You can either wait at the bar until one frees up, which will be around 30–40 minutes, or you can walk for about 5–7 minutes from here, where our other restaurant is. You don’t need to have a reservation there and it is usually less crowded on a typical weekday”.

Following his advice we indeed ended up at a smaller, yet very nice place where we were seated immediately and eventually had an enjoyable dinner.

As we were walking towards that other place, I thought to myself, “look at that, we actually filled in a form and got and error message.” followed by “Boy, that was a well structured error message”.

The request for access:

We entered the restaurant and the waiter / modal box appeared. Before going further, we needed to complete a form:

The form completion:

  • Dinner or drinks?” Had we said “Drinks”, we could have gone straight to the bar, and that would have been the end of the conversation. “Dinner”, calls for another question:
  • Do you have a reservation?”. “No” gives an error: Entry denied.

The error message:

  • The problem: No tables available
  • The reason: We didn’t have a reservation and the restaurant was full.
  • The solution: If time is not a concern, sit at the bar and wait OR if time is a concern, go to this other place and get served immediately, or you can leave (cancel action).
  • How can the error be avoided next time: Book before arrival.

Good form design is a conversation between the user and the interface. An error message is an even more important conversation because the user needs to figure out why his action is denied, or worse, why the system is complaining about something he or she didn’t even do in the first place.

Translating this restaurant experience to the digital world, a successful error message structure would be:

  • Human: “I want to do this
  • Interface: “You can’t do this” (title) .“Because of these reasons” (copy of the message). “And these are your well defined options”(call to actions). “And this is how to avoid repeating the error next time” (more info — if applicable).

Next time I’ll probably make a reservation.

Dimitris Kontaris

Written by

User Experience Design is my work and passion, photography and music composition my hobbies.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade