UX Principles
Fundamental principles of UX design that guide the creation of intuitive and user-friendly interfaces.
Part of Laws of UX.
Doherty Threshold
Productivity soars when a computer and its users interact at a pace (<400ms) that ensures neither has to wait on the other.
- Provide system feedback within 400 ms to keep users’ attention and increase productivity.
- Use perceived performance to improve response time and reduce the perception of waiting.
- Animation can visually engage people while loading or processing happens in the background.
- Progress bars help make wait times tolerable, regardless of their accuracy.
- Purposefully adding a delay can increase perceived value and instill trust when the process is actually faster.
Occam’s Razor
Among competing hypotheses that predict equally well, the one with the fewest assumptions should be selected.
- The best method for reducing complexity is to avoid it in the first place.
- Analyze each element and remove as many as possible without compromising overall function.
- Consider completion only when no additional items can be removed.
Pareto Principle
For many events, roughly 80% of the effects come from 20% of the causes.
- Inputs and outputs are often not evenly distributed.
- A large group may contain only a few meaningful contributors to the desired outcome.
- Focus the majority of effort on the areas that will bring the largest benefits to the most users.
Postel’s Law
Be liberal in what you accept, and conservative in what you send.
- Be empathetic, flexible, and tolerant of the various actions users could take or input they might provide.
- Anticipate virtually anything in terms of input, access, and capability while providing a reliable interface.
- The more we can anticipate and plan for in design, the more resilient the design will be.
- Accept variable input, translate it to meet requirements, define boundaries, and provide clear feedback.
Tesler’s Law
Also known as the Law of Conservation of Complexity — for any system there is a certain amount of complexity which
cannot be reduced.
- All processes have a core of complexity that must be assumed by either the system or the user.
- Ensure as much as possible of the burden is lifted from users during design and development.
- Take care not to simplify interfaces to the point of abstraction.
Further reading