Building & Maintaining Pattern Libraries
In a world of digital interfaces and countless screen sizes, having a pattern library in place is an important tool for any product or company. A pattern library is a collection of design elements which appear in your digital interface and therefore it essentially is what makes up the product interface. Example of such design elements include navigations, styles, forms, carousels, UI components and other design details. In other words, we break down the interface into re-usable building blocks, design how they should look, set rules for how they should behave, and have everything documented and available company-wide. Start early, even before any code has been written. Ideally start during the prototyping phase as it avoids unnecessary back and forth communication and design updates between design and developers. Establishing a pattern library early on will ease communication within the product team.
If there is an existing product already, the initial process is time consuming as the designer has to visually QA the product, break down all design elements, and have everything ready to start documenting. This really takes time especially if it is a large-scale design system; however, investing all your efforts in the beginning will pay back big time in the long run.
Maintaining a Consistent Process
A good way to start your pattern library is to create a huge canvas in sketch and have all elements documented. Having a sketch file containing all the patterns serves as a common tool amongst the design team. Anyone can grab design components from the file and use them for any other design project which falls within the same brand style. This process maintains consistency when building products as the patterns are set in stone. Therefore, it eliminates the idea of coming up with different visuals again and again. Keep in mind, that if a pattern needs to be modified, that can become a project in itself rather than altering things as you are designing. This technique not only keeps a consistent process between the designers but also streamlines development processes.
After investing heavily in building the library, it’s time for it to start paying off. Once the developers move forward and have the code set-up (based on the rules and behaviors of the pattern library) there is no need to focus on delivering pixel-perfect design. Now the process gets much simpler because the elements are available for use. Instead, we can drag elements and “glue” them together to create a full page mockup for reference. No-one has to think what that form should look like or the size of that button anymore.
Prototype and Iterate Faster
Once most patterns have been documented, all focus should shift towards implementing and improving the product. Now you have more time to really polish the product and take it another step further within a shorter time-frame. Focus can shift to spending more time setting up prototypes for user testing, creating beautiful UI animations to improve interaction flows and iterating quicker by solving priority problems.
A pattern library strengthens cross-team communication. When a new project is coming up, a new feature needs to be developed, or a small update needs to be implemented, it is always of great help to have the pattern library by your side. I’ve been on teams who have struggled when designers, developers and product owners try to discuss a product plan but have nothing to refer to. In these cases, someone either has to scribble something on a whiteboard or, even worse, everyone has to imagine how the pattern looks.
Tech companies nowadays operate in a fast paced work style. Constant iterations, product updates, and new feature implementation bring a number of hurdles to the product team, which eventually fall to the designers and the developers. With these constant changes, pattern libraries help teams to approach such complexities with a modular and component-based framework.
Even though the result of this process creates a static version of a pattern library and leaves room for improvements, this is a quick and effective way for any product team to start off any project and create a solid library which everyone on the team can refer to. Ultimately the goal of any product team is to take it a step further and create a living styleguide. A living style guide includes not just UI modules from the designer, but also front-end code from the developers. I’ll talk more about this process in a future post.