Earlier quoted context omitted.
People like tailwind because it feels like the correct abstraction. It helps you colocate layout and styling, thereby reducing cognitive load. With CSS you have to add meaningless class names to your html (+remember them), learn complicated (+fragile) selectors, and memorise low level CSS styles. With tailwind you just specify the styling you want. And if using React, the “cascading” piece is already taken care of.
The point of CSS is specifically to separate styling and semantics, so that they are not tightly coupled. If you were writing a blog post you would want to be able to change the theme without going through every blog post you ever wrote, no? If I'm writing a React component I don't want it tightly coupled to its cosmetic appearance for the same reason. Styling is imposed on elements, intrinsic styles are bad and work…
AI is a business model stress test
251–260 of 361 posts
Re: AI is a business model stress test
#252Earlier quoted context omitted.
The point of CSS is specifically to separate styling and semantics, so that they are not tightly coupled. If you were writing a blog post you would want to be able to change the theme without going through every blog post you ever wrote, no? If I'm writing a React component I don't want it tightly coupled to its cosmetic appearance for the same reason. Styling is imposed on elements, intrinsic styles are bad and work…
Content should come from your database, Markdown, JSON, models etc. Presentation is determined by the HTML and CSS together. So your content and presentation is already separate enough to get the benefits. Breaking up the presentation layer further with premature abstractions spread over multiple files comes at a cost for little payback. I'm sure everyone has worked on sites where you're scared to make CSS file edits…
CSS gives you multiple tools to solve this problem, if you don't use any of them then it's not really CSS's fault.
> Styling code near your semantic HTML tags doesn't get in the way
It does. When I'm working on functionality I don't want to see styles and vice versa. It adds a layer of noise that is not relevant.
If I'm making e.g. a search dropdown, I don't need to see any information about its cosmetic appearance. I do want to see information about how it functions.
Especially the other way around: if I'm styling the search dropdown I don't want to have to track down every JSX element in every sub-component. That's super tedious. All I need to know when I'm styling is the overall structure of the final element tree not of the vdom tree which could be considerably more complex.
> I've never seen a complex website redesign that didn't involve almost gutting the HTML either
Perhaps for a landing page. For a content-based website or web app you often want to adjust the design without touching your components.
Re: AI is a business model stress test
#253Earlier quoted context omitted.
Tailwind is open source. Anyone can contribute to it, including an LLM. If the founder of Tailwind quits on it, others who deem Tailwind valuable enough will continue to maintain it.
> others who deem Tailwind valuable enough will continue to maintain it. We have seen several examples in the last couple of years where this is simply not true enough. There are multiple open source projects that do not receive enough TLC.
If my company relies on an open source project and it isn't being maintained, I can either ask my company to start maintaining it or find something else or accept the risk of a an unmaintained project.
Re: AI is a business model stress test
#254Earlier quoted context omitted.
You’re kinda late to the party. 15 years ago that was the way to build UIs, but componentization changed that. Now we reason about UIs as blocks, not as pages, so collocation of logic, markup, and style makes the most sense. Not to say that every component should be unique, generic components can be built in an extensible way, and users can extend those components while applying unique styling. Theming is also a solv…
In the webdev world being late is the same as being early. Just wait for the pendulum to swing back. Tailwind is like GenZ has discovered the bgcolor="" attribute. > Markup and styling are intrinsically linked, making any change to the markup most likely will require changes to the styling, and vice versa. No, not vice versa. It's only in one direction. Changing the component requires changing styles, but changing st…
That kind of lack of intellectual curiosity is not a great trait for an engineer.
Re: AI is a business model stress test
#255Re: AI is a business model stress test
#256Earlier quoted context omitted.
You're probably confusing something with something? CSS Modules are a JS-only third party solution re-invented/re-implemented in a dozen different ways for various JS frontend frameworks. Requires setting up, requires learning an additional library. If you mean these CSS modules: https://github.com/css-modules/css-modules?tab=readme-ov-fil... then they need to be supported by whatever build chain you use. And you lit…
Well no, none of them ? This is what OP was talking about: https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Nest...
Re: AI is a business model stress test
#257Earlier quoted context omitted.
There will be no royalties, simply make all the models that trained on the public internet also be required to be public. This won't help tailwind in this case, but it'll change the answer to "Should I publish this thing free online?" from "No, because a few AI companies are going to exclusively benefit from it" to "Yes, I want to contribute to the corpus of human knowledge."
Contributing to human knowledge doesn’t pay the bills though
There are many projects that love to brag about being open source (it's "free"!), only to lock useful features behind a paywall, or do the inevitable license rug pull after other companies start profiting from the freedoms they've provided them. This is the same tactic used by drug dealers to get you hooked on the product.
Instead, the primary incentive to release a project as open source should be the desire to contribute to the corpus of human knowledge. That doesn't mean that you have to abandon any business model around the project, but that shouldn't be your main goal. There are many successful companies built around OSS that balance this correctly.
"AI" tools and services corrupt this intention. They leech off the public good will, and concentrate the data under the control of a single company. This forces well-intentioned actors to abandon open source, since instead of contributing to human knowledge, their work contributes to "AI" companies. I'm frankly not upset when this affects projects who were abusing open source to begin with.
So GP has a point. Forcing "AI" tools, and even more crucially, the data they collect and use, to be free/libre, would restore the incentive for people to want to provide a public good.
The narrative that "AI" will bring world prosperity is a fantasy promoted by the people who will profit the most. The opposite is true: it will concentrate wealth and power in the hands of a few even more than it is today. It will corrupt the last vestiges of digital freedoms we still enjoy today.
I hope we can pass regulation that prevents this from happening, but I'm not holding my breath. These people are already in power, and governments are increasingly in symbiotic relationships with them.
Re: AI is a business model stress test
#258Earlier quoted context omitted.
The point of CSS is specifically to separate styling and semantics, so that they are not tightly coupled. If you were writing a blog post you would want to be able to change the theme without going through every blog post you ever wrote, no? If I'm writing a React component I don't want it tightly coupled to its cosmetic appearance for the same reason. Styling is imposed on elements, intrinsic styles are bad and work…
Content should come from your database, Markdown, JSON, models etc. Presentation is determined by the HTML and CSS together. So your content and presentation is already separate enough to get the benefits. Breaking up the presentation layer further with premature abstractions spread over multiple files comes at a cost for little payback. I'm sure everyone has worked on sites where you're scared to make CSS file edits…
I recognize your experience. But I would also like to argue that good semantic CSS class names require active development effort. If you inherit a code base where no one has done the work of properly assigning semantic CSS names to tags, then you can't update the external stylesheet without touching the HTML.
https://csszengarden.com/ shows how a clean separation between HTML and CSS can be achieved. This is obviously a simple web site and there is not much cruft that accumulated over the years. But the principles behind it are scalable when people take the separation of content and representation seriously.
Re: AI is a business model stress test
#259Earlier quoted context omitted.
I find it very easy to understand, people don’t generally want to work for free to support billionaires, and they have few venues to act on that, this is one of them. There are no ”commons” in this scenario, there are a few frontier labs owning everything (taking it without attribution) and they have the capability to take it away, or increase prices to a point where it becomes a tool for the rich. Nobody is doing th…
Were these contributions not a radical act against zero-sum games in the first place? And now you're gonna let the zero-sum people win by restricting your own outputs to similarly zero-sum endeavors? I don't wanna look a gift horse in the mouth here. I'm happy to have benefited from whatever contributions were originally forthcoming and I wouldn't begrudge anybody for no longer going above and beyond and instead reve…
This is why I think permissive licenses are a mistake for most projects. Unlike copyleft licenses, they allow users to take away the freedoms they enjoy from users of derivative works. It's no surprise that dishonest actors take advantage of this for their own gain. This is the paradox of tolerance.
"AI" companies take this a step further, and completely disregard the original license. Whereas copyleft would somewhat be a deterrent for potential abusers, it's not for this new wave of companies. They can hide behind the already loosely defined legal frameworks, and claim that the data is derivative enough, or impossible to trace back, or what have you. It's dishonest at best, and corrupts the last remnants of public good will we still enjoy on the internet.
We need new legal frameworks for this technology, but since that is a glacial process, companies can get rich in the meantime. Especially shovel salespeople.
Re: AI is a business model stress test
#260Tailwind Labs relied on a weird monetization scheme. Revenue was proportional to the pain of using the framework. The sudden improvement in getting desired UI without relying on pre-built templates killed Tailwind Labs. There are many initiatives in a similar spot, improving your experience at using Next.js would hurt Vercel. Making GitHub actions runners more reliable, stable and economical would hurt Microsoft. Imp…
Do people even know what they can do with CSS these days?