These are the [[Design principles]] I helped create at [[UserVoice]]. They were documented as part of the [[UserVoice Design System]].
---
## 1. Familiarity
UserVoice feels familiar to users and matches their mental model and experience with other platforms and interfaces.
- Make a good first impression, use well understood patterns or provide onboarding cues and affordances to aide our users in learning any new patterns we establish. ^A2F9AA70-DBBB-40C3-8084-AE1DAC3F6ECD
- Apply changes that are considerate of the user’s mental model (and the mental model we project)
- Ensure adopted patterns apply to our scale, context, and use cases (just because a pattern is present in numerous B2C apps does not necessarily mean it is well-suited for our enterprise application).
- Use natural spoken language that our customers are familiar with. Research the terminology our users speak before making important labeling decisions.
## 2. Clarity
Users understand where they are, what they can do, and what has happened.
- Provide signposts and cues to help the user understand where their current context lies within the overall application.
- Our work speaks the same emotional language.
- Provide feedback
- Waiting times
- If users have to wait for content to load, show them a loader indicating that something is happening. If it takes longer, try something entertaining to keep the user engaged.
- Errors
- Provide clear and specific information about what and where something went wrong and what the user can do about it.
- Completed actions
- Provide immediate and clear feedback of successful actions.
- Make actions reversible
- Make impactful actions reversible. When this is not possible, ensure the user is made aware of the impact and the lack of reversibility beforehand.
## 3. Efficiency
Stay out of people’s way and help them get their job done as efficiently as possible.
- Support pro users and beginners
- Ensure onboarding does not disrupt experienced users (or at least allow experienced users to disable them)
- Limit distractions
- Help the user complete their main task in the most efficient way possible and prevent them from accidentally losing the result of their work
- Simplify routine jobs
## 4. Consistency and Structure
The look, feel, and behavior of our platform is consistent with itself.
- Value consistency over bespoke perfection. Re-using an existing pattern is easier on us and our users compared to creating a custom solution for each context/problem.
- Select design patterns based on what they’re best suited for, knowing what their pros and cons are.
- Use constraints appropriately
#### Note:
Our fourth design principle, *Consistency and Structure,* became a major point of contention during early design critiques.
Doing or using something once does not make it a pattern, but our conversations often veered towards making designs consistent with other things we’ve designed rather than, as [[Jared Spool]] posed, “Will the user’s current knowledge help them understand how to use what I’m designing?” [^Spool]
[^Spool]: [*Consistency in Design is the Wrong Approach*](https://articles.uie.com/consistency-in-design-is-the-wrong-approach/) by [[Jared Spool]]
Next time I’d push for removing *consistency* from the design principles and focus more on *familiarity*, with an emphasis on the user’s current knowledge ([[Focus on the user’s current knowledge]]), or “sum of all their previous experiences with relevant products and designs.”