The design principle of carefully designing interfaces to prevent problems from occurring in the first place, rather than relying on error messages to correct mistakes after they happen.
Explained
- Preventing mistakes beats explaining them after they happen.
- Constraints, confirmations, smart defaults, and disabled invalid actions all stop errors at the source.
- The best error is the one the design made impossible in the first place.
- When a slip does occur, easy recovery matters more than a well-worded message.