[HN Gopher] It's weird how design systems are so rote, yet so di... ___________________________________________________________________ It's weird how design systems are so rote, yet so difficult Author : qkeast Score : 123 points Date : 2023-12-13 14:17 UTC (8 hours ago) (HTM) web link (quinnkeast.com) (TXT) w3m dump (quinnkeast.com) | mkl95 wrote: | > 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. | | I would describe it as "design systems are difficult because | people are difficult". | | 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 "making it work". Including yourself. | danielvaughn wrote: | I've been following the design system space for a while, and it'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. | | Optimize for flexibility and you'll end up with something that's | way too complex. Optimize for speed and you'll regret it down the | road. Everything's a tradeoff, but the only guarantee is that at | some point, you'll feel a distinct urge to throw it all away and | start over. | qkeast wrote: | Agreed. I think part of the challenge is that design systems | are inherently owned across design and engineering (not just | the design team), but the overall understanding of what a | design system is means that few folks involved really | understand where and how to make decisions about those | tradeoffs. | danielvaughn wrote: | Yep. As for what a design system "is", one thing I've always | disagreed with is that it's referred to as a _thing_ , like | it's an artifact or output. I like to think of it as a | process, as in _designing systematically_. I also think that | the notion of systematic design comes into play even at very | small scale - it 's not something that's only relevant to | large teams. I call it vertical vs horizontal design. | | Before the digital era, designers typically worked on things | like posters, advertisements, book covers, etc - scenarios | where you have a single context and multiple graphical | elements that need to co-exist in harmony. This is vertical | design - one context with multiple elements. | | For digital applications, another dimension is introduced. | Because now you'll have multiple pages, views, etc, with some | repeating elements. So like a button that exists on both the | signup page as well as a checkout page. You may not need the | buttons to look exactly the same, but they need to co-exist | in harmony with one another just as they do in their | surrounding context. So now you have one element with | multiple contexts - what I call horizontal design. This | second dimension is what requires a shift in thinking from | designers to an approach I would call "systematic." | | Figma is the first product that takes horizontal design | seriously, with the introduction of variants and variables | and all that. But there hasn't really been a tool that bakes | it in from the beginning. | bobthepanda wrote: | There is a bit of history in this; Pantone made a whole | business out of color consistency across media for | branding, coming out of any possible print shop or factory | or whatever. And fonts have a similar history. | | Now, the brand is so much more than that. | waldothedog wrote: | You might be interested in "Integrated branding" and/or | visual identity systems, including the use of "parametric" | design, grids, and variables, going back at least 50 years. | You're 100% right that there is a tension between the | outputs/artifacts and the generator (process/logic). This | often is a challenging aspect of design education programs. | Figma's explicit structure, and certainly their community | as well as the rise of design within software, have made | this more visible and tangible. But this is an old tension | rather than a new one. | danielvaughn wrote: | Interesting, will check it out. I've done some research | on parametric design, but from what I've read, it's | mostly been applied to architecture and some aspects of | 3D modeling. Which is kind of a shame, because it's | really neat. I'm actually building a "programming | language" for designers that is essentially a parametric | design language. | chrisweekly wrote: | Agreed. I'd take it even further, framing it as more of a | 3-way venn intersection of design/ux + engineering + product. | I have lots of related experience and many more thoughts to | share, if others are interested.... | xdennis wrote: | This is similar to linguistics. People often rank languages in | terms of difficulty, but in reality complexity is just moved | around. | | For example in English words are often uninflected. Languages | like Hungarian/Turkish have a lot of prefixes/suffixes. You'd | think that means they're a lot more complicated, but in reality | their prefixes/suffixes are very predictable whereas English is | all over the place. Is it noninflected, disinflected, | deinflected, ininflected, flected? | solardev wrote: | Not being a linguist, what is a flec? | PeterisP wrote: | Having a set of related wordforms of a single word | expressing various grammatical features by (usually | systematic) modifications of the word, such as the English | 'work'->'worked', but on a much larger scale for most | languages worldwide. See | https://en.wikipedia.org/wiki/Inflection | andrewflnr wrote: | Isn't that why English is usually the near the top of | language difficulty rankings? I mean, your point is true, but | I don't know of anyone actually confused about it. | duderific wrote: | See: through, rough, cough, bough, dough, all of which are | pronounced differently. My 5-year-old daughter is learning | to read, and trying to explain all this is...challenging. | taeric wrote: | Are you truly starting with those words for a 5-year-old? | Curious why? | | Hands down, teaching phonics is far and away the fastest | route to being able to decode words. Similarly, reading | to your kids is the fastest way to get them interested in | reading. Using the motivation to learn to get going on | the phonics is more than adequate to teach reading. | | And don't expect things outside of spelling/reading to be | any more "logical." Try explaining the rules of any sport | in a way that isn't dominated by the exceptions. | taeric wrote: | Is it objectively at the top, or is that more an easy thing | people love to assume is truly difficult? I don't think we | have any evidence that kids are slower to learn in any | particular language, do we? (Oddly, we do have evidence | that moving away from a primarily phonics based teaching | method was a terrible idea, but I haven't seen much to | compare with other languages at the same ages.) | DonaldFisk wrote: | How difficult you'll find a language depends on what | languages you already know, and the teaching materials | available for it in your own language. These pages | distinguish between first languages: | | https://blog.rosettastone.com/what-is-the-hardest- | language-t... | | https://www.reddit.com/r/languagelearning/comments/87jy70/r | a... | rohan_ wrote: | I was reading about the design decisions made when building the | shadcn library. It's actually pretty fascinating: | https://manupa.dev/blog/anatomy-of-shadcn-ui | gchamonlive wrote: | There are approaches that try to get the best of both worlds. | Interestingly, the micro-services architecture is just like | that, but it gets a bad reputation for being easy to devolve | into a distributed monolith anti-pattern. Another cool model is | maybe the propagator model. The point is maybe to find a way | that you don't have to opt either for generic or specific | implementations, but have many models of the same domain | through different lenses operating cooperatively. | theamk wrote: | Microservices are 100% in the "Optimize for flexibility and | you'll end up with something that's way too complex" | territory. | | (I am watching this right now at my workplace: team next to | us has updated the microservice in repo A, and accidentally | made incompatible change, so that integration tests in repo B | which make calls to that microservice are now falling. Is it | a solvable problem? Certainly. But back before we had | microservices, this problem just could not occur, as | client/server versions were always identical) | danielvaughn wrote: | Yeah, I've only seen microservices used in a couple of | places, but in both cases I felt they were introduced far | too early. The first time I saw them was for a 2 page note- | taking web app, and it had something like 65 microservices. | pcurve wrote: | Adoption is a big issue with design systems. More complex it | is, the less adoption you're going to see (or incorrect usage). | | It's amusing to see deeply nested and abstracted components | with fancy properties in a design system. Makes you wonder who | they're building the system for. | | If you look at mature publicly available design systems, they | have all evolved over the years towards more simplicity and | flatter structure. Google, Atlassian, etc. | detourdog wrote: | From a designer's perspective we are equally amused at watching | engineers discovery the same system lessons designers have | faced for years. | moritzwarhier wrote: | > Optimize for flexibility and you'll end up with something | that's way too complex. Optimize for speed and you'll regret it | down the road. Everything's a tradeoff, but the only guarantee | is that at some point, you'll feel a distinct urge to throw it | all away and start over. | | Very well-put, quoteworthy! | esafak wrote: | I think it's like designing an API. Create the wireframe | components you need and use them for a while before codifying | them into a design system (API). | | In other words, observe the function in order to allow form to | follow it. | no_wizard wrote: | The biggest problem I see with design systems implementations | is too much variation, which I think stems from the fact | designers have not actually thought out what the User | Experience is going to be and how the design system is suppose | to facilitate that, _for the whole product line_ | | Yes, the _whole product line_. If you want consistency in a | product, it has to start with deciding what UX modalities you | want to adopt, and sticking to that. Less is more, usually. Don | 't add a new component until you have actually exhausted the | ability to use the ones you started with, if you decide to | pivot UX you need to pivot _wholesale_ etc. | | Getting people to _stay on the rails_ as it were, is seemingly | impossible, but when you can, it works very well. | | I'm abridging a bit (its a iterative process, start with | wireframes over full flesh designs and other things) however | this does, in a nutshell, work and has a forcing function of | actually focusing on the user and product rather than design in | and of itself | gedy wrote: | 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. | | It's closely related to this quote: | | > A lack of ... alignment within teams and leadership around what | a design system is, what problems it solves, and how it will | provide value. | | I like working with UX and designers, but more often than not, | "we need a new design system" basically means "we want a cool, | new theme" | qkeast wrote: | Yep! This often happens when design systems are thought of in | narrow terms of design tooling--component libraries and such in | apps like Figma, without a connection to the implementation. | | Edit--Responding to an edit in the OP: | | >I like working with UX and designers, but more often than not, | "we need a new design system" basically means "we want a cool, | new theme" | | This isn't so much an issue with UX and designers as a | discipline, but rather points at larger issues in the | organization around process, culture, expectations, and | strategy, the perceived role of design in that organizational | context, and the specific folks you've worked with. | ethanbond wrote: | Tailwind gives you almost all of the upside of a design system | with almost none of the downside. I will not be taking questions. | qkeast wrote: | I think Tailwind is phenomenal for implementing a design system | on the engineering side, but it can't inherently solve many of | the other reasons a design system exists: capturing and | defining the patterns a specific product uses, creating | consistency across the product, accelerating the design team | and engineering team... | ethanbond wrote: | But most design systems fail to actually solve those problems | too, and consume a fuckton of time and energy in doing so | psygn89 wrote: | I think you're mixing design system with css frameworks. | danielvaughn wrote: | There's Tailwind as a technology, but then there's Tailwind | as a set of reasonable defaults. The original comment is | referring to the latter, not the former. | ethanbond wrote: | That's correct^ | eviks wrote: | reasonable defaults within a very limited scope vs a proper | design system | k__ wrote: | Tailwind allows you to build a design system, but it certainly | doesn't come with one out of the box. | | Bootstrap on the other hand does. | robertlagrant wrote: | Tailwind allows you to create a component library whose spec is | a design system. | charlie0 wrote: | This stems from a metaproblem, the average is mediocre. I'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'd still complain. This is because an | average is relative and not absolute. Things that are "easy", on | average never will be so. The trick here is to level up and try | to join a better company. | eternityforest wrote: | I think part of it is really smart coders have different | expectations. | | If you love simplicity and tend to think about how stuff works, | you'll be bothered be the fact Etcher is 80MB. | | If you're a user... you'll just say "Wow, only a 1 minute | download and I'll never have to worry about wiping my disk with | dd again!" | eddd-ddde wrote: | This is really true. Simply different people value different | things. Try to get multiple people to work together and | disagreements are inevitable. | aditgupta wrote: | Governance is always a bigger challenge than creation. | danielvaughn wrote: | It's the difference between raising your hands in the air, vs | keeping them in the air indefinitely. | datadrivenangel wrote: | "A tendancy to over-optimize for future flexibility, rather than | immediate need and impact, which eventually sabotages momentum." | | A choice between shooting yourself in the foot later or later. | qkeast wrote: | Yep. It's an inevitable choice, but I find that in the context | of design systems, we don't usually end up making that choice | intentionally, and instead default to over-optimizing up front | without consideration of other approaches. | karaterobot wrote: | > The mere existence of a design system warping the design | process and the value of design as a discipline. | | 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 "design systems" out of my | resume because I would prefer to work for a company that didn't | index on designers who rely on design systems. I've just seen | them used as bludgeons too often, i.e. "why would we implement | this design when it doesn't match our design system?" well, | because it's the right way to do it in this new case we'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'm here to do work I'm proud of, | which sometimes brings me into tension with the organization'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. | robertlagrant wrote: | It's a double-edged sword. Design systems constrain designers, | so each greenfield project isn't a delightful creative | experience for designers and a hard slog for the engineers | making another similar-but-different interface. However, this | constraint can be over-applied. | starkparker wrote: | And even you have multiple projects or products at one | company, and they don't talk to each other, and they work on | different aspects of the same problem, and each of them has | their own designer, they all invent similar tools with | different, inconsistent designs that are a nightmare to use. | Spivak wrote: | The things you list as criticism are exactly the reason places | implement design systems. You're clearly an east coast school | of thought person who takes pride in building the "right | thing." But people who implement design systems are taking the | worse is better approach on purpose. They see it as better to | be clunky and contort functionality into the existing | components and ship than spend time doing something custom. | n8cpdx wrote: | And unless the design system is really bad it shouldn't be | that clunky. Design is design, not art, each new app in a | product suite should not be a unique snowflake, but a piece | of the puzzle. | | People are acting like there are actually new never-before- | seen scenarios in CRUD web apps. I've only ever seen | situations where the designer _thought_ they needed to break | the mold, never where it was actually necessary. | enhdless wrote: | genuine question because I've never heard this phrase, and | search engines did not yield useful results: what do you mean | by "east coast school of thought"? and then is there a | corresponding "west coast school of thought"? | esafak wrote: | The two schools of thought here: | https://en.wikipedia.org/wiki/Worse_is_better | enhdless wrote: | Thank you, TIL! | | I will admit I was briefly even more confused reading | that the "west coast" model includes New Jersey (an east | coast state) and the "east coast" model includes Stanford | (a west coast university)... but whatever lol. | Waterluvian wrote: | A very realistic step of my design system is to go back and | update the design to match the assorted minor differences | discovered as ideal during implementation. | spoonjim wrote: | It all depends on how much the customers depend on uniformity | between use cases. One thing that a strong design system does | is force uniformity between products which can be a boon to | confused customers. | msum wrote: | This article aligns with a lot of my person experience. I'd add a | few of my own observations on design systems: | | 1. The team making the design system needs to be really | passionate about making a design system specifically | | 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. | | 3. Everyone's skills should overlap but each individual should | bring their own depth/area of expertise. | | 4. I've never seen a "contributing back" 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. | | 5. No matter how good the docs are, there will always be people | who don't read the docs. I'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't know how else to reasonably solve this issue). | | 6. Make it compliant with accessibility requirements (at least | bare minimum WCAG Success Criteria). I've seen that alone drive | adoption for design systems. | | I've been creating for web for 25+ years now, and I've only seen | 1 or 2 successful design systems. It's so easy to get it | completely wrong, or get off track. | SamoyedFurFluff wrote: | On a point 5, never underestimate the amount of labor someone | is willing to undergo in order not to learn something. | Educators everywhere share your struggle! | Perz1val wrote: | You should also take into consideration that reading docs | takes time. If a different designer (marketing guy) is | supposed to do a simple 30m task (draft that Merry Christmas | popup real quick), they probably won't get those extra 5 | hours to read the docs | suzzer99 wrote: | And after those 5 hours you spend another 5 hours beating | your head against the wall until you finally realize the | docs are out of date. | | Stale docs are worse than no docs. IME (at non-FAANG, non- | tech darling companies) docs *always* go stale pretty | quickly. No one wants to take on the thankless, unbudgeted | task of keeping the docs up-to-date, or browbeating all the | other devs to update the docs when they make changes. | | The only docs I push for are stuff like swagger where the | documentation is also living code. Otherwise I say just put | it in the readme, and every repo has a clear owner | responsible for keeping that readme up-to-date as | necessary. | marcos100 wrote: | I believe the future will be to feed all your docs into a LLM | for people to query. | locuscoeruleus wrote: | I think this is an expectation thing. People expect to be | able to figure it out in time x. They expect they'd have to | use y time to find the solution in the docs. And people will | most often estimate that x <<< y, having been burned by bad | documentation before. People will often be disappointed that | their search through the docs didn't get them any answers and | most people will have strong memories of "figuring it out | eventually" by throwing spaghetti at the wall long enough. | josefrichter wrote: | As someone who often held the job title of "design systems | specialist" (usually mobile) many times, one thing that always | helped was: | | 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. | | 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. | | 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. | giantg2 wrote: | I've found that Android development is actually fairly easy due | to the way the system handles the different display tags and | how standardized they are. For web it seems like there are | multiple layers of possible options - html, css, whatever | framework, then the libraries and content management systems. | I'm sure this exists to some extent in Android projects, but it | doesn't seem to be as much spaghetti. | ctenb wrote: | "Design" here means user interface design for software, rather | than design in general. | valand wrote: | As someone who delved with both system design and ui design, | yes, this name overloading is frustrating | aridiculous wrote: | One of the few un-nuanced takes I have is that every component | library/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. | | It pains me to see dev teams spending time on rebuilding solved | problems. I understand brownfield constraints, but the greenfield | situations are particularly painful. | crooked-v wrote: | It's painful sometimes to think of the sheer number of man- | hours wasted because browsers have never added a combobox or | any way to style select dropdowns. | joduplessis wrote: | Let me be the first to object to the "rote" 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. | | EDIT: Evidently, the person writing the article seems to have a | very cursory understanding of design systems & component | libraries. Maybe better left as a tweet than a full article IMO. | qkeast wrote: | I think you're missing some of the nuance in the article. Rote | here means that on the industry level, they can feel like an | established, everyday, ought-to-be-easy thing--not that they're | actually easy. | | I'm curious, though: what gives you the impression that the | person writing the article "seems to have a very cursory | understanding of design systems & component libraries?" | joduplessis wrote: | For me I think the definitions were quite "high level" & | broad? Stuff like: | | > A design system is really a high-level concept uniting | various things together around shared objectives. | | That isn't really true or accurate - design systems aren't | abstract things. They're a set of aesthetic | relationships/rules that govern appearance. | | I think maybe a small gripe was the inclusion of component | libraries - those are always lumped into the same bucket as | design systems by folk who don't really understand design | systems. Saying that though, happy to admit I may be wrong. | dkarl wrote: | > 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. | | Definitely. In a retro recently I heard, "We need a design | system!" followed shortly by, "We already have a design system!" | and "What's a design system?" Speaking as a developer, this | discussion is slightly out of my lane, but I appreciate the | article's discussion of when to start investing in a design | system and what you might get in return. | brotchie wrote: | Design systems following the philosophy "Strong Opinions, Weakly | Held" are the sweet spot. | | Having a consistent reference for stuff like "what's the standard | color gradient for a Generative AI placeholder" is hugely | valuable, BUT UXD / Engineering must have leeway to interpret the | spirit of the system and not be forced into pixel-perfect | adherence. | | Experienced this 1st hand with earlier version of Material | Design. SO MUCH WHITE SPACE! This is fine for some use-cases, but | when you're building an internal tool for technical users who | need an information-dense experience, following padding / margin | guidelines is sub optimal. | cjcenizal wrote: | My very modest claim to "fame" is having founded the Elastic UI | Framework [1]. My experience with these kinds of design systems | taught me two lessons: | | 1. You'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. | | 2. Code is the source of truth, in the form of the component | library. It's an unhelpful fiction to treat the non-code design | system (whether that'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. | | [1] https://elastic.github.io/eui | blazerunner wrote: | > Code is the source of truth, in the form of the component | library | | Amen. No point living in a Figma dreamland if what you're | shipping doesn't resemble it. | drewcoo wrote: | > 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. | | As opposed to, you know, the meaning of the word "rote." | ska wrote: | Sure it's a solecism, but they communicated what they actually | meant. | duped wrote: | I'm just a lowly systems guy, but the definition of "what is a | design system" is really confusing. | | Is it a UI library? Like if you get a team of people together to | build one, what is the actual deliverable? | cheschire wrote: | The article describes it pretty well. If it's still not | resonating, I know it might come off disingenuous but really I | would suggest pasting the description from the article into | chatgpt and asking it to describe it to a "lowly systems guy" | as you refer to yourself. | duped wrote: | If you can't explain it concisely and clearly, then do you | understand it? | cheschire wrote: | How much more concise do you need than this? | | "Design system: A complete set of standards and principles | to manage design at scale. It can include, but isn't | limited to, the visual design language, typography, colour | palettes, components, copywriting guidelines, and other | elements that create a cohesive, scalable look and feel for | the product." | eviks wrote: | The deliverable would be documents with "standards and | principles". It's not a UI library as it also includes rules | for the content itself | vpribish wrote: | same. i'm fairly conversant in lots of 'design' things and this | is remarkably opaque. The discussion is so generic, so removed | from specifics, that it looks like it's architecture | astronautics. | | "A design system is really a high-level concept uniting various | things together around shared objectives" | | so it's a concept - uniting things - around objectives. | | so it's everything and therefore nothing. | | back in the real world this is just graphic design and user- | interface guidelines and standards on how to present | information - even to the extent of actual software components | you can use to implement software. sure, cool, yay. | esafak wrote: | The design _language_ is the look, and the design _system_ is | its reusable implementation. | | https://en.wikipedia.org/wiki/Design_language | | https://en.wikipedia.org/wiki/Design_system | ShadowBanThis01 wrote: | 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. | | 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'm building the front and back end for a new application now, | and the amount of manual syncing between them hasn't changed in a | decade. | | A while ago I had to design a new API for a company's products. | After some research, I defined it with OpenAPI. I then wasted | weeks or months trying to find | | A. Tools that actually supported the current version (3.1), which | is the only one that's acceptable because of glaring gaffes in | previous specs. | | B. Code-generation tools that supported the languages we needed | | C. Code-generation tools that worked at all. | | 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't assume that you'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. | SnoozingBoa wrote: | Based on some experience (designer and developer), here's some | thoughts I currently have about them: | | - 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 | alxmng wrote: | 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's used, and used | consistently. | mattchamb wrote: | I've seen it go wrong where there is a design system, but none | of the designs that come in actually match it, so we need to | extend the standard components or create whole new ones; but | timelines are set as if it's all off the shelf stuff. | nitwit005 wrote: | > Not using or recognizing the design system as an internal | source of truth. | | My experience has been that engineers and designers try, but | can't do so. New projects tend not to be fully covered by the | design system. This is almost tautological. New things are new. | | 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. | | 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. | ipnon wrote: | 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! | | 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. | ipnon wrote: | To put it another way, a company with inconsistent design is | likely in a better position in terms of income and culture than | a company with a design system! ___________________________________________________________________ (page generated 2023-12-13 23:00 UTC)