Always consider how the customers will experience your newly designed web page or application. Don't design your way out of usability and satisfied customers. Make sure that you follow some well established principles of design that will help your customers reach their goal - which is the same as yours - to make that purchase, to find that information, or to be satisfied with your product and come back when another is needed.
Even if your products are the most desirable in the world, or the information you provide is exactly what is searched for, or your application has all the capabilities the customer could ever dream of, if your interface is illogical, difficult to operate, full of confusing inconsistencies or calls the user an idiot every time he presses the wrong button, your target consumer will probably not make it to the purchase, or come back a second time, leaving both of you as losers. This article will state and explain a few known-to-be truths about user interfaces that will help you avoid much of the problems you could encounter otherwise.
What is Usability?
The International Standards Organization has stated that usability is “the effectiveness, efficiency, and satisfaction with which specified users achieve specified goals in particular environments.” This means, to achieve high usability, you must first consider who the user is, what that user needs to do and in which situation this will be done.
When you have this information, you can then start to figure out what particular user interface solution will be most appropriate for your application.
Some Golden Rules
To start off, I will define some golden rules we all should follow in our desire for high usability and happy customers.
Consistency is Key
If you fail to follow this rule, you risk that your customer must relearn your interface for every new screen he arrives at. Use the same words all over when you describe the same things. Don't let the green blinking light in the corner mean “System active” on one screen and “Click me, I have a message” on the next.
Using consistent interfaces smoothes the learning curve for your application, and lessens the annoyance that would no doubt build up for every oddly placed button or renaming of a specific function.
Give Informative Feedback
For every user action, the system should respond in a visual way. This is true on more than one level. If that round thing is a button, show it by animating its state when the user presses it, if the data submitted in the form was successfully stored, let the user know. Or if it wasn't successfully stored, definitely let the user know, and make it clear why it wasn't stored, and what the user can do (if anything) to make it work. This leads me to my next point:
Prevent Errors or Give Informative Error Messages
Prevent errors from happening. This is easier said than done, but if you are aware of the fact that a certain design choice in your application will commonly lead to a misunderstanding of that element's function, and thus produce erratic behavior, you should probably change your mind on that particular choice. Also, by disabling or not showing functionality that is irrelevant or illogical to apply to the current context, a lot of confusion can be avoided.
If an error does occur, however, the message to the user should be as friendly and informative as possible, and should preferably contain information and suggestions about what the user may do to correct it. Avoid blunt and intimidating error messages such as “INVALID ENTRY” or “FATAL ERROR OCCURRED” that provide no information what so ever, and also shouts out in a way that would make the user (especially if the user is novice or have little experience with computer applications) feel guilty and less confident.
Instead, the messages “Phone number contains too many digits.” and “The system ran out of virtual memory and needs to close. Shut down some applications and try again.” is a lot more informative, less intimidating and indicates both the cause and solution to the problem.
Design for Users of Different Skill Levels
The novice may need a lot of helping information when starting to use the application, but the expert will undoubtedly find the constant help pop-ups to be a source of limitless annoyance if he has no way of getting rid of them.
On the contrary, expert users that do a lot of tasks repeatedly would like to have easy and quick access to these tasks and is willing to remember a few key strokes for doing so. Thus, you should provide these shortcuts for them as an alternative to the easy to figure out solution that you no doubt already have implemented.