Style Guide, Pattern Library, Design System, oh my!

How do you define a Pattern Library? A Style Guide? A Design System? Are they the same thing or aspects of one another? I’ve been working hard to come up with what those terms mean. Part of that is seeing how are others defining them. I’ve seen quite a few posts come into my stream doing exactly that; defining how they use these terms.

In addition, I’ve been listening to talks from conferences, reading anything and everything I could find, and generally going in circles trying to come up with definitions that would work for everyone.

I’ve come to the conclusion that it’s not possible to have a definition that everyone would agree on for these terms. And to push it even further, I think the only definition that matters for any of them is the one you and your team make for your use.

If y’all understand what you mean when you use these terms, that’s really all that matters.

Of course, we need to know what the speaker or author, in talks and articles, means when they use the term, therefore it’s helpful to include a definition so that as we listen and read, we are on the same page. However, that doesn’t mean that if the definition used in the talk or article differs from how you or your team uses it, that you should change. Or that the speaker or author is necessarily wrong.

I feel the same way about class naming, module naming, etc. What matters is that your team understands your conventions. Too often we see a cool new idea or framework, it gets talked about a lot, and then we try and shoehorn that idea into our process. This is bound to fail.

What serves one team may not serve another well. There is no way to avoid the hard work of naming things for yourself and creating a system, guide, or library that works for you.

I can’t say it much better than Ethan did on the Responsive Design Podcast:

So working with people to kind of break apart an interface in design review, cut it up with scissors and actually come up with a taxonomy for how these patterns need to be named in a way that’s going to make them meaningful to the people that are actually working with them. Yeah, that’s something that’s really exciting to me.