After reading 14 bare minimum security checks before releasing a rails app over at RailsInside, I got thinking and wondered what are the bare minimum usability checks for an app before releasing it? Here’s my list:
Check your copy writing
Nothing is more confusing than unclear/ambiguous labels or messages. I’ve seen this happen in live applications – you end up crossing your fingers and clicking a button whilst hoping for the best! Read what you’ve written. All of it. Are there any double negatives in your labels/prompts? Are you inadvertently stepping on some industry specific terminology? This is particularly a problem in the finance industry where a simple descriptive word actually has a very specific meaning – problems resulting from this can be a nightmare to figure out!
Automated tests are a must, but make sure you actually have a run through the app yourself. Remember that your automated tests only check that it works the way it is meant to – not that it makes any sense! Put yourself in your users position – is it obvious how things work?
Delete all your test data
Your customer wont have all your test data or preconfigured settings like you have on your development box. Delete all your data or install a fresh copy. Go through the same experience your customers will. Is it obvious what they need to do to get started? Does it even work without this data?
Get someone else to use your software
Have you ever had difficulty explaining something that seems perfectly clear or even obvious to you? The same happens with user interfaces – what can seem like a clear interface to you can be totally confusing to someone else – you “know” what you mean… your user might not. Always get a second opinion. Sit someone in front of your application and see if they can perform basic tasks (without any hints!).
As a minimum your app should always stop a user from entering invalid data. If a field expects a number – don’t allow letters. This basic step stops users entering unexpected data. You might think it’s obvious what is expected – but it isn’t – lets take a silly example: Say your app is showing a questionnaire that asks a user “How many sweets have you eaten this week?”. Your software probably expects the user to enter a number so that this can be added up later. But what if they said “a bag” or “two bars”? Both are valid answers to the question, but will probably result in an error when your software tries to convert the words to numbers. Help your users to do what you are expecting.
This isn’t a list of every check you should do to test the usability of your app – it is just the bare minimum. There were a number of other checks that I thought were important, but I couldn’t convince myself they were the *bare* minimum. I’d love to hear your thoughts and suggestions if you think there’s anything missing!