Live data from Hacker News

The CSS Zen Garden dream, finally shipped

josprague.com

71–80 of 117 posts

Re: The CSS Zen Garden dream, finally shipped

#71
post #60

Earlier quoted context omitted.

> Tailwind looks ugly, but there are no hidden abstractions or structures in the code Verily, Tailwind is the assembly language of CSS. No structure, no semantics, no abstractions, only twiddling specific bits of visual representation. To turn to it is to admit that your product lacks the structure and the design vision that allow to use some abstraction ("semantic classes"), and that all you can usually do is to pat…

This seems like a radical, unsupported conclusion to draw from a single frontend architecture decision. Maybe there's an overwhelmingly positive case to be made for high-abstraction CSS with hidden structures. Outside those few select cases, we've known the tradeoffs for 25 years, and the added complexity is rarely worth it.

A right abstraction adds simplicity.

I enjoyed working with a semantically styled frontend project as recently as 2024. It also used a React component library, which helped insulate per-component styles, while sharing the common parts.

Re: The CSS Zen Garden dream, finally shipped

#73
post #55
post #53

Earlier quoted context omitted.

Maybe they ARE lazy. Maybe they are unapologetically bullish on AI AND they did it just to spite the haters. But it’s also possible that they have other, more important stuff going on in their life? Or that they find writing legitimately difficult? I’m not excusing anything, or saying that you can’t feel dismay or even sickened. I was merely proposing another perspective, that’s all.

Mostly, I have other, more important stuff going in my life. I did write a lot of this post myself, but used AI to flesh out some of the details because otherwise between my perfectionism and tendency to overthink blog posts, I would have never gotten around to publishing this.

Did you read it or, if English isn’t your first language, have someone who writes English well read it? I’ve had a lot of useful feedback on stuff I’ve written that way.

Re: The CSS Zen Garden dream, finally shipped

#74

> There’s one honest footnote. nails on a chalkboard. when will agents stop writing like this

That's where I stopped reading.

> “Then you tried to ship real client work, and the dream fell apart.”

For me it was here. I have tried for months to get AI to write for me and have now fully embraced the fact that LLMs are not ready to do that for me. None of them. I’ve gone back to writing my own content and only using the LLM to brainstorm.

Re: The CSS Zen Garden dream, finally shipped

#76
post #60

The CSS Zen Garden worked because everyone was using a single markup file. In real life, it doesn't really work. Instead of thinking of separation of concerns as a religious principle, think about what benefits it actually yields in the case of HTML. When the markup is completely separated from its styling, this means that the CSS rules need a way to be mapped onto the DOM. This involves specific elements, organized…

> Tailwind looks ugly, but there are no hidden abstractions or structures in the code Verily, Tailwind is the assembly language of CSS. No structure, no semantics, no abstractions, only twiddling specific bits of visual representation. To turn to it is to admit that your product lacks the structure and the design vision that allow to use some abstraction ("semantic classes"), and that all you can usually do is to pat…

> no abstractions,

It has. It's called @apply. It works fine. The Tailwind author is wrong about recommending people to avoid @apply. The Tailwind community at large is mostly wrong about it too (except people that like and use @apply).

I don't know how anti-abstraction came to become popular, but if you like semantic classes you can still use Tailwind. (why use Tailwind? It has some nice defaults and a coherent design language)

https://css-tricks.com/tailwinds-apply-feature-is-better-tha...

The anti-abstraction crowd, that push for repeating the same boilerplate over and over again, honestly grinds my gears. Even assembly doesn't make writing boilerplate its ideology (it has macros, and actual subroutines)

Re: The CSS Zen Garden dream, finally shipped

#77
post #5

> There’s one honest footnote. I'm so tired of AI writing

I'm so tired of the complaining about AI writing.

I doubt most of us would like to complain about anything, but with so many people (ab)using AI for writing their blogposts, it feels that a lot of the Web has become _homogenous_ in terms of style, and it's unfortunate.

Re: The CSS Zen Garden dream, finally shipped

#78

good good but are there really websites with 2 or more variously different designs for the same content, like Zen Garden did?

Traditionally, one example is software that supports theming. Site owners who wanted to customize the look of something without getting their hands too dirty writing a whole new theme may duplicate and heavily modify the CSS from an existing one.

For applications people spend a expected to spend a lot of time in, the user may even be able to select the theme.

But, things like CSS custom properties have eaten into some of the basic use cases like palette swaps, assuming they're supported in the default theme.

Re: The CSS Zen Garden dream, finally shipped

#79

The CSS Zen Garden worked because everyone was using a single markup file. In real life, it doesn't really work. Instead of thinking of separation of concerns as a religious principle, think about what benefits it actually yields in the case of HTML. When the markup is completely separated from its styling, this means that the CSS rules need a way to be mapped onto the DOM. This involves specific elements, organized…

> The CSS Zen Garden worked because everyone was using a single markup file. In real life, it doesn't really work The dream of the CSS Zen Garden never really extended beyond itself. That wasn't the point. The point was to show people "look at all these pages that look nothing like each other: they're all the same HTML." That was the magic. Keep in mind the context: you still largely needed structural HTML to effect…

More specifically – because I think this is an aspect that has mostly been lost to time – when the CSS Zen Garden was first created, table layouts were still the norm and there was huge pushback from a surprisingly large number of developers who insisted that it was impossible to use CSS for nice-looking sites. The accusation was that CSS sites were all “boxy” and to get something nice-looking, you had to use table layouts.

It was pretty obvious even back then that they were just people who didn’t want to learn something new and they would not listen to anything pro-CSS at all. In fact, developers who insist LLMs are not useful for development remind me of them a lot.

Anyway, the CSS Zen Garden was released, and it seemed to shut everybody like that up overnight. It conclusively won the argument that CSS sites could look as good as table-based sites and could even do things the table-based sites couldn’t.

Re: The CSS Zen Garden dream, finally shipped

#80

> There’s one honest footnote. nails on a chalkboard. when will agents stop writing like this

I can't wait for AI watermark checks to be widely available to stop such guessworks and the resulting ridicule. I'm not saying you're wrong, your guess could be.
Post reply on HN