3 ms·
I may be misunderstanding, let me take a step back. In my usage of the term “framework”, I mean the UI technology used to implement the product UI. So if a des
by danielvaughn 3y ago
I may be misunderstanding, let me take a step back.
In my usage of the term “framework”, I mean the UI technology used to implement the product UI. So if a design system is “built in React”, it means that any usage of the DS must also be in React.
If that definition holds true, then making consistent UI across a company basically requires that the DS be not only framework-agnostic but platform-agnostic as well.
My favorite example for this problem is Netflix. You could restore a BlackBerry from 2005 that you found at a pawn shop and it would probably have a Netflix app on it. They might be the most ubiquitous technology on the planet. This means their UX has to be consistent between iOS, Android, TV, Web, PlayStation, Xbox, etc.
Even on the web, you have the experience itself, as well as several backend/b2b and internal UIs.
At that scale, the question of “react vs vue vs htmx” is waaaay out of scope, no?
- bastawhiz 3y ago> This means their UX has to be consistent between iOS, Android, TV, Web, PlayStation, Xbox, etc. Nobody expects all of these platforms implemented to be a single codebase (though you perhaps could). The intention of a design system is for all of the UIs to be consistent, not all of the underlying code. Zero people expect a button component for the PS5 to work on the Web. And of course they wouldn't! One is clicked and tapped and one is interacted with a controller. Stripe is a great example of this. Their design system, SAIL, runs on every web surface (internal and external) at the company. And ignoring versioning, it's essentially one design system codebase. But that doesn't mean they aren't principled about using React. Their latest major version was originally going to be multi-framework but that plan was scrapped because it meant sacrificing composability. There's exactly one way to build UIs for the web.
- bobthepanda 3y agoI’ve seen design systems that preserve flexibility primarily by restricting to html, css classes and js, so that the only thing that really matters is that the developer’s chosen framework outputs said stuff.
- danielvaughn 3y agoYeah this is the solution I'm imagining in my head. IMO the true separation between design and dev is that designers are responsible for pixels-on-screen. They manage visual behavior, whereas developers manage functional behavior.
- rrdharan 3y ago> You could restore a BlackBerry from 2005 that you found at a pawn shop and it would probably have a Netflix app on it. No, you could not. There were never any versions of Netflix that ran directly on any BlackBerry OS, unless you count the Android ports that some folks managed to port and get running on BlackBerry 10 devices as the platform was dying around 2014 or so…
- danielvaughn 3y agoIt’ll never stop being funny how techies are so literal that they can’t recognize sarcasm and humor. My friend, it was a joke.
- rrdharan 3y agoit’ll never stop being funny how people think their jokes still work when there are such glaring inaccuracies it detracts from the force and crux of the construction. It wasn’t just a joke, you were trying to make a point about how it’s possible to have a design / UI that’s so ubiquitous it can run anywhere, which I disagree with, and your point isn’t helped by a false and exaggerated example.
- danielvaughn 3y agoThe inaccuracy was the joke, did you really not get that? And again with the literalism - you think I meant "run anywhere"? I said "consistent UI", as in the branding and UX, not literally the same code. That does need to be consistent, and it's a well-known problem when supporting lots of different platforms, as Netflix themselves point out: https://netflixtechblog.com/hawkins-diving-into-the-reasoning-behind-our-design-system-964a7357547#:~:text=Have%20you%20ever,of%20these%20headaches https://netflixtechblog.com/hawkins-diving-into-the-reasonin....
- rrdharan 3y agoNow you're the one being literal. Feel free to substitute "work anywhere" for "run anywhere" in my previous comment since we're referring to a bunch of design and branding and not literal code. I understand it's a problem, I think it's quite hard, I appreciate that Netflix does a reasonable job, I still don't think your joke works the way you think it does. Let me break it down further and attempt to fix it so I can perhaps disabuse you of the notion that I'm so far out on the spectrum I'm incapable of communicating effectively or understanding humor (way to slander "techies" by the way, your "design thinking" superiority complex is showing). You said: "My favorite example for this problem is Netflix. You could restore a BlackBerry from 2005 that you found at a pawn shop and it would probably have a Netflix app on it." A version that actually works as a "joke" - aside, I hate the use of that word here, since it's an insult to the craft (1): "Netflix has to work anywhere - their design is so consistent, flexible and ubiquitous it would have worked on on a BlackBerry from 2005... in screen reader mode." (1) https://craftsmanship.net/the-art-of-the-joke/ https://craftsmanship.net/the-art-of-the-joke/