Network Error Messages That A User Can Actually Understand

I was helping a client with developing an iOS app that uses almost all of the time their API, hence requires a working network connection. Unfortunately, mobile devices do not always have that. So we needed to deal with situations where the connection would be down. A lot has to do with smart software, for instance retry after x seconds without bothering the user, or detect when network is available again and then try again. And of course not an app should never crash or show inconsistent results! However there will always be cases when you need to tell the user something is wrong, hence error messages.

Our goals were:

  1. Be understandable for a nontechnical user
  2. If possible, explain how to fix the problem
  3. Be humble. It is not the user’s fault
  4. Be aware of the user’s state of mind

Bear in mind, a difference with a web site is that a user has very little control over what URL is called (no browser bar for user caused 404’s or DNS lookup errors). Another difference is that we control the client, so as a browser can detect connection problems.

HTTP status 404 (object not found)
Technical explanation: no resource found at url, very probably because of a programming error
Error title: Oops!
Error message: Sorry, we made a mistake and couldn’t find <object> for you

HTTP 401 Unauthorized or HTTP 403 Forbidden
App is trying to access a secured resource that require some kind of authentication. User entered incorrect credentials
Error title: Login failed
Error message: Check your username and password and try again.

HTTP status 500 (server error)
Technical explanation: server error, caused by a server programming error or network/hardware failure
Error title: Oops, sorry!
Error message: Unfortunately our server had a problem. Please try again later when we probably have fixed this.

HTTP timeout
Technical explanation: very probably the connection is that slow that the request timed out. Small chance it was actually the server that was slow
Error title: Connection is too slowww
Error message: Unfortunately the communication broke down. Please try again when you have a better connection.

No network connection
Technical explanation: user could have no cellphone reception, be on a bad wifi network, or turned on Airplane mode
Error title: No connection šŸ™
Error message: We couldn’t reach our server. Are you in airplane mode? Try again when you have cell phone reception or wifi again.

No DNS entry for host
Technical explanation: probably hardcoded server name could not be resolved, might be due to a down or unreachable DNS server, very probably a network problem
Error title: Oops! Could not find server
Error message: We couldn’t find our server, probably because of a bad connection. Try again when you have a better connection.

Also read this excellent post about error messages. What do you think? Do you like really funny messages like Mailchimp uses?

hosting iOSDevCampAMS was a blast!

What a fun it was. As veteran participant I was given the opportunity to host a hackathon myself. iOSDevCamp is the biggest iOS hackathon in the USA, and also has satellite events. I happened to be in Amsterdam so I seized the opportunity when I was asked to run the iOSDevCamp Amsterdam event. A full weekend it was, starting with pitches on Friday night, hacking on Saturday and Sunday and final presentations on Sunday with a jury, in which I also participated.

iOSDevCamp USA had this year with over 500 developers. We in Amsterdam had in total 4 teams, with over 25 iOS developers.

Civ Orbis won, with their history Foursquare app. They also won the iOSDevCamp SatelliteĀ competition, woohoo! Here is a video of the whole weekend:


Read a full recap onĀ Appsterdam blog.. Appsterdam is an awesome organisation for app makers in Amsterdam and the whole of the Netherlands. They organise a ton of events each week, if you live in the Netherlands check out their site and the Appsterdam Meetup page.