top | item 42452934

(no title)

kaelig | 1 year ago

Joke aside, there are truly valid reasons why you'd want to change a single color across dozens of codebases, for what can amount to tens of thousands of occurrences. For example: adjusting link color contrast for accessibility compliance.

Salesforce (where the term "design tokens" was coined) is akin to an operating system for the web, with its own app ecosystem. Developers building Salesforce apps can blend into the Salesforce ecosystem thanks to their design system and design tokens.

And I recommend reading https://m3.material.io/foundations/design-tokens/overview to see how Google allows Android app developers to build incredibly expressive and user-personalizable UIs using design tokens.

discuss

order

BoorishBears|1 year ago

Why is Material UI still so comically awful?

M3 is an upgrade but even the "header carousel" component there had me straight up pause and study all the ways it's terrible

From the ripple effect that overflows depending on how wide the text underneath is.

The "back button" which is actually for going from one section to the next

And the way it behaves as I click from section to section using those buttons is "top tier jank" for the lack of a better term

The way it also randomly seems to align or not align the currently selected heading resulting in weird clipping of text that just looks confusing and broken.

The shadow indicating the elevation chance as it goes sticky also looks and feels straight out of Windows 95

Why can't Google just make an aesthetically pleasing UI? It almost feels like Apple and the "modern SaaS template ala WorkOS" guys stole the only two good looking directions for modern UI aesthetics and now Google is stuck pushing along their hideous (but identifiable!) aesthetic along side them.

yakshaving_jgt|1 year ago

Fortunately, computers are already really good at finding and replacing strings.

kaelig|1 year ago

You can try automating search/replace on hex/hsl/rgb values across all your codebases, but targeting "primary button backgrounds on hover" is only possible with some more advanced tooling in place.

And there's an important runtime aspect when it comes to theming, so it's not just about finding/replacing hardcoded values.

eviks|1 year ago

But what you need to replace is semantic strings, which "computers" are really bad at finding, and programmers, thinking it's easy, are really bad at adding