1. Anticipation
The system should anticipate the user's next need rather than wait to be asked. Pre-fill known fields, suggest likely actions, and surface relevant options in context — don't make people hunt for what should be obvious.
A practical, web-friendly set of principles from Bruce Tognazzini — Apple's first Human Interface evangelist — covering anticipation, autonomy, efficiency, and the everyday mechanics of usable software.
Bruce "Tog" Tognazzini wrote Apple's first Human Interface Guidelines in 1978 and has been refining what makes software feel right ever since. His First Principles, hosted on AskTog and republished in revised form at the Nielsen Norman Group, are widely used as heuristics for expert evaluation alongside Nielsen's better-known set.
Compared to Nielsen's 10, Tognazzini's principles are more numerous, more specific, and more grounded in interaction mechanics — they include time and motion (Fitts's Law, latency reduction), state management (track state, protect users' work), and the small-but-critical details of color, defaults, and discoverability.
Use this set when reviewing a website that has more than one screen, lots of state, or non-trivial input — dashboards, configurators, design tools, admin consoles. The principles surface friction that pure usability checklists tend to miss.
The system should anticipate the user's next need rather than wait to be asked. Pre-fill known fields, suggest likely actions, and surface relevant options in context — don't make people hunt for what should be obvious.
Users should be in control of their environment and their data. Give them the information they need to make decisions, but don't take decisions away from them. Avoid forced flows, dark patterns, and lock-in.
Use color to enhance — never as the only carrier of information. Around 8% of men and 0.5% of women have some form of color blindness; pair color with shape, label, or position so the meaning survives if color is removed.
Maintain consistency with established platform standards and within the product itself. Identical interactions should look and behave identically across screens. Break consistency only when the new pattern is measurably better — and document the exception.
Default values should be sensible, safe, and easy to change. Most users never touch defaults, so the default is effectively the design. Avoid using "Reset" or "Default" as button labels for destructive actions — they're easy to misclick.
Users should be able to find features without reading documentation. Hidden gestures, off-screen menus, and unlabeled icons all reduce discoverability. If a feature is important, make it visible at the moment a user would need it.
Optimize for the user's time, not the system's. A process that takes the server one extra second but saves the user ten clicks is a win. Watch for loops, repetitive entry, and unnecessary confirmations.
Let users try things without fear. Mark exits clearly, support undo and redo, and avoid one-way doors that require commitment without information. Exploration is how people learn an interface.
The time to acquire a target is a function of its distance and size. Make important targets large and place them near where users already are — corners and edges of the screen are infinitely "tall" because the cursor stops there.
Build the interface from a coherent set of perceivable objects with consistent behavior. Buttons, fields, lists, and dialogs should look like buttons, fields, lists, and dialogs — and should respond to manipulation in predictable ways.
Wherever possible, reduce or hide latency. When you can't, communicate it clearly with progress indicators, optimistic UI, and skeleton screens. A 100ms response feels instant; a 1-second wait without feedback feels broken.
The interface should be easy for new users to pick up and easy for returning users to remember. Strong labels, predictable patterns, and visible state all support learnability — at the cost of some screen real estate that experts may not need.
Borrow concepts from the physical world only when they genuinely help — and don't stretch them past their breaking point. The desktop metaphor worked because it was loose. A skeuomorphic notepad with leather binding rarely does.
Users' data is sacred. Auto-save, recover from crashes, never lose input on form errors, and warn before destructive actions. Treat data loss as a bug, not a user error.
Text must be readable in real conditions: small screens, bright sunlight, tired eyes. Use sufficient contrast, generous line height, and font sizes that don't require zooming. Readability is accessibility's first line of defense.
Make every interface as simple as possible — but no simpler. Strip extraneous decoration, layered options, and seldom-used controls; surface what most users need at every moment. Simplicity is not the absence of features but the presence of clarity.
Remember where users were and what they did. Preserve scroll position, restore form input on back-navigation, and remember preferences across sessions. State that has to be reconstructed manually is state that creates frustration.
Users should always know where they are, where they came from, and how to get back. Breadcrumbs, persistent navigation, and clear page titles all reduce the cognitive cost of orientation — especially on deep, hierarchical websites.
We use cookies to run this site and, with your permission, to understand how it's used and show relevant ads. Necessary cookies are always on. You can change your choice anytime from the footer. Learn more