TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

It's weird how design systems are so rote, yet so difficult

140 pointsby qkeastover 1 year ago

26 comments

danielvaughnover 1 year ago
I&#x27;ve been following the design system space for a while, and it&#x27;s mildly entertaining to watch from the perspective of an engineer. Because you see designers fall into the exact same traps and encounter the exact same issues that engineers have long faced.<p>Optimize for flexibility and you&#x27;ll end up with something that&#x27;s way too complex. Optimize for speed and you&#x27;ll regret it down the road. Everything&#x27;s a tradeoff, but the only guarantee is that at some point, you&#x27;ll feel a distinct urge to throw it all away and start over.
评论 #38629284 未加载
评论 #38634567 未加载
评论 #38628495 未加载
评论 #38633837 未加载
评论 #38633844 未加载
评论 #38634437 未加载
评论 #38630195 未加载
评论 #38635282 未加载
评论 #38632239 未加载
karaterobotover 1 year ago
&gt; The mere existence of a design system warping the design process and the value of design as a discipline.<p>Despite having a lot of experience making them and using them, and despite them being a keyword a lot of companies ask for in job postings, I took any mention of &quot;design systems&quot; out of my resume because I would prefer to work for a company that didn&#x27;t index on designers who rely on design systems. I&#x27;ve just seen them used as bludgeons too often, i.e. &quot;why would we implement this design when it doesn&#x27;t match our design system?&quot; well, because it&#x27;s the right way to do it in this new case we&#x27;ve never seen before. I think design systems and component libraries become a way to reuse existing work instead of rethink and rework, which is convenient but often antithetical to doing the right thing in a changing environment. I understand that product teams have to move quickly. I&#x27;m here to do work I&#x27;m proud of, which sometimes brings me into tension with the organization&#x27;s desire to save time and labor, which is to say money. Design systems—not the theoretical idea of them, but the way they are applied in the real world—are becoming a symbol of that for me.
评论 #38628914 未加载
评论 #38630220 未加载
评论 #38630495 未加载
评论 #38629399 未加载
msumover 1 year ago
This article aligns with a lot of my person experience. I&#x27;d add a few of my own observations on design systems:<p>1. The team making the design system needs to be really passionate about making a design system specifically<p>2. Everyone on the design system (DS) team needs to be pretty far in their careers, and have a few failed or quasi-successful attempts in their past experience.<p>3. Everyone&#x27;s skills should overlap but each individual should bring their own depth&#x2F;area of expertise.<p>4. I&#x27;ve never seen a &quot;contributing back&quot; model work, really. There can be some collaboration, or specific asks, but when you have a really cohesive DS team, they took the time to become that cohesive and it shows.<p>5. No matter how good the docs are, there will always be people who don&#x27;t read the docs. I&#x27;m tempted to go as far as to say that I think there should be an onboarding course on how to use the design system that teams have to take before they can use it. (I legit don&#x27;t know how else to reasonably solve this issue).<p>6. Make it compliant with accessibility requirements (at least bare minimum WCAG Success Criteria). I&#x27;ve seen that alone drive adoption for design systems.<p>I&#x27;ve been creating for web for 25+ years now, and I&#x27;ve only seen 1 or 2 successful design systems. It&#x27;s so easy to get it completely wrong, or get off track.
评论 #38629121 未加载
aridiculousover 1 year ago
One of the few un-nuanced takes I have is that every component library&#x2F;DS should be built on top of Radix or React-Aria or some other thorough but extensible library. If you’re implementing your own tooltips and menus, you’ve lost the plot. We need to stop reimplementing bad versions of commoditized bits of UI that overlook accessibility, appropriately generic prop APIs, boundary detection, composability, documentation, testing, etc.<p>It pains me to see dev teams spending time on rebuilding solved problems. I understand brownfield constraints, but the greenfield situations are particularly painful.
评论 #38630494 未加载
mkl95over 1 year ago
&gt; A lack of actual (not assumed) alignment within teams and leadership around what a design system is, what problems it solves, and how it will provide value.<p>I would describe it as &quot;design systems are difficult because people are difficult&quot;.<p>Working with the average SaaS component can lead you into a muddy spaghetti rabbit hole where you can tell every dev who has worked with it was not following any particular way of doing things other than &quot;making it work&quot;. Including yourself.
itdepends_ycover 1 year ago
Observations made about design systems in my career<p>- You need seasoned designers to make it work. Design systems are akin to the technical architecture but for UI. Putting a junior on is like asking jr engineer to make decisions on your system architecture. Please don&#x27;t do this, especially in a large company, it will fail.<p>- It will never be done - kinda why we have jobs in the first place right?<p>- Not everything needs to be in a design system. Only the things that repeat consistently. Obvious things are colours, buttons etc but also patterns that are key to your experience. This is dependent on what your company needs.<p>- It is a cultural &amp; process change not just a tooling adoption. It changes how people work and how they think about building UI.<p>- Adopting a pre-built design system won&#x27;t solve your in-ability to make good design decisions or guarantee you use it correctly. Often people who use pre-built systems end up outgrowing or discovering they need to customise the system or implement it without designer input which leads to another set of problems. Out-of-the-box design systems don&#x27;t tell you how to solve your product experience problems. Designers are still very much needed. You need the right people to wield the tool.
gedyover 1 year ago
I have some experience in the space as a developer, and it’s challenging mainly because design systems and component libraries are an abstraction, and frankly, most people aren’t great at generalizing. Designers especially are rarely ever taught how to think reusable patterns and components, but they are frequently the ones “put in charge of“ this type of work.<p>It&#x27;s closely related to this quote:<p>&gt; A lack of ... alignment within teams and leadership around what a design system is, what problems it solves, and how it will provide value.<p>I like working with UX and designers, but more often than not, &quot;we need a new design system&quot; basically means &quot;we want a cool, new theme&quot;
评论 #38628554 未加载
dkarlover 1 year ago
&gt; A lack of actual (not assumed) alignment within teams and leadership around what a design system is, what problems it solves, and how it will provide value.<p>Definitely. In a retro recently I heard, &quot;We need a design system!&quot; followed shortly by, &quot;We already have a design system!&quot; and &quot;What&#x27;s a design system?&quot; Speaking as a developer, this discussion is slightly out of my lane, but I appreciate the article&#x27;s discussion of when to start investing in a design system and what you might get in return.
cjcenizalover 1 year ago
My very modest claim to &quot;fame&quot; is having founded the Elastic UI Framework [1]. My experience with these kinds of design systems taught me two lessons:<p>1. You&#x27;ll iterate towards the most useful version of your design system in the least amount of time if maintainers spend time consuming it, and vice versa.<p>2. Code is the source of truth, in the form of the component library. It&#x27;s an unhelpful fiction to treat the non-code design system (whether that&#x27;s in Figma, Sketch, or wherever) as the source of truth. This is because people build out new parts of the UI by copying, pasting, and modifying the code of the existing UI. If you want to make a change to the design system, it has to go into the code to make a difference.<p>[1] <a href="https:&#x2F;&#x2F;elastic.github.io&#x2F;eui" rel="nofollow noreferrer">https:&#x2F;&#x2F;elastic.github.io&#x2F;eui</a>
评论 #38634837 未加载
charlie0over 1 year ago
This stems from a metaproblem, the average is mediocre. I&#x27;ve noticed better tools that have supposedly allowed us to simplify things have just made us to build more complex things. This all stems from a lack of talent. The problem is if everyone got 50% more talented over night, new things would get made, and a new average established and we&#x27;d still complain. This is because an average is relative and not absolute. Things that are &quot;easy&quot;, on average never will be so. The trick here is to level up and try to join a better company.
评论 #38628885 未加载
ShadowBanThis01over 1 year ago
I find it depressing how design systems, which come and go pretty quickly it seems, suffer from profoundly shitty design. Figma is certainly no exception.<p>Also disappointing is the state of design-system support for programming. I know not everyone wants or believes in code generation, but I find it incredible that this also still sucks. I&#x27;m building the front and back end for a new application now, and the amount of manual syncing between them hasn&#x27;t changed in a decade.<p>A while ago I had to design a new API for a company&#x27;s products. After some research, I defined it with OpenAPI. I then wasted weeks or months trying to find<p>A. Tools that actually supported the current version (3.1), which is the only one that&#x27;s acceptable because of glaring gaffes in previous specs.<p>B. Code-generation tools that supported the languages we needed<p>C. Code-generation tools that worked at all.<p>It is an absolute shitshow. None of those things is available or works. The moral is that common problems faced by lots (if not most) of us programmers or system designers are still not solved. Don&#x27;t assume that you&#x27;re the problem. I made that assumption, but in the end no... the tools and ecosystem were simply shambolic and I would just have to write my own or just strap it on and do the tedious manual work.
评论 #38638118 未加载
alxmngover 1 year ago
The challenge in my experience is getting buy-in to use the system for everything, consistently. None of the benefits of a design system and UI library matter unless it&#x27;s used, and used consistently.
评论 #38633706 未加载
josefrichterover 1 year ago
As someone who often held the job title of &quot;design systems specialist&quot; (usually mobile) many times, one thing that always helped was:<p>This is what standard iOS vs. Android elements look like out of the box, this is how navigations works out of the box, this is how some ux patterns (like various pickers) work out of the box. Now this is easy to change, this is more difficult to change, and this is something you should never change.<p>There you go, we have a good spine for a design system (and not just a component library), and we have a good starting point to fix the relationship between designers and developers, which is broken way too often, and hinders progress way too much.<p>It does require serious time spent in XCode and Android Studio actually writing at least hobby projects, but that knowledge pays off tremendously in building trust between teams.
评论 #38629727 未加载
brotchieover 1 year ago
Design systems following the philosophy &quot;Strong Opinions, Weakly Held&quot; are the sweet spot.<p>Having a consistent reference for stuff like &quot;what&#x27;s the standard color gradient for a Generative AI placeholder&quot; is hugely valuable, BUT UXD &#x2F; Engineering must have leeway to interpret the spirit of the system and not be forced into pixel-perfect adherence.<p>Experienced this 1st hand with earlier version of Material Design. SO MUCH WHITE SPACE! This is fine for some use-cases, but when you&#x27;re building an internal tool for technical users who need an information-dense experience, following padding &#x2F; margin guidelines is sub optimal.
llamaimperativeover 1 year ago
Tailwind gives you almost all of the upside of a design system with almost none of the downside. I will not be taking questions.
评论 #38628733 未加载
评论 #38628804 未加载
评论 #38628932 未加载
评论 #38628793 未加载
评论 #38628822 未加载
评论 #38637263 未加载
datadrivenangelover 1 year ago
&quot;A tendancy to over-optimize for future flexibility, rather than immediate need and impact, which eventually sabotages momentum.&quot;<p>A choice between shooting yourself in the foot later or later.
评论 #38628792 未加载
ctenbover 1 year ago
&quot;Design&quot; here means user interface design for software, rather than design in general.
评论 #38633295 未加载
aditguptaover 1 year ago
Governance is always a bigger challenge than creation.
评论 #38628997 未加载
SnoozingBoaover 1 year ago
Based on some experience (designer and developer), here’s some thoughts I currently have about them:<p>- high-level idea is usually understood, although mixed with design tooling - practical usage rarely straightforward - most of the activities are surface level and trivial - required effort to maintain and develop often underestimated - maturity level rarely reaches the potential - ”component” is not an easy concept, especially in multi-product setting - too often design driven, when implementation driven would make more sense - generates meetings on many meta-dimensions - not necessarily rewarding exercise for the maintainer due to various organisational and political challenges - does not actually help on design-to-development e2e flow as much as advertised - even with all the work put in, does not guarantee good product
nitwit005over 1 year ago
&gt; Not using or recognizing the design system as an internal source of truth.<p>My experience has been that engineers and designers try, but can&#x27;t do so. New projects tend not to be fully covered by the design system. This is almost tautological. New things are new.<p>Yes, maybe they thought about what they want calendars to look like, but only for the case of picking a date, not displaying a weekly schedule.<p>At one company this meant they kept gluing new things onto the design system, and at another company it meant we met with them every release and got told not to worry about it.
Ogdilaover 1 year ago
Adopting design systems isn&#x27;t inherently difficult, but in most cases integrating them into legacy products is challenging. Outdated technologies and inflexible structures in these products significantly hinder alignment with modern design systems. It needs a massive amount of navigating technical constraints and legacy constrains, which adds a lot of complexity and resource demands to the process.
joduplessisover 1 year ago
Let me be the first to object to the &quot;rote&quot; classification. Design systems are hard in a way that good design is hard. For the folks in the comments (and in the article) comparing UI libs to design systems, they are completely different.<p>EDIT: Evidently, the person writing the article seems to have a very cursory understanding of design systems &amp; component libraries. Maybe better left as a tweet than a full article IMO.
评论 #38630131 未加载
justinkrampover 1 year ago
My favorite part about design systems is when they are created in a vacuum devoid of either content strategy or technology&#x2F;engineering so they look dope af but solve nothing for activation or delivery teams.
dupedover 1 year ago
I&#x27;m just a lowly systems guy, but the definition of &quot;what is a design system&quot; is really confusing.<p>Is it a UI library? Like if you get a team of people together to build one, what is the actual deliverable?
评论 #38634980 未加载
评论 #38634663 未加载
评论 #38633660 未加载
评论 #38632315 未加载
ipnonover 1 year ago
Design systems seem to be due to oversupply of designers and frontend engineers in the tech industry. You get enough of them together in a company and there’s not enough for them to work on. So a design system is hatched so that they can work on things that never get used!<p>I jest somewhat but I do feel a design system is an “org smell” for all but the largest engineering organizations. My estimate is that you don’t need that unless you have 4 digit engineer count. Smaller companies with design systems usually are putting the cart before the pony, so to speak.
评论 #38636325 未加载
评论 #38633939 未加载
drewcooover 1 year ago
&gt; When I say rote, I’m thinking about how parts of the underlying toolkit have become really easy, how pretty much any designer can work on one, and how the general idea of a design system has become understood such that it’s a reasonable expectation that a team will have one.<p>As opposed to, you know, the meaning of the word &quot;rote.&quot;
评论 #38632069 未加载