2 ms·
A design system is one of those problems that seems really simple to both conceptualise and implement, but in practice is really hard. I've attempted it so man
by davnicwil 7y ago
A design system is one of those problems that seems really simple to both conceptualise and implement, but in practice is really hard.
I've attempted it so many times, and whilst I learn things and get a bit better with each attempt, I've never succeeded, or have only succeeded for a short time before things get back to being messy again.
The problem is the edge cases. It's just like writing an API, covering it with tests and being sure it's done, then someone coming to you with a new feature idea and you have to tack something on awkwardly or add a special case to make it work, just this once.
Fast forward a year of this and your shiny new API is now the legacy mess everyone wants to refactor. Exact same thing happens with design systems and component libraries. You can't design for the UI usecases that haven't occurred to you yet, and when they come up, your shiny design system likely won't flex to accommodate that.. so you just tack on that one thing :-)