Atomic Design
atomicdesign.bradfrost.com
atomicdesign.bradfrost.com
As does the BBC's GEL https://www.bbc.co.uk/gel/ .
Seventh Day Adventist Church: https://github.com/adventistchurch/alps
I'm sure many others, since it's an industry trend at the moment, I think because of Google's Material Design.
It's particularly useful for very large sites where it's impractical for a designer to design every single page individually- This is a way to break a site down into a system. You might quite rightly wonder how that is different from just having templates.
Atomic design includes templates, it just breaks things down to smaller pieces as well, so that a designer has an opportunity to make smaller elements like buttons, colours, widgets, forms etc consistent with each other and align to a designed grid. It reigns in some of the visual chaos and aligns extremely well to "component based" front end frameworks like react.
If there's anything that this sort of thing can hopefully achieve, is greater consistency in typographic grids and rhythm. The downside of this is it can tend to make websites look incredibly bland and samey- the other side of the coin to improving consistency.
It’s pretty simple: Design the smallest bits - headings, paragraphs, buttons etc, and combine them into progressively larger components. Use only those components, adding new ones if absolutely necessary.
At work we’re in the process of moving a 20+ year old website with many thousands of pages to a completely component-based system. We’ve gone from about 70 templates to three, massively simplified the stylesheet and increased development speed as new pages are built from ready-made and tested components rather than buildings every page from scratch.
By doing this it means that UX, design and code can be kept consistent through design, development and maintenance.
And then, my organisms are usually groups of organs, that are specific implementations or modules within the app. Anytime I build an abstraction of an organ to be used in multiple organisms, it can probably be added to my toolkit.
Also, I use CSS-Modules and avoid Redux wherever possible, because I build my applications such that state, style, and function are all local & self-contained... avoiding global variables as much as I can.
The conclusion is that the highest and lowest levels are actually the same! You build your components from the global style guide/CSS stylesheet!
(Mostly at least, there has been some leakage where we broke this pattern, but it's true for like 95% of our components)
https://twitter.com/brad_frost/status/1039491001130405889
Perhaps pick up the book to support him (it's excellent), or maybe send a stranger a positive Tweet or email or whatever.