Five characteristics of a great user interface
1. Responsiveness
Being responsive is more then just speed. Every good interface/application should not feel slow, especially while processing mundane tasks. In addition, the interface should provide informative information to the user about the task in hand. If the application is loading a table of tens of thousands of rows, politely tell the user this and include a loading graphic. This informs the user of their task progress and prevents uncertainty creeping into their mind.
2. Familiarity
Being consistent with your interface allows users to familiarise themselves with specific elements. Familiarity can occur the first time a user uses the interface by positioning elements where they would expect to find them and from using real-life metaphors to communicate meaning, for example a home icon to represent going back to the homepage. By using consistent styles throughout the interface, e.g all primary buttons are green while all cancel buttons are red, reduces the users thinking time and increases their processing time when completing tasks.
3. Clarity
A vague interface is not a successful one. Be clear in your tone of voice, design and hierarchy. A clear interface reduces mistakes, reduces thinking time and will not require a manual to use it.
4. Concision
Often needed if the above characteristic is taken too literally. Being clear and descriptive can often lead in over describing elements and visual overload. The interface becomes bloated, no clear path is defined and the user has difficulty finding what it is they’re looking for. The big challenge is to keep the interface clear and concise at the same time.
5. Forgiveness
“(SQL Server): Error Handling in a Stored Procedure” means nothing to the end user. If the interface breaks, apologise and provide links to appropriate pages so the user is not left feeling lost.
If the users makes a mistake, ensure the interface is forgiving. Make it easy to undo actions. Can mistakenly deleted items be easily restored? A good interface should not punish users for making a mistake and should not leave them feeling lost in an environment that has no solid ground.