A process to evaluating an User Interface
When Maria Munuera joined the team last year, she proposed that we run our current User Interface through a series of heuristics tests to get a fresh perspective and find improvements.
This evaluation helped us getting our Design System started and provided a lot of insights for me and for Maria. She recently started with us, so she got to review all of our flows and pages, and for me, it was a great opportunity to have another look at our pages.
Maria recommended Jakob Nielsen's 10 usability heuristics for User Interface design.
They are called heuristics because they are broad rules of thumb and not specific usability guidelines.
These rules don't offer solutions either. They help you discover issues with your current User Interface. It's up to you to prioritize them and fix them.
We took one rule at a time and we walked through our pages to discover what we were doing great, and what could be better.
I'd like to highlight a few rules that really stood out for us. This is not the complete list of heuristics. I recommend that you have a look at the complete list.
Visibility of system status
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
For us, it means that a user understands what is going on with their domains, DNS records, SSL certificate, account, etc…
We found a few good examples of doing this through our system. For example, when you look at your domain page, we display the resolution for the domain. Knowing if the domain is resolving with us or not indicates if the DNS records are managed by us or another provider.
We also found a few areas for improvement. We now have a list of changes to increase the visibily of information related to accounts, DNS records and SSL certificates.
Consistency and standards
Users should not have to wonder whether different words, situations, or actions mean the same thing.
Using an interface all day makes you blind to some of its inconsistencies and contradictions. This rule really helped bring them to the light. We looked at each component in detail, writing down the colors, icons, the use of links, buttons, and typography. When we compared notes, it was easy to spot the differences.
This rule also helped us reduce the number of styles we use through our User Interface, making it easier to maintain long term.
Recognition rather than recall
Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another.
This is an area where we can make big improvements. If you have been using the same one-click service over and over for your domains, we should be bringing that service forward so you don't have to search for it. We should remember your recent domain searches. We should suggest the best way to configure your domain based on your recent decisions.
The heuristics reinforced a concept that has been in my mind for some time: the world of domains and DNS is opaque and lacks feedback and transparency. Every DNS update to your domain depends on zone propagation and you are in a dark spot until that record starts to respond correctly. Troubleshooting errors and mistakes is difficult for an average user.
One of our main goals is to bring clarity and visibility into these actions so our users are less stressed and can perform their changes with confidence. I look forward to deliver such experiences.
Appreciates the finest things in life: clean code, good illustrations and carrot juice. Someday he will run a marathon.
We think domain management should be easy.
That's why we continue building DNSimple.
How We Work as a Remote Team
Inspired by a recent blog post from Travis CI, I'd like to share details about how DNSimple team members work together without offices.
The Villains of Remote Work
Remote work and small teams come with their own challenges, these are some of mine.