Nail the 80/20 of usability with this checklist.
Simple Usability Checklist for Startups — Part 1 of 2
A distillation of Jakob Nielsen’s 10 Heuristics

Article Summary: A concise, actionable list to avoid common usability mistakes. Use this to check against your app or product to help build an easy to use app and ensure the highest chance of success.

#1: Ensure system status is visible
Design should keep users informed of what’s going on within a reasonable time frame . Users then learn from previous actions and can determine next steps. Predictable interactions create trust.
- [ ] Clearly show the system status
❌ Don’t: Keep user in the dark as to whats happening
✅ Do: “Your’e offline. We’ll save your changes locally until you reconnect” - [ ] Ensure the system informs the user of the outcome when actions are taken by user.
✅ Do: “Success, your action worked” or “That option is not possible offline” - [ ] Feedback is presented quickly and concisely
“The single biggest problem in communication is the illusion that it has taken place.”
— George Bernard Shaw, British playwright and Nobel Prize recipient

#2: Match system to real world
Use words, phrases and concepts familiar to your users, rather than internal / developer jargon.
▶️ Learn more: 2 Min Video — Match between the System & Real World
- [ ] Use real world terminology, not jargon eg “Car” vs. “automobile”
❌ Don’t: “Database string updated”
✅ Do: “Changes Saved” - [ ] Ensure Users can understand words used without a dictionary
- [ ] Opt for button copy with verbs eg ‘View Document’
❌ Don’t: ‘Click here’
⚠️ Caution: ‘Learn More’ is sort of ok but no help to screen readers
✅ Do: ‘View Document’, ‘Send File’, ‘View Case Study’ tell user exactly what to expect.
️️️️

#3: User control and freedom
Mistakes happen. Always have an emergency exit to leave the unwanted action without having to endure a difficult process. Ability to back out or undo cations gives user a sense of freedom, reducing stress and frustration.
- [ ] Support Undo, & ideally Redo
❌ Don’t: ‘This cannot be undone’ is lazy programming.
✅ Do: Fun fact: redo is undo’s undo. - [ ] Ensure user can exit the current interaction
✅ Do: ‘Cancel’, ‘Back’, ‘Never Mind’ are all good escape hatches - [ ] Exits are obviously marked & easily found
✅ Do: Use common UI patterns like the 🅧 in the top corner of a window

#4: Consistency
People spend most of their time not using your site / app. Reduce cognitive load by maintaining consistent language and interactions.
- [ ] Interactive elements with the same name, perform the same action
⚠️ Caution: Casually changing between terms that eg Log in /Sign In / Log On
✅ Do: There is much debate around using Log In vs Sign in.
Pick one and stick to it. - [ ] Consistent visual design throughout the app + marketing + all communications
- [ ] Consistent language throughout the app + marketing + all communications

#5: Prevent errors
Useful error messages are great. Preventing errors in the first place is even better
- [ ] Prevent high-cost errors first, then little frustrations
- [ ] Enlist warnings for large or destructive actions — undo + a warning is best
✅ Do: Ensure destructive buttons clearly marked - [ ] Provide helpful constraints
✅ Do: Perhaps shoppers don’t want to order 500kg of bananas - [ ] Provide helpful defaults
✅ Do: pre-populate fields with most common entries eg ‘Yes, allow notifications for important alerts’ - [ ] Prevent mistakes by removing memory burdens,
❌ Don’t: don’t make user remember between screens
✅ Do: show relevant information from previous pages in a flow
Further reading:
Part 2 coming soon.