Adactio: Journal—Composability in design systems
May 14, 2024
Rather than having a few powerful web components, I like having lots of simple web components. The power comes with how they’re combined. Like Unix pipes.
I feel the same way about design systems. In my experience, the design systems that encourage mixing and matching different combinations are the ones that actually get used.
Small pieces loosely joined is the title of a book from 2002 (it still has its own website! Ahh glorious early 2000’s design)
It’s a pre-silo philosophy, one that in part emanates from a Unix mindset, that Jeremy alludes to here–actually a documented thing–
- Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features”.
- Expect the output of every program to become the input to another, as yet unknown, program. Don’t clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don’t insist on interactive input.
Jeremy applies this thinking to design systems and component systems in this piece.