My Design System Dreams
These are some of my dreams for a great design system.
The best design system would be the one that was already made, cost nothing additional, and fit my needs perfectly. But in the case of a company making a custom design system that meets their specific needs, here are some value targets that I think would be worth pointing toward. Of course, some are quite aspirational, even pie. in. the. sky.
- Have a real design standard. Flows from design group. Designers committed to it. Designs are made so-as to follow it.
- A design language. A ubiquitous language. Well defined. Consistently used. Increases efficiency and effectiveness of conversations between design and development.
- Product designers and developers are made more co-equal partners — in DS design and dev and in daily frontend work. Largely enabled by the transparency of a shared standard. Help each other push toward that standard.
- It's authoritative. Singular. Found in one accessible location. Up to date. True, and reliable.
- It's prepared for evolution. Fits the needs of a changing business and product. Never becomes the ball and chain that simply slows us down. Or the design police. Or the thing that always says "no" to change.
- It's delightful. Hopefully fun. Something we can be proud to work on and show to our users.
- Uses 3rd-party assistance. Doesn't suffer from "not made here" syndrome. Gains efficiency, but keeps user-facing company personality.
- Open source. Work showcase. Frontend recruiting tool
- WCAG 2.1 AA compatible
- Server-renderable
- Used as native modules. Outside of app bundles. CDN-served. Cached. Shared network resource
- Easy upgrades. Avoids breaking changes. Backwards compatibility. Slick versioning scheme.
- Long term vision. Practical first steps. Always eats down technical debt. Never overwhelmed.
- Clearly defines what is out of scope. Doesn't become the dumping ground for anything potentially reusable or actually reused. Clear product definition. Other places for other things.
- Framework agnostic. Or universally compatible. Web native.
- No duplication in design assets and code implementation. One begets the other. Always in sync