Put work in front of real people early and often.
- start with user needs
- avoid making assumptions
- design for the most constrained environment
- test regularly with users
- iterate based on evidence
- release early
Strive to support all who need the product.
- always consider accessibility
- priortise function over aesthetics
- provide legible and readable content
Keep it simple
Do the hard work so the user doesn't have to.
- provide the simplest journey for the majority
- only add complexity when justified
- hide underlying complex systems
- avoid deciding on a solution because "It's always been this way"
Make the most of the medium's benefits.
- be comfortable with change
- respect the environment's constraints
- avoid print-based thinking
Build trust and familiarity across products.
- follow the standards
- follow consistent language
- avoid reinventing the wheel
Be part of the open digital community.
- share what you're working on
- code in the open
- encourage collaboration
- learn from others