[–] 3 points 9 months ago

Just sounds like somebody who isn't good at their job. "Not committing to answers" isn't the role, the opposite is true.

And why is this article so antagonistic? The takeaway is…what, exactly? It's obvious to anyone who's been paying attention for the last few years that most companies working in tech desperately need UX—good, caring, talented people working in UX who are given real decision-making power. Otherwise the people making decisions are user-hostile FOMO VPs and C-suite types, and they're making a damn mess everywhere.

The answer to bad UX designers isn't no UX designers, it's better UX designers. And give them some damn power already!

  • source
  • [–] 1 point 9 months ago (2 children)

    Fta * ...Look, I get it. You've got a lot going on. You're not big on CSS...*

    If you can't be bothered learning one of the cornerstones of rendering web pages

  • source
  • [–] 5 points 9 months ago*

    I'm a massive fan of KISS (the principle, not the band) and this hurts my soul. Holy crap that entire methodology of that framework is so insanely over-cooked it makes me want to rip my hair out... wtf!

    This kind of stuff is exactly why the internet is getting worse and more bloated even when you remove ads and AI slop. Absolute embarassment of a methodology.

  • source
  • [–] 4 points 9 months ago

    The problem is obvious however, most people just want a quick and easy component library and don't care about stuff like that. I often fall into that group too, because making new components from scratch is boring and annoying and then often end up looking worse with fewer features anyway than if you just copy pasted the messy shadcn amalgamation

  • source
  • [–] 14 points 9 months ago (1 child)

    This is a crazy mess.

    The subject of "worse reimplementations of native features" reminds me of trying to find an event for the (2012?) Olympics. They didn't seem to have a search, but they did have an infinite scrolling schedule page so I held down End until the page had everything and used the native search. No results, even when I tried something that I knew was at the top of the page.

    I noticed the scrollbar was acting weird and looked into it. Turns out that they were removing the parts of the page outside of the viewport and loading them back in when you scrolled.

    I suspect it's because they were finding their bloated page was slow on some devices so put in this terrible hack, but it broke basic browser features.

  • source
  • [–] 2 points 9 months ago

    I don't do web development, but I dabbled a little with Tailwind CSS a while back and found it to be a really nice way to work. AFAIK, you can't do that in standard CSS without dedicating the time to design and write your own library of classes.

  • source
  • parent
  • context
  • [–] 1 point 9 months ago

    Pretty much yeah, with shortcuts for frequent sizes, colors etc (which you can theme). I guess it's mostly interesting if you use react, as you can have everything inside components and switch classes in your code. I wouldn't say it makes things categorically better but it does lighten the cognitive load somewhat and the auto complete is fire.

  • source
  • parent
  • context
  • [–] 1 point 9 months ago*

    You can do all that with a CSS variable though...

    and then people have to learn what it all means, where those variables are, how your mess of custom CSS hangs together, and probably what overrides what in your hierarchy

    you end up with this soup of classes on every single element

    it’s either than or a soup of stuff in CSS. the difference is largely academic in modern HTML because it’s all contained in components anyway

    they have to be as short as possible, and so they can't use font-size and font-weight.

    they don’t have to be; they could easily use font size and font weight, but i much much prefer the -lg notation… it makes your flow so much quicker. it reduces cognitive load significantly

    I still suspect you're better off just using the effort you would need to learn the tailwind classes to instead learn plain flexbox.

    i know flexbox and grid plenty well, and similar applies across the board for things like tailwind: containing everything together so that you don’t have to mess around switching between different places to define things, and using classes that kinda just represent what you want in shorthand literally makes my frontend development literally 10x quicker, and just feel smoother… even when i’m just doing personal projects

    you don’t have to believe me; that’s fine… but i used to think similarly to you, had a couple of failed attempts and hated tailwind, and my most recent personal projects it just clicked and everything feels so nice. i’m a principal engineer, and have done plenty of work on all kinds of projects so it’s not like i’m inexperienced and just go with the latest fad. these small time savings really add up

  • source
  • parent
  • context
  • [–] 1 point 9 months ago (1 child)

    per project you can decide what those sizes are and everything just falls into place… you rarely really care what the size is in pixels; mostly you only care about sizes relative to other parts of the UI… so again, people joining on a project don’t need to memorise magic numbers, because they just know without needing to guess what the size suffixes are

    You can do all that with a CSS variable though...

    I think the text- and font- prefixes are emblematic though; because you end up with this soup of classes on every single element, they have to be as short as possible, and so they can't use font-size and font-weight.

    I can imagine it working nicely for flexbox, because that is complicated, but I still suspect you're better off just using the effort you would need to learn the tailwind classes to instead learn plain flexbox.

  • source
  • parent
  • context
  • [–] 1 point 9 months ago (2 children)

    A CSS framework allows you to not write any CSS! You just add utility classes to your html. I personally use tailwind and I guess there's some advanced stuff where you'd have to still write CSS yourself but for most use cases it's a lot easier. Flex layouts, notably, are a breeze.

  • source
  • parent
  • context
  • [–] 1 point 9 months ago* (last edited 9 months ago) (2 children)

    i’m not a frontend engineer so don’t know the difference between text- and font- without looking but that’s another good example of why frameworks are great: 6px is an explicit size, where md, 2xl, etc are all relative… per project you can decide what those sizes are and everything just falls into place… you rarely really care what the size is in pixels; mostly you only care about sizes relative to other parts of the UI… so again, people joining on a project don’t need to memorise magic numbers, because they just know without needing to guess what the size suffixes are

    i’ve only recently started to use tailwind (originally i saw no point, pretty much for the reasons you’re stating: why use classes like that when you can just use styles on the element and we know that’s bad) but since i embraced it i’ve started writing quality components much much faster… especially for layout like flexbox and grid it just flows really nicely, and i really don’t find that it feels like i’m repeating myself at all (partly because “repeating yourself” should be avoided by simply using components these days: CSS is an over-complicated and ill-fitting solution to the problem of styling in modern UIs)

    (okay i looked up text- and font-: text is size, font is weight… which tracks with my understanding of the other parts of tailwind and the way type is handled in software generally… i think there are no good options here)

  • source
  • parent
  • context
  • [–] 1 point 9 months ago (3 children)

    rounded-corners saves you time over writing border-radius: 6px? And what about rounded-md, what does that do (in tailwind)? What about text-2xl versus font-medium? And what happens when you want to have a couple of styles in common between different elements so you actually need to use classes as they were intended, so you have to know CSS and this weird version where you write all your CSS in the class attribute.

    Thanks for taking the time to write down your perspective; I still just don't get it though.

  • source
  • parent
  • context
  • [–] 2 points 9 months ago
    • Bootstrap 2-5 sucked, but it was great for throwaway internal tools that will never become public.
    • Foundation died to bootstrap.
    • Pure was made by yahoo and went unmaintained so some other people wanted something like pure but they wanted to monetize it, then Pure got remaintained by it's community
    • Tailwind isn't great, it sold devs on a lie by limiting choices to limit mistakes, but limiting choices also restricted the features that devs needed to do their projects properly. They tried to figure out a way to add those features but suffered from gradual scope creep while trying to maintain it's original lie and has ended up more complicated than it needed to be while being less featureful than what devs needed. What they should have done instead of making everything a utility class, was keep the build system (lightning css), add a token system (e.g. open props, or their own version of it), allow people to add their own css instead of trying to shoehorn it into a class, then went out of their way to teach people how to make things as classless as possible.
  • source
  • parent
  • context
  • [–] 3 points 9 months ago* (4 children)

    the same could be said for languages that aren’t binary: what does it save you! you still have to write stuff to get the program you want, and you still have to come up with the business rules

    almost all software engineering tools just save you keystrokes, or save you from needing the knowledge to implement repeatable things… or for having a standardised way of doing things so new people can approach your project without having to learn as many details (eg rails, django, nextjs, etc: the terminology and layout of such projects are familiar; daos/views/etc all behave the same)

    for css frameworks for example, perhaps you have a .rounded-corners class… sure you could just implement it yourself, but if you’re using a framework you save a few minutes, the outcome is likely the same, you don’t need to know about the border radius details (and likely css frameworks implement things like shims or accessibility correctly; freeing you from needing to have deep knowledge of some esoteric details), and if the framework is big (like tailwind etc) then if you employ someone new, they know exactly what .rounded-corners means

    … obviously .rounded-corners is a pretty simple example, but you can imagine when these libraries fill out with many many tools the shorthand’s get much more complex

  • source
  • parent
  • context
  • [–] 1 point 9 months ago (1 child)

    Serious question - and this is coming from someone who’s used a handful from Bulma to Bootstrap to Foundation… all the way back to 960.gs - with today’s robust state of CSS, what is the advantage to a traditional framework in 2026? What’s the use case?

  • source
  • [–] 1 point 9 months ago

    Well, THAT wasn't on my bingo card. More power to 'em, I guess.

    I never really understood the appeal of jQuery, it doesn't do anything that you can't do natively, and it's not like it does any of the things it DOES do significantly better than native. Just not worth the cost of adding a dependency, for me.

  • source
  • [–] 2 points 9 months ago (1 child)

    Pure has been around for a while. I've gone...

    • Bootstrap 3 (sucked)
    • Inuit (wound up being untenable)
    • Foundation (died)
    • Bootstrap 4 (sucked)
    • Bulma
    • Tailwind*

    *Specific project hierarchy and postprocessing required. Unbeatable with a good pipeline, unusable without one.

  • source
  • parent
  • context
  • view more: ‹ prev next ›