Blocks Design System
Shared approach, language, and communication between design, engineering, and product teams
Documentation describing how products should look and feel, proper use cases for patterns, editorial and implementation guidelines, etc
Library of reusable UI and code components that are used to solve a variety of design problems and to prevent inconsistent user experiences
Product Principle (n.) – an accepted rule of action or conduct to guide the product process.
Our product principles are the glue that holds our products together. They apply to the way we approach product design and engineering and help guide individual and team decision making.
Alignment over Assumption
Everyone is different and no one is omniscient. Take some time to really understand your collaborators and your users before drawing any conclusions. Good products prioritize effective communication.
- Listen to new ideas with an open mind until you have mutual understanding.
- Don’t automatically move forward with an idea backed by the majority. Connection is more important than consensus.
- Ask yourself:
- “Whom else could I include?”
- “What don’t I understand?”
- “Can I state others’ ideas in my own words?”
When you present a new solution to a collaborator or user, give some context. Help others understand what conversations or research went into the solution.
Confirmation over Creation
Sometimes you have to make decisions for your team, your product, or your users, about things you don’t know that much about. That’s ok! No one is an expert in everything. But you can do your homework ahead of time.
Be an informed advisor.
- Never present a blank slate; do the heavy lifting and present a complete solution to the problem at hand.
- Reduce the number of decisions someone has to make in order to complete a task.
- Ask specific, contextual questions to get better feedback.
Ask specific, contextual questions to get better feedback.
Progress over Perfection
The first solution you test will probably miss the mark. The second solution will probably be wrong too. But it’s impossible to evaluate if a solution is good or bad until you test it.
If you keep testing new ideas in real world scenarios, eventually your wrong solution will evolve into a right one.
- Try new things, make mistakes, and learn from them.
- Iterate on products and features outside of the sandbox.
- Turn ideas into testable hypotheses.
When it feels like conversation is stagnating or going in circles, try user testing instead of internal discussion.