Make your app a joy to use
Please read:
- The box model
- Responsive design
- Flexbox
- CSS values and units
- CSS and JavaScript accessibility best practices
- Inclusivity - make your app feel like a welcoming place for all users
- Conversion - minimize agony to maximize conversions of first time users
- An art, not a science - usability testing, monitoring
Answering the question: What experience do we want our users to have?
- Purpose (why use our app)
- Personas (who uses our app)
- Inspiration (similar apps)
- User flows / user journeys (how to use our app)
- Sketching (paper, whiteboard)
- Wireframes (Miro, Whimsical, Figma, Draw.io)
- Prototyping (Figma / HTML / JSX)
- Feedback (team, user testing)
Which techniques can we use to implement experiences?
- Layout, mobile-first
- Words
- Color
- Typography
- Motion, animation
- Accessibility
- Familiarity
- Position, order, hierarchy
- Size, space
- Responsive design
- Flexbox
- Media queries
- Table / Grid
- The box model
- Inspiration: https://dribbble.com/
- color roles: primary, secondary, background, surface, error
- color palette / color scheme
- light/dark-mode:
@media (prefers-color-scheme: dark)
- Inspiration: https://coolors.co/
- Semantic HTML tags
<img alt="description>
- Respect styling of tags to correspond with semantics
- Links for navigation, buttons for actions
- Only use tables for tabular data display
- Accessibility Inspector in Firefox Developer Tools
- Wrong focus / auto focus
- Reflows / fixes size / responsive
- Allow bad input / lack of input validation
- Contradicting language / terminology
* {
outline: 1px solid red;
}
HTTP.