Jakob Nielsen's 10 Heuristics
There's an interesting study (see Resources) which finds these Heuristics to be more useful than Gerhardt-Powals’s, though for data heavy apps that might still be a better set of Heuristics.
- Visibility of System Status The design should always keep users informed about what is happening, through appropriate feedback within a reasonable time frame.
1 Second is the response time you need to fit into if you want the user to connect an action and a response.
- Match between System and the Real World The system should use language and concepts that are familiar to the user, rather than system-oriented terms, and follow real-world conventions.
This principle is somewhat out of step with modern UI design, even though it still has some value.
-
User Control and Freedom Users need to have a clear "emergency exit" to leave an unwanted state without having to go through an extended process.
-
Consistency and Standards Users should not have to wonder whether different words, situations, or actions mean the same thing across the system.
-
Error Prevention A careful design that prevents a problem from occurring is better than good error messages.
-
Recognition Rather Than Recall Minimise the user's memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the interface to another.
-
Flexibility and Efficiency of Use The system should cater to both inexperienced and experienced users, allowing users to tailor frequent actions.
-
Aesthetic and Minimalist Design Interfaces should not contain information that is irrelevant or rarely needed. Every extra unit of information can dilute the visibility of important items.
Make sure animations in a UI never block actions (i.e. that animation doesn't require the user to wait until it's complete for them to continue with their workflow).
-
Help Users Recognise, Diagnose, and Recover from Errors Error messages should be clear, expressed in plain language, and offer a constructive solution.
-
Help and Documentation Ideally, a system should be usable without documentation, but if necessary, any help should be easy to search, focused on the user's task, clear, and concise.