Tools for building a pattern library
17 Apr 2011 - 12:56am
5 replies
3174 reads
What tool(s) did you use to set up your UI pattern library?
I know this question has been asked before*, but after repeated searches I'm not finding much of an answer. Seems there aren't any simple ways of doing this.
I'm currently using a mix of documents in collaboration with custom built (aka one-off) web-based solutions, but these aren't optimal for several reasons:
- Our documentation and online sources vary in structure and organization from site to site (5+ websites). This happens when you have multiple designers and dev teams.
- Documentation is inconsistently updated and shared because it typically gets buried in folders and loses attention as different projects come up.
- Online sources are currently developer centric, as they only contain code snippets (for recycling code) and live examples (awesome for verification purposes).
- Online sources vary in implementation from site to site. Each one looks and behaves differently as you navigate through them.
- Online sources are only updated by dev. They translate design specifications into the working samples mentioned above.
- No guidelines for use are included in the online sources. It's very much focused on repeatable code, at the moment.
What we'd like to have is an online tool, that's centralized, editable by various teams, and consumable by others outside of the company. Specifically, we'd like:
- Centralized documentation. That's quickly accessed via a bookmark.
- Ability to switch from one site to another with the overall structure and organization mostly remaining the same.
- A table of contents (á la a wiki) that is present while navigating library. Thus allowing readers to jump in and out of sections and providing visibility of overall library structure.
- Allows designers to provide pattern rationale, use guidelines, notes, etc.
- Allows designers to upload screen shots of UI or UI specifications
- Allows developers to drop in code snippets and notes
- Allows developers to include working examples of code
- Library supports multiple browsers (this could be helpful for QA purposes)
- Part of the application and accessible to outsiders with right access or knowledge of location
- Something that can be set up with minimal resources.
Are wiki's really the only option? Any ideas would be very much appreciated.
*http://www.uie.com/brainsparks/2009/01/09/tools-for-creating-pattern-libraries/
Comments
Hi Darren,
You might be interested in Patternry (http://patternry.com), a tool for building user interface design pattern libraries.
Patternry matches your needs very well:
Right now we are in public beta and will launch in the near future.
The idea behind Patternry was born a few years back when I built my first design pattern libraries and was surprised how much work it required to build and maintain them. However, if you decide to use a wiki/CMS instead, have a look at my Master’s thesis on creating a UI design pattern library (it’s few years old but still relevant): http://www.scribd.com/doc/29180579/Developing-a-UI-Design-Pattern-Library-A-Case-Study-at-eCraft-Master-s-Thesis
-Janne
JANNE LAMMI | Pattern Curator | Pattern Factory Oy
http://patternry.com | @patternry
Hi Janne,
Thanks for the reply. I was actually looking at (and registered with) your site, last night. I need to dig into it some more, but I'm glad to see most of the issues I listed can be handled. Additionally, it's good to know you're looking at allowing code pieces to be dropped in. Our dev team is really interested in doing that (I encourage it), but I'd really prefer not having to maintain multiple documentation sources since that's my current set up.
Darren
I feel your pain with this. Have been fighting this battle for a few years now myself.
You have quite the wish list and I absolutely understand why. When I tried to tackle the problem, I wanted all the things you list plus a workflow system with a review status with notes and justifications too! Including voting and formal challenges to make the library something that could capture all the offline discussion. I wanted to fight the lack of process and authority with structured standards for reusable thinking across different sites and platforms -web, mobile app, desktop apps, widgets, etc.
I say all this because where we ended up is a lot more lightweight and meaningful. Something that you could set up more as a wordpress blog. If you take a look at patternry.com as an example you will see that there are simple sections where the most important aspects are explanation (with pictures) and related patterns. The other sections can link off to things internal and external as needed. We found that it is more important to let people post their documents and information wherever they like and to use a pattern to represent a Hub for the stuff that matters.
Isn't that what interaction people do anyway? We act as hubs for information that matters most to the quality of how the interaction works? We don't have to be an expert in everything, but sometimes act as facilitators who gain trust in the quality of the end result.
Similarly, that's how the library should function - not heavy handed, consistent, helpful and the work and collaboration speaks for itself. After a while, the library becomes a necessary resource to QA people as a single link to access shortcuts to all the documentation they need. Once people start relying on the library, it will seem that any link not in the pattern becomes invisible, and people will start to refer to the patterns and challenging others ideas compared to the patterns. It will take on a life of its own.
To recap, my advice is the following: 1. Start small and qualitative when choosing what patterns to do 2. Limit the scope of the library to include description, relationship to other patterns, and meaningful links to other stuff 3. use a blog or a site like patternry.com where you can easily categorize, associate related patterns, and expose public vs private posts as needed.
You may find that people will grow to love it for it's simplicity and boundaries. Hard to argue and get stuck with a lightweight resource. Let people be your advocates no matter what it's built in.
Good luck!
Sent from my iPad
On Apr 17, 2011, at 1:33 AM, Darren Ellis wrote:
> What tool(s) did you use to set up your UI pattern library? > > I know this question has been asked before*, but after repeated searches I'm not finding much of an answer. Seems there aren't any simple ways of doing this. > > I'm currently using a mix of documents in collaboration with custom built (aka one-off) web-based solutions, but these aren't optimal for several reasons: > > 1) Our documentation and online sources vary in structure and organization > from site to site (5+ websites). This happens when you have multiple > designers and dev teams. > 2) Documentation is inconsistently updated and shared because it typically > gets buried in folders and loses attention as different projects come up. > 3) Online sources are currently developer centric, as they only contain code > snippets (for recycling code) and live examples (awesome for verification > purposes). > 4) Online sources vary in implementation from site to site. Each one looks > and behaves differently as you navigate through them. > 5) Online sources are only updated by dev. They translate design > specifications into the working samples mentioned above. > 6) No guidelines for use are included in the online sources. It's very much > focused on repeatable code, at the moment. > >
> > What we'd like to have is an online tool, that's centralized, editable by various teams, and consumable by others outside of the company. Specifically, we'd like: > > * Centralized documentation. That's quickly accessed via a bookmark. > * Ability to switch from one site to another with the overall structure and > organization mostly remaining the same. > * A table of contents (á la a wiki) that is present while navigating > library. Thus allowing readers to jump in and out of sections and > providing visibility of overall library structure. > * Allows designers to provide pattern rationale, use guidelines, notes, etc. > * Allows designers to upload screen shots of UI or UI specifications > * Allows developers to drop in code snippets and notes > * Allows developers to include working examples of code > * Library supports multiple browsers (this could be helpful for QA purposes) > * Part of the application and accessible to outsiders with right access or > knowledge of location > * Something that can be set up with minimal resources. > > Are wiki's really the only option? Any ideas would be very much appreciated. > *http://www.uie.com/brainsparks/2009/01/09/tools-for-creating-pattern-libraries/ > >
> > (
Using a Drupal book for our pattern library, we achieve all of those requirements except for that "ability to switch sites" (not sure what that is) and "part of the application" bits -- we do, however, grant access to specific outsiders based on roles/permissions. Test-driving on a hosted site or using a prepackaged distribution can be the easier, softer way: http://network.acquia.com/downloads
Hth! Mary Connor
-----Original Message----- From: ixdaor@host.ixda.org [mailto:ixdaor@host.ixda.org] On Behalf Of Darren Ellis Sent: Sunday, April 17, 2011 1:30 AM To: Mary Connor Subject: [IxDA] Tools for building a pattern library
What we'd like to have is an online tool, that's centralized, editable by
various teams, and consumable by others outside of the company. Specifically,
we'd like:
I use atlassian confluence. It's powerful enough to do almost anything I could do with a custom built solution, and it's simple enough that new starts are not overwhelmed by it and discouraged from editing pages.
My opinion is that the content has to be valuable enough to your teams that they will seek it out wherever it is. Corporate culture has more to do with adoption of your documentation than the location or format of it.
On Sun, Apr 17, 2011 at 7:13 AM, Darren Ellis <anttanant@hotmail.com> wrote: