Visibility of System Status
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
Ten Rules of Thumb for Spotting What's Wrong
Jakob Nielsen's ten usability heuristics are still the most widely used checklist for finding interface problems — each one explained with a modern, practical example.
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
Speak the user's language. Use words, phrases, and concepts familiar to them, not system-oriented terms. Follow real-world conventions.
Users often choose system functions by mistake and need a clearly marked "emergency exit" to leave the unwanted state — support undo and redo.
Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform and industry conventions.
Better than good error messages is a careful design that prevents the problem from occurring in the first place — guard rails over guides.
Minimize memory load by making objects, actions, and options visible. Users should not have to remember information from one part of the interface to another.
Accelerators — unseen by novices — may speed up interaction for experts so the system serves both. Let users tailor frequent actions.
Interfaces should not contain information that is irrelevant or rarely needed. Every extra unit of information competes with the relevant units and diminishes their visibility.
Error messages should be expressed in plain language, precisely indicate the problem, and constructively suggest a solution. Tell the user what's wrong and how to fix it.
Even though it's better if the system can be used without documentation, it may be necessary to provide help. Any such information should be easy to search and focused on the user's task.
The ten heuristics still hold — but "system status," "user control," and "error prevention" take on new meaning when the system is a probabilistic model.
Visibility of system status now means streaming tokens, a thinking shimmer, and tool-call progress. Ten silent seconds during generation reads as a frozen, broken app.
User control and freedom, AI edition: a stop button mid-stream and a regenerate after. The model’s first answer is a draft, never a dead end.