AppNexus has changed a lot during the year that I’ve worked here. We’re expanding quickly, which can sometimes cause growing pains for products. One constant challenge is keeping multiple products consistent with each other. This challenge led our UX team (myself included) to develop several processes to help prevent inconsistencies.
What causes inconsistencies?
At AppNexus, we are organized around a few products which are targeted to different users. Each product is run by an independent team. Within the product teams are smaller teams devoted to specific product features. As you can imagine, this division could make it difficult to communicate consistently across products and features. Because the UX team is separate from the product teams, we have a unique perspective across all product and feature teams.
The users of each of our products have very different goals, so it might seem challenging to design an interface that works for all users. But the UX team has proven that it is possible to solve smaller independent challenges consistently, while building designs that suit each group’s goals. For example, one user may be trying to minimize cost, while another is trying to maximize revenue, but they could both be selecting objects from a list as part of their work flow. On the UX team, our processes have evolved over time to help support our existing work flows. We have a few different ways to keep things consistent:
How to Make New Products Consistent
Templates: When I started using Sketch for UX design, I built a file for all of our elements. Some were basic, like form elements and buttons; others were large, like our dialogues. Building the file allowed me to understand some of the consistency issues—by exploring the product and rebuilding elements, I found similar objects that were inconsistent, and recorded them so they could be fixed in the future. Having a template file means that when you’re building a design, it’s easier to use pattern elements since they’re already constructed.
Pattern Library: The UX team created a pattern library in order to formalize how some of our design elements work. In the pattern library, we document our usage guidelines for designers, engineers, PMs, etc.
Review Process: Designers for each product are in constant communication with each other. They’re even trying Pair Design. In order to get an outside perspective, we often request feedback from team members who are not working on our product. Sometimes a reviewer will respond, “I’m working on something that this design would be perfect for!” Or a designer might say, “This isn’t consistent with how we do this elsewhere,” In this way, the review process enforces consistency.
Design Council: If a designer is changing an existing pattern or creating a new pattern that could be useful for other teams, he or she presents at a meeting we call “design council.” At design council, we discuss how each change impacts other pages. If it’s a new idea, we discuss whether it could be abstracted out in order to be useful elsewhere.
When you’re making a product that you want users to easily understand, consistency is important. If you want to be more consistent, the best way to get started is two-fold: first, build your own template files because they provide a good base for building a pattern library later. Second, start a conversation at your company about the importance of consistency.
The AppNexus UX Team is hiring! Join our team.