Best Practices

Know your users
It is critically important that you know your users. Get to know some of them on a personal level such that you are able to generalize their behavior and the rational for their work practices and decisions.
Your users are not like you
You are likely an advanced user of your application and are aware of every detail of the application. That can lead to elevated expectations of your users.
All users are not the same
Different users have different backgrounds and goals. Each user has a set of previous experiences that influence their expectations of your application.
Let the user take control
Provide ways for users to work with purpose and efficiency by eliminating their pain points and allow them to craft their experience.
Content over chrome
You can have a gorgeous interface but if your content is hidden or the interactions are clumsy, you are missing the point. Focus on the things that will deliver the greatest value to your user.
Don’t drown the user in data
Carefully choose what you present to your users. If there is too much information available, they may miss the relevant details.
Innovate with intention
Let your innovation shine through, but remember that your product will be used by users who are using other products in a portfolio of applications. You do not want your application to feel or behave differently in the core areas of navigation and interaction.
Consistency across the application
Use common elements described in the Grommet style guide throughout your application. Users prefer repetition and are comfortable with familiar patterns.
Tell a story and use metaphors
Stories are irresistible to humans. Telling a story will help users connect with your product. Metaphors help users quickly establish a mental model of your product.
There are no user errors
Humans are error prone. It is our job to design interfaces that expect human error and handle it robustly. You should prevent errors wherever possible and clearly inform users of the consequences of a pending operation. Use a friendly voice for system errors and take accountability for the interruption.
Think about the entire user experience
Understand how your customers will interact with your product. Talk with different users to understand all the touch points. Consider creating a user journey for each persona. Share this deliverable with your team to leverage the impact of each person’s role in the project, increasing individual ownership and commitment.