A design pattern has been defined as “a proven solution to a common problem within specified context.” For a design pattern to be trusted and reliable, it has to be tested by users. The pattern needs to also address a recurring problem that might solve a problem for multiple products and users. The designer or developer who chooses to use this pattern must also have some guidance as to the context of usage: when is this pattern going to be most effective? When should I use it in my product and when should I not?
- State of the problem the pattern addresses and the offered solution
- The scope of a pattern’s usefulness.
- Visual examples of the pattern (e.g., Figma file or branch)
- Related user research
Writing a pattern requires careful balance between generality and specificity. Your pattern should be general enough to cover the widest possible area of application, a variety of products that can be used across different Trimble divisions. It also has to be specific enough to include design principles, foundations, and style and to implement. Some things to consider:
Your pattern needs to first and foremost follow Trimble design principles and foundations (i.e. color palette, typography, grid, spacing, accessibility, etc.). The design should be based on best UX practices and usability tests.
A design pattern should always be user-centric. The pattern should take under consideration what the user knows, perceives, understands, and what actions he needs to take or behaviors he needs to exhibit.
The context of use of the pattern is critical to the success of the solution. Every solution can both succeed and fail, depending on context. For example, a nutcracker can be great at cracking nuts but terrible at tenderizing meat; an off-roading vehicle can be great for tackling difficult terrain but terrible on the highway; a pair of skis can be great sliding down the hill in the winter but terrible in the summer.
A design pattern reflects proven best practices, foundational definitions, and serves as a model for a starting place for a designer to create a solution to best serve the user’s needs.
Patterns can be combined to form other, more complex patterns (as best described by atomic design methodology). Decide how granular your pattern is. Is it a simple, basic element? Is it made up of multiple, already existing elements that form a more complex pattern?
A pattern should use terminology familiar to the end user and to the designer or developer. Avoid jargon or ambiguous phrases.
Well-established, familiar metaphors lessen the users’ cognitive load and aid in the user’s understanding.
A pattern is most effective if it can be applied in different contexts, for use by different users. Sometimes it’s easy to expand the usefulness of a pattern. For example, by simply increasing the contrast between the text and background, you are ensuring that a user with poor vision can also perceive it.
Naming is important and should reflect its purpose. Names of patterns become familiar and gain traction as a form of communication between designers, developers, product managers, and stakeholders.
Are you ready to contribute? To submit your recommendations, please: