None that are well-documented publicly. There are a multitude of DGGS, often obscure, and they are often designed to satisfy specific applications. Most don’t have a public specification but they are easy to design.
If the objective is to overfit for high-performance scalable analytics, including congruency, the most capable DGGS designs are constructed by embedding a 2-spheroid in a synthetic Euclidean 3-space. The metric for the synthetic 3-space is usually defined to be both binary and as a whole multiple of meters. The main objection is that it is not an “equal area” DGGS, so not good for a pretty graphic, but it is trivially projected into it as needed so it doesn’t matter that much. The main knobs you might care about is the spatial resolution and how far the 3-space extends e.g. it is common to include low-earth orbit in the addressable space.
I was working with a few countries on standardizing one such design but we never got it over the line. There is quite a bit of literature on this, but few people read it and most of it is focused on visualization rather than analytic applications.
He always comments like this. Never commenting a concrete answer. Just look at his history. Hes been doing this for years. Probably as advertisment for himself or to just feel/show superior.
What you're saying is: working outside of centralization is a choice. did:plc is a centralized database controlled by Bluesky.
Bluesky talks a big game about decentralization when it's extremely centralized. Everyone uses the centralized did:plc because it's the one way to really make it function. Until very recently, everyone used the centralized Bluesky AppView - and even now, well over 99% do. Bluesky will say things like "the protocol is locked open", but Bluesky could decide to shut off their firehose at anytime (leaving third parties cut off) and could decide to stop taking incoming data from third parties (leaving anyone on non-Bluesky servers cut off from basically everyone).
In a lot of ways, Bluesky is more like Twitter a decade or so ago. It offers APIs that third parties can use to build off of - but at any time, Bluesky could shut down those APIs. Back then, you could read the Twitter firehose and store the tweets and create your own app view with your own front-end if you wanted. Tweets would need to be sent to the Twitter APIs, but that's not really different than your third-party PDS server sending them to Bluesky if you want anyone else to read them.
You aren't open if someone controls the vast majority of a system because at any time they can decide "why are we doing this open thing? we could probably force the <1% of people elsewhere to migrate to our service if we cut off interoperability." Google Talk (GChat) offered XMPP federation and a lot of people bought into the platform because it was open. At some point, Google realized that the promise of openness had served its purpose and closed it off.
And it's important to think about the long-run here. Twitter was that benevolent dictator for a long time. Bluesky is still early and looking to grow - when they want people building off their system, giving them engagement, ideas, and designs they can copy. We're around year-5 of Bluesky. A decade from now after Bluesky builds its popularity on the back of "we're open and decentralized" while making decentralization extremely difficult, will that change? If Bluesky gets to a few hundred million users and then a third party starts looking like a potential threat, maybe they'll cut that off before they have genuine competition.
Maybe that won't happen with Bluesky. Maybe their investors won't care about the potential for a pay day. But if they have control (either through centralization like did:plc or by controlling the vast majority of the network), there will always be the potential for them to break interoperability. If they start monetizing Bluesky, why should they keep hosting, processing, and serving all that data for third party clients they can't monetize? Why shouldn't they stop federating with third parties before a third party becomes competition?
The license file linked provides an exception for 4d and 4e:
As a special exception to the GNU Lesser General Public License version 3 ("LGPL3"), the copyright holders of this Library give you permission to convey to a third party a Combined Work that links statically or dynamically to this Library without providing any Minimal Corresponding Source or Minimal Application Code as set out in 4d or providing the installation information set out in section 4e, provided that you comply with the other provisions of LGPL3 and provided that you meet, for the Application the terms and conditions of the license(s) which apply to the Application.
It's not simply that developers expect to get their tools for free.
So many developers have seen the rug-pulls and exploitation of non-free tools. Build on Oracle and your company will need to hire more lawyers than developers. Even in less-exploitive situations, we've seen a lot of situations where things become many times more expensive. Google AppEngine moved from charging based on usage to charging based on instance hours and some people saw their bills go up 10x. We saw the Unity price increase which proposed a runtime-install fee. We don't want to build off an ecosystem where we have no idea what the pricing will be going forward. We don't live in a world where we can just remain on an old version via a perpetual license. Security vulnerabilities will require upgrading at whatever price a vendor sets for the new version. Incompatibilities with changing environments (like iOS/Android upgrades) will mean having to pay for upgrades at whatever the new price is.
We've seen so many proprietary dead-ends where we invest a lot of time and money into a platform and then poof it's gone. You don't want to have 10 devs spend a couple years building with a tool that just disappears on you. Something small like Skip could easily run out of funding. This gives you a chicken-and-egg problem: you can't be proprietary unless you're huge, but you basically can't get huge at this point unless you're open source because no one will choose you. Skip was ejectable. It was generating Kotlin so you could just start developing two separate codebases in the future, but if you want a cross-platform toolkit and you're worried about a dead-end, you're just going to choose Flutter or React Native or something.
We also don't want a situation where devs are waiting on a vendor. With open source, I can go in and fix something at my company and put in a PR. Even if the PR doesn't get accepted for a while, we aren't stuck.
And it's not just developers. If I'm working at a company and I want to use a paid tool, I'm going to need to get approval for that which can just be a pain. Higher ups are going to want to know that we aren't going to get a rug-pull in the future. Skip was $1,000/year per developer, but that could change in the following year. Companies have gotten rich by offering you a good deal, locking you into their ecosystem, and then raising prices. Higher ups are going to want answers that don't really exist.
Finally, it's hard to know whether something is any good without putting a decent amount of time into it. We often learn things because they're free toys we can play with. I make something fun in my spare time with a free tool and I've learned something new. But I don't want to do that with something proprietary where I might have to deal with licensing. Yes, sometimes there's exceptions for non-commercial use, but sometimes the line is blurry on that - what if I have a tip jar. We don't want to deal with that.
A development kit like Skip isn't a hammer. A hammer will continue to be a hammer even if the company goes out of business. When we're choosing tools, we're not just making a bet on what it is, but also what it will be in the future. If it's going to become abandoned in the future, it'll be a lot less useful. When you're comparing tools at a hardware store, you might not make the best choice, but you aren't going to find out 18 months later that your hammer is incompatible with all nails going forward. You're also generally only out the price of the hammer, not out the price of the hammer plus 18 months worth of work that you need to redo.
Completely agree with you. I skip most of the new tools that come out, because the ones I use already work well for me, and the probability of the new tool disappearing fast is high.
Learning a new tool is a mental effort that makes sense for the seller to propose, but doesn't for me. My mental energy is better spent on my loved ones. It has to be truly revolutionary for me to invest time into it, like the LLM stuff. But otherwise I've been happy with Bash, Vim, JetBrains products and Terraform for a very long while. I don't see any need to change that.
> I assume the dearth of other options was because macOS doesn't do fractional scaling
Except it does? I have a 14" MBP with a 3024x1964 display. By default, it uses a doubling for an effective 1512x982, but I can also select 1800x1169, 1352x878, 1147x745, or 1024x665. So it certainly does have fractional scaling options.
macOS fakes fractional scaling by rendering a larger image at 2x and then downscaling it. For example, 1800x1169 renders a 3600x2338 at 2x scaling, then resizes the rendered image to 3024x1964. This is slower and looks worse than true fractional scaling would be, but makes the implementation a lot easier and in practice it’s hard to tell the difference. It’d look pretty awful if the native ppi wasn’t so high.
"The company I work at gives all new developers a pair of 1080p displays that could have come right out of 2010."
I have the same problem. The monitors at the office where I currently work are all low-DPI.
Work is quite irrational when it comes to spending decisions. It's not just penny pinching. They waste a lot of time and money at the same time as they block and worry about much smaller expenses. Asking them to provide one or two good, modern monitors at non-trivial cost would likely be described something as a "luxury" or "treat", which is how they described my personal laptop when they found out how much it cost.
At least I'm able to use my own laptop at the current job. It's much more powerful than anything the company would provide.
This is what basically everyone else has done over the past decade. Google used to put a different background behind ads in its search (https://www.fsedigital.com/wp-content/uploads/2023/11/Google...). It made it really easy to tell what was an ad and skip over it quickly. Now it's a lot harder to quickly notice what's an ad and what isn't.
Sites used to have banner ads. Now they show posts that look exactly like the organic posts in your feed, just with a small "sponsored", "promoted", or "ad" mark somewhere. Half the time the post is large enough that it takes up my entire screen and the "sponsored" mark is below and off-screen.
If you go on Amazon, the "sponsored" text is much smaller and light gray rgb(87,89,89) while the product text is near-black rgb(15,17,17). They want to make the sponsored text less visible. Sometimes it's even unclear if the sponsored tag applies to a single product or a group of products.
It's shocking that Apple hasn't done this trick yet when everyone else started doing it years ago.
> I’m not willing to pay the apple tax any longer.
Problem here is that when you decide you no longer wish to pay the tax and want to exit the walled garden, you discover that there's a heap of functionality and convenience you'll have to let go, and add complexity and cost to your setup.
I actively avoided relying on iCloud even when it was the sane option, but many people that will feel like the walled garden is no longer suiting them will have to figure out ways to move files, emails, and (crucially) communication channels out of the ecosystem.
I think a large number of them will decide that it's not worth the hassle, and remain walled in. Which is the idea to begin with.
Sure, this is HN, and many will say "screw it, I'll Nextcloud my way out", but the genpop will remain within the gilded cage.
Other than blue bubbles, you aren't leaving behind much nowadays. Apple is now lagging in general usability vs competitors, Siri as one glaring example.
I think parent was referring to how challenging it is to move data (files like photos and other types of files, all of which are only accessible through apps with those specific capabilities) out of the Apple mobile ecosystem and to something non-Apple-ish.
This is still true even if you use a Mac as an intermediary (if you have one), which also implies that you're probably going to be using iCloud to sync those as well.
Bottom line: it's exceptionally difficult, even for tech-forward Apple-philes, to move your own data off your iPhone without actually going DEEPER into the Apple ecosystem, and Apple has been actively removing capabilities and neutering apps like NextCloud etc (always for 'privacy' or 'security' reasons) to make it MORE difficult to exfil your own data.
>you discover that there's a heap of functionality and convenience you'll have to let go,
Cloud storage of pictures is not an issue as I do regular backups (we all should, we’re a false positive account termination away from crying otherwise).
What’s else is there? I’m not American so no iMessage, I struggle to find some other blocker.
For the desktop Mac, the base OS is essentially UNIX. It is much more secure by default than Microsoft Windows. For the mobile Mac (iOS), they are much preferred by large corporations when giving mobile phones to employees. Why? Security is much better than Android.
> Every time I got an Apple product, it felt like a step back. They were late to widgets, late to AI. Their security is historically poor.
It's not a bad thing to be late to AI. Most of it has shown to be a complete waste of time, money and resources.
As for poor security - this has got to be a joke, right? If anything, it's the Windows world that has a piss poor track record when it comes to security. Apple meanwhile, unless you're a terrorist or drug kingpin, no way the police can access a properly protected device.
I remember thinking similar when JetBrains finally released LLMs integrated into their IDEs. I still don't love their integrated LLMs (too many silly suggestions that are simply syntax errors), but they were intentionally slow to release... to wait for some of the hype to blow over.
>it's not a bad thing to be late to AI. Most of it has shown to be a complete waste of time, money and resources.
This is just cognitive bias. If Apple was doing well with AI, you'd be praising it.
I've been having gemini look at my screen and add events to my calendar in 2 clicks.
Not to mention... I don't really have lots of faith in the people who don't see the value in AI. Its halved my programming costs if not more.
>As for poor security - this has got to be a joke, right? If anything, it's the Windows world that has a piss poor track record when it comes to security. Apple meanwhile, unless you're a terrorist or drug kingpin, no way the police can access a properly protected device.
You do you then. I need my device secured. I won't explain because it makes myself a target.
> here's a heap of functionality and convenience you'll have to let go
That's a very outdated point of view. All mobile ecosystems have practical feature parity.
Convenience - that's a tricky one. With Apple stuff, you only have convenience if you're one of the bubble people who has their entire family and close friends in the Apple ecosystem. The reality outside that is that for every 1 iOS person, there are ~2 non iOS people they need to collaborate with and share stuff. Convenience has left the room a long time ago.
Oh how I wish that was universally true. Unfortunately ive experienced strong discrimination for green checks especially amongst boutique SMB servicers
Oh no I lost my conveniences! Cry me a river. Are people really so weak we can't even give up little things to show these fucking tech companies we don't like what they are doing?
I want to see a movement of people using dumbphones or no phones at all. Anything you do on a smartphone can be done later on a desktop computer and a landline phone.
I left the Apple ecosystem three years ago and have been daily driving a Linux-based phone ever since.
I’m still dealing with the fallout even today. There are tons of things in 2026 that you can no longer conveniently do without an Apple or Google mobile OS. For example, you’re out of all the group chats. No more WhatsApp, Telegram, or Signal. You can’t have those on a computer unless you have the account tethered to a phone.
In Europe, where SMS used to be ridiculously expensive until the early 2010s, WhatsApp usage is absolutely endemic to the point that many businesses use it as their primary means of communication. It also has a quasi-monopoly on group messaging among friends and relatives.
your (and many others') argument is basically a "there are no atheists in foxholes" "I know, better than you, what you think" argument.
to me, no idea what you are talking about, i find the iphone/Apple experience to be a huge pita, all the time. i love unix for the swiss army knife of general purpose tools, not the many different garden walls with no garden inside.
the reason fsckboy doesn't leave is that all his bitches expect it, otherwise, gone in 60 seconds.
This feels inevitable for any 'unique' company that lives long enough for leadership to retire and starts hiring replacement c-levels externally.
Those external people are going to run Apple just like whatever other companies they were running before. You need to keep the vision alive and promote people internally who understand that vision to keep running the company.
Being publicly traded probably doesn't help either.
In what ways? Apple, IMHO, has been jumping on every proverbial band wagon. And some of its 'better intended' changes like ATT seem only to have been to stifle competition while they set up their own solution.
Well, the alternatives is Android and... not really much else, for a full-featured smartphone. Say what you will about Apple, they're not perfect, but they have a better track record w.r.t privacy than Google in every way.
I'm not saying I like what Apple is doing here, but I trust Google a lot less with my data.
This! Sure you might need a Google account for your android but you don't HAVE to use all their services.
First just don't use Gmail, docs, search, chrome and co. But even better get a Pixel with Graphene and Google's invasive tactics are even more limited.
However it is sad that a company like Apple that used to produce superior hardware with superior UX is falling apart on all fronts - hardware (especially pricing), UX (hello glass design), software (macos just getting worse every release without adding ANYTHING of value)
And now introducing more and more ads while keep selling you "pro" laptops with 512GB SSD :-/
What’s interesting to me is that no matter how “hidden” the AD indicator may be, my brain always seems to very quickly train itself to swiftly skip such posts when scrolling/browsing.
Or I could simply be another clueless victim of advertising. If only I could know the number of sponsored posts I never consciously acknowledge and am influenced by on the daily.
If the vast majority of people recognized ads and skipped them as more technically minded people do, they'd either not do that or step up a notch and make them even harder to spot. The reality is that these dark patterns do work for a large part of the users. We're the lucky few who can stay away though it is taxing and tiring.
It does affect us quite a bit. This situation makes us have to think hard, makes us be very wary of what we click on or read and sometimes bites us as well. I personally find ads extremely tiring such that I mostly avoid add riddled products/sites and always use ad blockers. Quite on the contrary, the vast majority of users aren't even bothered by ads, they've been accustomed to them. My main point of the comment wasn't to be arrogant but to say that most users don't care.
> If the vast majority of people recognized ads and skipped them as more technically minded people do
People definitely do this. When I worked for a large social media company, we almost always had ads in position 2. People noticeably (in the aggregate data) spent less time with this position in the viewport.
But honestly, most people are just extra impressions/revenue for most advertisers, there's a much smaller number of people who drive ~all of the conversions.
Why should they if they’re buying some commoditized item on amazon, for example? I bought an ergonomic ice pack for my knee this morning, something I couldn’t find in the store near
my house. Why should I scroll past the first, cheapest, decent looking item that meets my
needs? As a moral duty, perhaps. At any rate, advertisement doesn’t necessarily mean scam.
In that scenario I can understand paying attention to ads, even though I personally don't. But normals will stay tuned in and eyes glued even for television ads pitching things they have no interest in. Hypnotized by the machine, indifferent to the commercial propaganda. Even asking them to mute the ads is met with puzzlement.
When you pay for an advertised product you're also paying for their advertising budget hence most likely not the best price/quality. Sure, not 100% true all the time, sometimes there's a liquidation of stock or something like that.
Yeah. Its going to be easy to skip the first result in an app store search, not because its highlighted, but additionally because it isn't ever what i was searching for. The app store search has been broken like this for years and any change they make short of adding or removing the ad won't change my habits.
in every search ive done on the app store in the last several years, I'm looking for a specific app. That app is never the ad result at the top, its always the second result down.
Right now i did a search for several different popular social media apps. TikTok was the top 'ad' result for all of them. Then i did a search for TikTok and got some random app i've never heard of as the 'ad' result. Its like it doesn't want the same app to fill both of the top two slots, but there is always an ad. So what you are looking for is always second on the list. Never first.
Because of this, why would i ever click the ad? If i search something less-specific like "flashcard app" the best result will fill the second slot. Something else goes in the ad slot.
Shouldn't be too difficult to train a DL network on it, as well. I'm waiting for a pi-hole like device that works on the HDMI level and simply replaces ads by blank space (or art, or whatever the user chooses).
Normal users do not do this. We break Google Ads' links at the office (yours should too, malicious linkjacking in ads is prevalent) and I am told "Google doesn't work" all the time. People have to be taught not to click the ads and usually that's only effective if you ensure the ads don't work.
Amazon has gotten "good" at it. If I search for, say, AirPods, I get ads from Apple followed by the regular listings that look identical sans gray "sponsored" text. It helps that in this rare case the ads are actually relevant.
The problem with this, I've found, is that you end up skipping a lot of things, and then find out later on that features were introduced years ago that you've wished, throughout the interim, existed. It's hard to keep up.
I wish there was regulation enforcing background colors for ads.
For example: most small, plastic toys should not exist, regardless of how many people might want them. They’re essentially mass-manufactured pollution that harms the global environment. Sure, you can find positive effects of them, but I argue those effects are not worth the downsides.
There are many other things that would be a net positive of they didn’t exist.
Just because something can exist, just because some people might want it to exist, doesn’t mean we’re better off. Honestly I think the Amish and their measured approach to technology is correct (though my rubric would be different than theirs).
I'm okay with missing things. As I got older, I cared less and less about being aware of everything out there, and I was glad I got the thing done I needed so I could spend time with my family.
I do this automatically too. But then I wonder if that matters. Are the results that have the best SEO actually going to be any better than the sites that pay the most to be displayed for my search? I have no idea.
Yeah I'll often look for something specific and I'll see listings that have nothing to do with what I'm looking for. Like I think I was looking for wide mouth nipples for baby bottles, a specific brand and model, and I was seeing baby toys. Like ok, they surmised I have a baby... But don't show it to me as a result for a query for something completely different.
I'm not trying to excuse Amazon but you do know what like, super markets, best buy etc, take ad money (promotional money?) from suppliers who pay for placement. That Samsung TV at the front being pushed at you, that's effectively ad money Samsung paid to have their TVs put at the front of the store. Those cans of Coke stacked at the end of the isle or piled up near the entrance at your super market? Coke paid to have them placed there.
I'm not saying it's good or that therefore Amazon or Apple should be excused. I'm just saying, the naieve me thought Coke was on the end of the isle because the store thought it's what customers wanted. No, it's what Coke wanted, and paid for. And it's the same with Amazon and now Apple.
When I owned a liquor store, the cigarette sales reps would all fall over themselves givings us free stuff, including straight cash, to place their cigarettes more prominently than the other brands. This would last for about a week or two until the other brand's rep would notice and up the ante.
> Those cans of Coke stacked at the end of the isle or piled up near the entrance at your super market? Coke paid to have them placed there.
Often, though endcaps are also used to move product that wasn't selling well and you want gone. But in any case, as a consumer you're usually better off ignoring products on the endcaps.
Off-topic but I hate it when stuff I'm looking for is ONLY at the end caps and not even on the end cap of an aisle that makes sense (like a particular soda at the end of the bread aisle).
I am suddenly realizing how silly it is that I have put up with this for decades. Are GreaseMonkey or similar tools still around that would let me customize the CSS of sites? I am thinking I should be able to run my own styling to make the ads nearly invisible. Or do the big players do all sorts of tricks to make identifying the ad content so dynamic that it would require constant vigilance to maintain? I have heard that Facebook does insane rendering tricks to prevent people from scraping their sites, not impossible to imagine some companies obfuscate the ad selection.
Probably a few dozen lines of CSS could give me a much better browsing experience.
I use the Stylus extension for site-specific CSS in Chrome. Usually end up with a big comma-separated list of selectors getting the { display: none !important; visibility: hidden !important } treatment.
Sure enough, this looks great. Found a blog post where someone did the exact same thing. Unlike the Firefox mechanism of usercontent.css which requires a reboot after every change(?) this works dynamically on a page reload. Now trivial to restyle some content which would otherwise not hit a blocklist.
Funny enough, even iOS Safari has a “hide distracting items” button you can sorta use for this kind of thing. I guess it won’t work on the App Store though.
I like how, the way you've described it, it sounds as if, with the effort they go to to make ads as difficult to identify as possible, they're trying to hide their shame.
It's tacit admission that people need to be 'tricked' into thinking that the advertising is actually an organic result. It's manipulative. It's an admission of the fact that advertising actively gets in the way of the service they're (incidentally) providing that 'the people' actually find useful.
Unfortunately this is just a much longer way of saying 'you're the product'.
There’s no shame. They want money, ad clicks make money, and users avoid things they know are ads, so content providers obscure the ads identification signal. Stop anthropomorphizing corporations. They hate that.
Works as intended. If you’re looking for a baby bottle it’s reasonable to assume that your house is in disarray from the whole new baby in the house thing, and it’s above average probability that you’ll buy completely unrelated products during your search.
Apple not adopting these kinds of user hostile designs is why a lot of us were happy to a premium for their products. I guess Cook is just too stupid to understand that.
What it must be like to be an Apple hardware engineer these days, designing the most beautiful physical devices in personal computing, then handing it over to the bosses where they load it up with this schlock.
Yeah, we need a law that these are very much visually distinguished and in the same color so we can learn to ignore them. So much of the web is completely anti-consumer.
I used to look for stuff on Poshmark but now when you search it is almost impossible to find your search results as everything is "Promoted". So I just gave up and stop using their product.
Apple's whole selling point is they aren't pulling the same crap that the everyone else is. It's not a defense of Apple to say they're just doing what everyone else has already been doing. Think different?
Yes, this is part of what is supposed to justify the premium prices, is that they can have a different business model.
But it seems Tim Cook can’t leave anything on the table. I’m really going to be irritated if we end up with a premium Siri. It’s going to undermine the privacy aspect, the hardware innovation, and everything else they have going for themselves despite missing the boat on AI
I think IE, ActiveX and the like were reused in tons of VB5/6 applications... at least with zillions of
Spanish shareware, such as amateur games, crossword puzzles, home agendas, book databases and the like.
They worked smooth enough, but in a crazy insecure way. Today it's the reverse; Chromium/Blink can do sandboxing but they bundle everything. Video and audio codecs, HTML renderers, a JS engine, a CSS engine, TTF rendering engines, 2D drawing engines, their own window and process managers... half an OS.
> It's shocking that Apple hasn't done this trick yet when everyone else started doing it years ago.
It's not that shocking — them not doing that is part of why I keep buying their products. I believed their leadership understood that.
Looking at the article, the kind interpretation is that this is the same wrong-headed shift towards uniformity at all costs we've seen elsewhere in their products. The less kind interpretation is that they're deliberately blurring the lines with ads. Either way, it erodes away some of the trust that has been their lifeblood for the better part of maybe two decades.
Absolutely this. I can’t agree with this more. Having been using apple macs for 2 decades now I’m wondering whether my next machine will be apple. There’s even a setting for the adverts in the system settings. This is disguising.
What is shocking is that deception is the common. Accepted, argued for by some. Loosing trust of the site/app doing the deception is the result. Becoming common, accepted, trend, and then loosing trust in the whole industry is the result.
Yeah, it's bad enough for capable users, but it's a nightmare for old people and the unaware. The online space is full of scams, and there's no real safe haven.
They've hit the limits of iPhone sales - and upgrade cycles are slowing. Hardware products in general are "streaky" - ie. demand and sales drop in the period after a new product is released, so how often can you produce a new version and what happens if that new version isn't a hit?
Whereas subscriptions provide recurring revenue. And services, in general, can bring in more money without an equivalent increase in costs.
I recently read "Apple in China" and one of the things I hadn't realised is how many people at Apple came from IBM under Tim Cook's reign. What he's done for Apple is turn them into a predictable, consistent, revenue machine.
Not OP, but I think they still have the lead in hardware. However, I'm using an iPhone 14 which apparently released 4 years ago now, and it's still plenty fast enough for all my needs. If it lasts another 4 years, I won't update. That's probably their problem.
Do I think the software ecosystem is superior? I _hate_ using the app store with a passion. I _hate_ trying to find an app for my needs(most recently a gym app) and there's 40 options and they're all a monthly subscription. I _hate_ the advertising that my children get trapped in while playing a game(I sometimes have to switch to data so that my pihole isn't used so that the ads can load so that the game will work at all), but the ads don't have a timer or an X in the top right, you have to interact with them the right way to escape.
But most of all, I _HATE_ that all my daughter wants is a draw-by-numbers game and there's literally hundreds of almost identical games which all charge $10+ a MONTH for the privilege.
Nah, I don't think the software ecosystem is superior. Although Google trying to stop sideloading does make me think they're happy racing to the goddamn bottom.
Any 4 year old medium range Android phone is mighty fine these days, ie Samsungs just keep chugging, mine S22 ultra still has fine battery and rest is like new and I've seen the same for lower tiers. Market won't allow much gap anymore
I’m not the person you asked, but what I’d say is that comparing two turds isn’t really meaningful. Sure, maybe one of the turds doesn’t have such a strong smell or has fewer flies, but it’s still a turd.
Their cheapest iPhone in my country is 719€, the cheapest Google pixel is 399€, the cheapest Samsung Galaxy is 149€. I can install firefox with addons from the play store. I can still for now install whatever software I want on my android phone. If I'm not happy with an android brand I can switch with minimal effort to another brand next time. So no, iPhone are not superior to the competition on all situations
Not at all. Bought and promptly returned an iPad last year when I realized they were going to force me to see ads with their safari wrapper for every 'browser alternative.'
Great ecosystem for my aging parents, but not for me.
See, instead of leaving a lot of cash on the table to be way better than the other, they'll pocket that cash and become just a little bit better than the other
This is the eventual evolution of any platform that sells ads or sponsored content. Who is paying the bills? App developers and their desire to bring on customers...
It ought to be illegal to host ads for registered trademarks (+/- some edit distance).
Especially if you have a marketplace monopoly.
Especially if you used overwhelming force to turn the "URL Bar" into a search product and then bought up 90% market share where you can tax every single brand on the planet.
Google is the most egregious with this with respect to Google Search. It ought to be illegal, frankly.
Google Android is a runner up. Half the time I try to install an app, I get bamboozled into installing an ad placement app (and immediately undo it). Seems like Apple is following in the same footsteps.
Amazon isn't blameless here, either.
So much of our economy is being taxed by gatekeepers that installed themselves into a place that is impossible to dislodge. And the systems they built were not how the web originally worked. They dismantled the user-friendly behavior brick by brick, decade by decade.
Google "Pokemon" -> Ad.
Google "AWS" -> Amazon competitively bidding for their own trademark
Google "Thinkpad" -> Lots of ads.
Google "Anthropic" or "ChatGPT" -> I bet Google is happy to bleed its direct competitors like this.
What the fuck is this, and why did we let it happen?
Companies own these trademarks. Google turned the URL bar into a 100% Google search shakedown.
I'm thinking about a grassroots movement to stop these shenanigans.
Advertising alternatives to trademarked names is completely legal in every sense.
It's known as comparative advertising and is established for more than a century.
You simply cannot pretend to be that trademark product/business and you cannot disparage that trademark.
> You simply cannot pretend to be that trademark product/business
Some fraction of consumers are duped. Otherwise there wouldn't be so many knockoffs.
If I enter Acme Orbital Thrusters into a search engine, the exact match, their actual website, must be the top hit. Otherwise it's a racket, not a search engine.
What if Acme Orbital Thrusters is a long-running, covered-up fraudster? Why should they get to automatically outrank sites exposing their crimes?
Or what about when there are multiple trademarks for different goods and services from different companies that are all exact matches for the search terms?
Trademarks differentiate products. App Store is full of shady clones with near identical icons, screenshots and names that differ from the original by a few letters.
> It ought to be illegal to host ads for registered trademarks (+/- some edit distance).
This makes me a bit uncomfortable because of how close it comes to infringing on freedom of speech, and how specific a rule it would for search engines (and chat bots) - i.e. there's no real analogy of "can't target trademarked terms" for any ad format other than search engines.
I think my preference would be to simply enforce laws around fraud. If you're a business and you intentionally mislead people, that's fraud, pure and simple. Bring the enforcement hammer down so that companies don't dare make an ad that granny might mistake for not being an ad. Make them err far on the side of making ads look unmistakably like ads for fear of ruinous fines.
It wouldn't impinge on freedom of speech. Nothing would be prohibited from being said.
It would require conflicts of interest to be disclosed clearly. I.e. labelling speech incentivized by someone else (ad buyer) clearly, as not organic speech (the search engine results).
That is pro-transparency and ethics, not anti-speech.
> It would require conflicts of interest to be disclosed clearly. I.e. labelling speech incentivized by someone else (ad buyer) clearly, as not organic speech (the search engine results).
That's specifically what I'm proposing in the post you replied to?
You're not allowed to use Pikachu commercially. Why should Google? They're taking advantage of every trademark to make money.
Googling a trademark should activate a "no bids" mode.
If Google wants to defend this action, then they should explain why they turned the URL bar into a search product and bought up 90% of the real estate. They've been incredibly heavy handed in search, web, and ads.
There are many uses of "Pikachu" that are reserved for the trademark holder, but by-and-large the point of trademark is to avoid consumer confusion by preventing people from passing off goods/services that aren't from the "Pikachu" holder as actually being from the "Pikachu" trademark holder.
Generally, I am allowed to use "Pikachu" if it's in reference to Pikachu and doesn't involve passing off non-Pikachu things as actually being Pikachu things. If I'm a former employed-by-Nintendo Pikachu illustrator, I'm allowed to advertise that. (Even if I can't provide samples of my work.) I can advertise that I'm the "#1 seller of Pikachu snuggies" as long as I am the #1 seller of non-counterfeit Pikachu snuggies. I can charge people a subscription fee for full access to a website where I review Pikachu (and other pokemon). If I work at Walmart and someone asks me where they can get a Pikachu plush, I'm allowed to direct them to the Digimon plush section, for which I receive a kickback on sales.
The consumer confusion happening when someone googles a trademark and gets ads for different things isn't due to trademark infringement, it's due to misleading ads, which shouldn't be allowed regardless of whether a search term is trademarked or not.
Yes, of course, you can't lie as a business, but if someone walks into Walmart and searches for "Pikachu?", Walmart employees are free to be trained to use the trademarked term and reply "You don't want Pikachu, consider Digimon!"
(It's a contrived hypothetical, but the closest I could get to a meat-space version of search keywords.)
Let’s remember it’s not new: Back in 2005, gannies (and 20yo non-nerds too) would install all sorts of viruses by clicking on popups thinking it’s the real thing. I personally switched to Firefox then Mac which didn’t have this problem. It’s like browsing a torrent website without an adblocker: There is absolutely no way to hit the right button, it’s URL changes between mousedown and mouseup.
You could search for "{trademark} competitors", "{trademark} reviews", "{trademark} vs ...", etc.
For bare trademark searches, we could write laws that allow competitors, but restrict taxing and bidding off the reserved mark above the trademark owner's result.
You should be able to explicitly bid on trademarks because you intend to compete directly with that business. Nobody should ever have a legal right to appear at the top of search rankings for anything. Laws restricting business competition are almost never a good thing.
There used to be plenty of ways to get in touch with the owner of a brand directly. Now they're all being camped by rent extractors.
Google is chief amongst those taxing businesses. They are not government anointed to perform this role. Google should not be allowed to do this.
As a business gets more successful, Google extracts more money from them. Simply trying to access the business will send revenue to Google.
Google took the standard URL bar and turned in into a rent extraction product. This should have been illegal, but our regulatory bodies have been asleep at the wheel.
Google adds costs to every business, every product, every entrepreneur. They should stick to servicing user inquiries, not stuffing ads in front of simple trademark lookup.
It's time to knock on their doors of regulatory bodies, both in the US and abroad. No more trademark camping from the "URL bar".
And every single one of those ways to get in touch still exists. Advertising is, and always has been, optional. But of course those companies that pay for it get more customers. So in practice, almost everyone pays for it. That's not rent extraction. Paying for advertising is paying for attention. And you are in absolutely no circumstance ever entitled to anyone's attention. The only difference with Google is that you even get to appear at all without paying. No other ad supported platform is like that. It's pay up or GTFO. Nobody hijacked your URL bar. You can type in the URL just like you always could.
> And you are in absolutely no circumstance ever entitled to anyone's attention. The only difference with Google is that you even get to appear at all without paying. No other ad supported platform is like that.
If google wants to rebrand to an advertising platform instead of a search engine, I will accept that argument. And I mean truly, fully rebrand, making it clear to everyone that visits.
Until then, their rent extraction is a real problem. They're pretending to return information and putting ads in the way in a deliberately deceptive manner.
Companies wouldn't feel nearly as compelled to bid on their own name if that deception wasn't there.
If I want to get in touch with a company, I go through Google. It's not the brand's choice, it's not my choice. The brand has to pay for that. I, ultimately, also have to pay for that.
This is NOT okay. Google is using monopoly power to do this. They have inserted themselves as parasitic middle men. No different than a cymothoa exigua eating away at the tongue.
This is not advertising. It's a road bump. It's getting throttled by the mafia. It's a protection racket on people's hard-earned brands. A tax on cognition and communication.
Google is a villain here. They are not offering value or service or anything useful. They're extracting.
They're the Harvey Weinstein of the internet here -- nobody wants to do business with the guy, but he's there and he's asking you to do what he wants. You can go along, and do the thing, or you can say no and completely lose your customer.
The customer that already knows you by name. You made it this far. Now there's this gross middle man asking you to give up.
So you let Harvey Weinstein slip his hands in. Cost of doing business.
That's what Google is in this story.
This isn't advertising. It's the R-word, being perpetrated because of a lack of the other R word: healthy market regulation.
90 percent of all humans on the planet are being fleeced by this. Every time you put something into the URL bar, Google gets a piece of the action.
What I'm saying is, when these are brand names, this is theft. Highway robbery. Monopolistic pillaging.
Typing in URLs by hand is a choice you can make. Scrolling down to organic results (for brands you like) is another choice you can make. Paying for a search engine service is a great choice.
Brands can ask you to add them to your contacts with their website in their vcard. They can prompt you to bookmark them. They could publish a feed for you.
Sure Google can get us to routed in a way we’re all conditioned to depend on, but there are plenty of other ways to get to your destination. There must be 50 ways to leave…
Yes it is your choice. You could have gone to the physical location, called them, sent a letter to their address, used Bing, Yahoo or whatever. Your argument is just not rational.
> It's shocking that Apple hasn't done this trick yet when everyone else started doing it years ago.
Is it a coincidence that they started exploring this once they've been forbidden from collecting the "Apple Tax"? This is exactly why I've been arguing against preventing Apple from collecting money from developers: the laws of capitalism will force them to collect money somewhere else, and putting ads in their app store is the obvious next step.
> Now it's a lot harder to quickly notice what's an ad and what isn't.
Everything in the app store is an ad - all the content is produced to get people to download Apps. It's just that some is 'promoted'.
I'd be interested in hearing from any HN readers that use the App store to actually discover apps - don't people do Web/Reddit searches to see what people are using and rate and then search by name? Even an LLM can provide an overview of what's available and summarise features, drawbacks, and reviews.
I think that's the thing: Apple is good at very little, but they seem like they're good at "everything else" because they don't do much else. Lots of companies spread themselves really thin trying to get into lots of unrelated competencies and tons of products. Apple doesn't.
Why does a MacBook seem better than PC laptops? Because Apple makes so few designs. When you make so few things, you can spend more time refining the design. When you're churning out a dozen designs a year, can you optimize the fan as well for each one? You hit a certain point where you say "eh, good enough." Apple's aluminum unibody MacBook Pro was largely the same design 2008-2021. They certainly iterated on it, but it wasn't "look at my flashy new case" every year. PC laptop makers come out with new designs with new materials so frequently.
With iPhones, Apple often keeps a design for 3 years. It looks like Samsung has churned out over 25 phone models over the past year while Apple has 5 (iPhone, iPhone Plus, iPhone Pro, iPhone Pro Max, iPhone 16e).
It's easy to look so good at things when you do fewer things. I think this is one of Apple's great strengths - knowing where to concentrate its effort.
This is some magical thinking. Even if Samsung took all their manpower, all their thought process and all their capital, they still couldn’t produce a laptop that competes with the MacBook (just to take one example), because they fundamentally don’t have any taste as a company.
Hell, they can’t even make a TV this year that’s less shit than last years version of it and all that requires is do literally nothing.
Yes, Apple is acknowledging that Google's Gemini will be powering Siri and that is a big deal, but are they going to be acknowledging it in the product or is this just an acknowledgment to investors?
Apple doesn't hide where many of their components come from, but that doesn't mean that those brands are credited in the product. There's no "fab by TSMC" or "camera sensors by Sony" or "display by Samsung" on an iPhone box.
It's possible that Apple will credit Gemini within the UI, but that isn't contained in the article or video. If Apple uses a Gemini-based model anonymously, it would be easy to switch away from it in the future - just as Apple had used both Samsung and TSMC fabs, or how Apple has used both Samsung and Japan Display. Heck, we know that Apple has bought cloud services from AWS and Google, but we don't have "iCloud by AWS and GCP."
Yes, this is a more public announcement than Apple's display and camera part suppliers, but those aren't really hidden. Apple's dealings with Qualcomm have been extremely public. Apple's use of TSMC is extremely public. To me, this is Apple saying "hey CNBC/investors, we've settled on using Gemini to get next-gen Siri happening so you all can feel safe that we aren't rudderless on next-gen Siri."
Apple won't take the risk of being blamed for AI answers being incorrect. They will attribute Google/Gemini so users know how to be mad at if it doesn't work as expected.
Apple is already taking the risk of being blamed for their own AI right now, though (an AI that is much more prone to incredibly dumb errors than Gemini), so I don't find it that obvious that they wouldn't just continue taking the blame for Siri as they already do, except with an actually smarter Siri.
This is a double-edged sword. Apple would love any failure to be blamed on Google, but not the branding to go with it.
Apple's brand is so dominant that even if they say Siri is "powered by Google", most users will still perceive it as an Apple service. The only way that changes is if Apple consistently and prominently surfaces the Google name on Siri — which seems unlikely (but who knows when the stakes are so high).
Maybe they'd prefer it for aesthetics, but OTOH in iOS 18.2+ they support off-device ChatGPT and apparently refer to it as "ChatGPT" both in settings and when prompting the user to ask if they want to use it.
If they do refer to it as "Gemini" then this is a huge win for Google, and huge loss for OpenAI, since it really seems that the "ChatGPT" brand is the only real "moat" that OpenAI have, although recently there has been about a 20% shift in traffic from ChatGPT to Gemini, so the moat already seems to be running dry.
This is good, but it doesn't necessarily mean that Tailwind is out of the financial difficulty that we talked about yesterday. You can sponsor Tailwind for as little as $6,000/year. 29 companies were already sponsoring Tailwind including 16 companies at the $60,000/year level. Maybe Google AI Studio has decided to shell out a lot more, but it could also be a relatively small sponsorship compared to the $1.1M in sponsorships that Tailwind is already getting. Google has deep pockets and could easily just say "f-it, we're betting on AI coding and this tool helps us make UIs and $2M/year is nothing compared to what we're spending on AI." It's also possible that the AI Studio team has a small discretionary budget and is giving Tailwind $6,000/year.
It's good, but it's important to read this as "they're offering some money" and not "Tailwind CSS now doesn't have financial issues because they have a major sponsor." This could just be a 1-5% change in Tailwind's budget. We don't know.
And that's not to take away from their sponsorship, but on the heels of the discussion yesterday it's important to note that Tailwind was already being sponsored by many companies and still struggling. This is a good thing, but it's hard to know if this moves the needle a bunch on Tailwind's problems. Maybe it'll be the start of more companies offering Tailwind money and that'd be great.
No ill will towards the team, but isn’t it almost absurd that a CSS library is funded to the tune of 1m+ yearly and is still in financial difficulty? It is technically complete. There is no major research work or churn like in React, no monstruous complexity like Webpack.
Let's say you're paying your devs $100k / year. All in costs on those devs are probably $150k or so. That means your $1m / year will fund 6 full time developers with a little left over. This podcast from the CEO[1] says their engineering team was 4 people and the remaining staff is the 3 owners, the 1 remaining engineer, and one part time customer support person. So assuming every full time person was costing $150k in salary and other costs, you're already over $1m / year before you pay for any other expenses.
$1M / year is a lot of runway when it's just you. It's a lot less runway once you're paying other people's livelihoods too.
The question isn't "what is the lowest cost that a CSS library could be maintained for"
The question is rather, how can the most popular UI system (especially for AI models) have a healthy business model?
Think of the immense value that Tailwind is bringing to all the companies and developers using it. Surely there should be a way for the creators to capture a small slice of that in our economic system.
> the most popular UI system (especially for AI models)
Like others earlier in the thread I'm symphatetic to this company/project, but your code/project being referenced often in AI output in itself doesn't imply that the thing needs to be a business.
bash, curl, awk, Python code with numpy imports, C++, all sorts of code is constantly being generated by AI, doesn't mean curl or numpy should be its own company, or that the AI Labs need to fund them.
As other fave written, making $1M+ already feels like a lot, maybe this shouldn't be a company, just 1-2 people who have a great time supporting this thing. I wonder if curl or awk have that kind of funding even..
Apparently they have an annual budget of ~$10M. From the contributors, it's easy to recognize the Chan Zuckerberg Initiative (so Meta), Google, MSFT. This is great.
Having said that, I'd still say that $1-2M for a CSS library seems more than enough. Not everything needs to be "scaled"..
That’s the All Modern Digital Infrastructure relying on a dependency a Nebraskan has been thanklessly maintaining since 2003 one: https://xkcd.com/2347/
> The question is rather, how can the most popular UI system (especially for AI models) have a healthy business model?
My question is why does it need one? Most web libraries I've used for the last few decades have not had any corporate structure and certainly haven't made a profit. They're done because someone wanted to showcase their skills and others got involved to help, or for fun or because a company who does something else built them internally and decided to open source.
We don't need to apply capitalism to everything. Not everything needs a profit and scale.
Profit is the life blood of a business. It’s what pays for, mistakes, new ideas, responding to changes in the market. It tells you your are doing good things and that you are doing them well
It’s the engineering tolerance that allows a company to operate and remain reliable.
It’s amazing to me that engineers don’t understand this concept.
I think you've missed my point. Most of the libraries I'm talking about are not part of a business. And they didn't need anything to pay for mistakes, new ideas, etc.
I understand companies needing to profit, my question is why does an open source library need a company?
> I understand companies needing to profit, my question is why does an open source library need a company?
Because people like to eat and have homes and not everyone wants to work full time on someone else's code and then come home and work full time on their own. Because paying people for the work that they do is a good thing.
I think this is a very capitalistic lens you're viewing through. Open source projects (and the web in general) are traditionally not paid work or often seen as "work" at all. The web was built by people who just wanted to do a cool thing, and motivation of profit was much less common.
I challenge the concept of "paying people for the work that they do is a good thing", at least in this context. I don't think everything needs to be profitable and paid, people can just make cool things for love and passion.
If you can find a way to do it better or cheaper you’re welcome to try. No one else has. Don’t think it’s a small problem. The number of user agents and platforms supported by Tailwind would melt plenty of larger organizations.
This doesn't really answer my question and is quite a flippant response. I didn't claim I could do better, I'm asking why they need so many resources to do what they do.
Yes, they’re struggling because a large part of their business was selling the pro product of pre-built themes, pages and components and whatever else.
Now, LLMs have all but killed that side of their business. The latest models are incredibly good at writing Tailwind, to the point where no one is buying the pre-builts.
Nah, Tailwind is way more important for LLMs than vanilla CSS.
Models work in contexts. If my context is "my entire app's styling", then it's going to be really difficult to write styles in line unless it's already pretty perfect.
Tailwind doesn't have that problem. It's local. I can define a single theme and KNOW FOR A FACT how something will look before it even touches my code. That's the beauty of utility-like libraries.
I stopped working in marketing and advertising (which DID need custom styles), and went to strictly app dev where my needs completely changed.
lol People don't realize that Tailwind democratized styling for a lot of people who didn't want to or didn't know how to write CSS. We're not going back to writing hand-crafted CSS with or without LLMs. LLMs, by their nature, work better with Tailwind since it needs a much smaller context to make the right decision.
> We're not going back to writing hand-crafted CSS with or without LLMs.
A lot of us have never stopped writing hand-crafted CSS. Also, in my experience, Gemini 3 Pro is an absolute monster at writing layouts and styling in pure CSS with very basic descriptions of what I want (tested it while I was experimenting with vibe coding in some sleepless night LOL).
There are still a lot of developers who loathe using Tailwind and avoid touching it like the plague. Handwritten CSS still offers more opportunities for optimization and keeps your markup much cleaner than spamming utility classes everywhere (I understand the appeal of rapidly iterating with it, though).
That I can agree with hahaha. Even though I'm not a fan of Tailwind, there's absolutely no reason developers who like utility libraries will abandon them because of LLMs.
Agents are not yet very good at figuring out how things look on the screen.
Or at least in my experience this is where they need most human guidance. They can take screenshots and study those, but I’m not sure how well they can spot when things are a bit off.
Well they clearly don't "need" that many devs just to maintain it, since they just laid off most of their devs. But "need" and "want / have the revenue/work to hire and sustain" are different questions. I've never worked a single development position where there wasn't always more work to do and not enough people or time to do it. It appears they previously did have the revenue, and presumably had the work. Now they don't have the revenue, and so they had to let people go, and some of that work will go undone or take longer.
It was more than a library of prewritten css, though, they did quite a bit of engineering work on tooling (speeding up the code scans and dynamically creating custom classes, etc). I respect the team's productivity.
This is more a question about the business model of open source, which has always had some challenges. I don't think you can support OSS with premium templates, training, and support once the knowledge is baked into LLMs.
Yes but Tailwind Plus has a flawed business model, AI was not really the reason nobody bought it, it's that it's a lifetime purchase and that shadcn + LLMs has eaten their cake left right and central.
If LLMs didn't exist but shadcn still did, do you think people would pay and use Tailwind+ or shadcn?
Tailwind UI is tool companies buy to save dev time mostly on internal/back office tools. It's usually bought per project. The math is pretty easy - if it saves you few hours of devtime you buy TailwindUI. Shadcn and bazillion other similar things are certainly competition but TailwindUI is very broad and of high quality so why not pick the nicest version.
The problem is that Tailwind is extremely portable (thats why it's so popular) and since LLMs have been fed all TailwindUI code... people using LLMs don't even have to know that TailwindUI exists they just get some Tailwind styled components. They would probably look pretty confused if you told them you used to buy these templates.
It's the difference between one-off revenue and recurring revenue. If you're making new components, making new changes for the new version, adding new css and browser support it's hard to keep going with only income from new customers.
Sponsorships are a supplemental income stream, though, right? They have paid services in addition as I understand it. So covering several full time developers seems pretty good sponsorship wise, when the maintenance should be fairly simple at this point given the maturity of the offering and the tech stack. It’s not like they have to keep up with security vulnerabilities or a mobile version update churn.
They just sell lifetime licenses to extra content at a fixed (relatively small) fee.
> Because every project is different and the way independently authored pieces of code interact can be complex and time-consuming to understand, we do not offer technical support or consulting.
Having worked on design system teams before people can burn a lot of time and money doing overly nuanced stuff. I have been in meetings discussing removing/adding a property on a React component before.
That said 3 motivated developers and a designer should be more than sufficient to build a css library, but you could 100% have a team of 20 and they would find stuff to do.
Kudos to them afaik they were trying to pay their people well. I think they were paying more than 100k/year. I remember they had open position for double that.
Sure, but even 200k/year is an order of magnitude less than 1.2mil/year (which is what the great-grandparent comment claimed, given their 100k/mo estimate).
> That said 3 motivated developers and a designer should be more than sufficient
That's how they worked (they had 4 employees and recently fired 3 of them). Four employees is still a huge cost, for a CSS library with lifetime subscription plans.
One could compare the main branch against its state from one year ago to find out if the core product justifies this scale. I would say that, more likely than not, it isn't.
Agree and compared to the Zig Software Foundation (more complex work and lower salaries/costs) https://ziglang.org/news/2025-financials/ , the amount of money required to run Tailwind CSS seems quite high (or Zig quite low, depending how you view it). IMHO it’s too high and mostly profits from popularity and right framework at the right time for LLMs, but as others mentioned shadcn probably also contributed to people using shadcn components causing less TW UI sales and less visits to their docs page. The CSS framework seems mostly done and supports most browser CSS features, so I’m wondering if it still requires that many devs? Also wondering what they are going to do now with all the new partnership money flowing in. I’d prefer the OSS money flow to be more balanced, but yeah I guess the market decides.
Salaries for developers are well under $150k in most of the United States, for example, and that is for senior engineers. Most startups are paying $90k-$140k for senior devs, for example (I haven't done the math, but from my own experience, $100-$120k is the general sweet spot). Larger companies pay a bit more, but move beyond that and you are talking management.
I'd argue a design system used by like half the world at this point should hire the best front end engineers at a high salary and that's ok. There are people doing jack shit making more.
> Salaries for developers are well under $150k in most of the United States, for example, and that is for senior engineers
As someone who has hired hundreds of SWEs over the last 12 years from 20+ states, I have to disagree.
$150k is on the lower end for base for a Sr. SWE, and well below the total comp someone would expect. You can make the argument that $150k base is reasonable, but even Sr. SWE in the middle of the country are looking for closer to $180k -$200k OTE.
I am really curious about metro areas that are paying 100-120k for senior(in the real sense) devs. Could you please share some metro areas you are familiar with?
I'm in Brisbane, but salaries are wildly different between US and AU. The exchange rate is not a good approximation. We don't see many US$275K (AU$410K) remote jobs [1] advertised in Australia either.
There are plenty of software firms out there (including the one I work for) whose entire budget is less than $1MM, and who have a headcount of developers that's more than 2.
Not every software company is busy writing software to target you with ads.
Lots of great engineers will work for way less than a FAANG salary as long as it means not having to work for FAANG. $1m/year still won't get you all that much though.
Lots and lots of people work for much less or for free on whatever they like.
Problem is that doing "boring" parts of open source project maintenance is not very exciting for many top tier developers so it should pay at least competetively for experience or people will just burn out.
And while you can obviously fund a team of 20 on $1M/year outside of US whatever said team will manage to keep up to the level of quality is another question.
Realistically if you can work on a small and high profile project like tailwind you're gonna be snatched up by someone willing to pay you at or near FAANG levels
That's good. We can tell people that so they will submit us patches for free.
Maybe we could even have a neat website with a leaderboard of sorts where we honor top contributors like some kind of gamification.
I think we would really need about five highly opinionated people with good technical and people skills to volunteer as paid maintainers for tailwind or any oss project to succeed.
I'm having a very hard time to believe you need one third of that to
maintain a library that does "shorter names for standard CSS." Of course I might be underestimating Tailwind a lot.
According to that document, they spent ~1.5M eur (1.75 USD) on developer salaries. If we count up all the people in the "Development Team" section (other than the ones paid by grant, which I excluded from the number above), we have 22 full time developer listed. That's ~$80k (USD) / developer for the all in costs, so the actual salary is probably lower than that. US News tells us[1] that the median US developer is getting ~$132k / year. To put that into a bit of perspective, the local gas station by me is paying staff $15 / hour. That's ~30k / year.
As a side note, what the heck is with all the griping about costs in this discussion? So what if it's "just a big CSS library". Don't we want people to be paid good salaries? I swear software developers are one of the only groups of people I've ever met who actively complain about being paid too much money.
That is truly incredible and an ode to what can be done with a relatively small budget. You’re right that Tailwind is nowhere near Blender’s complexity… but it’s also trying to be a business and not a foundation.
Tailwind (like most things) is way more complex than it first appears.
Sure the main thing was originally 'just' mapping `.p-4` to `padding: 1rem`. But it's also about grepping the code to see if `p-4` is used so it only builds needed classes. It also needs to work with things like their responsive and state classes so `md:p-4` or `hover:p-4` add the padding only on medium or larger screens, or when hovered etc.
All of which increased to support more and more css features and arbitrary values so `not-supports-[display:grid]:p-[5px]` generates the required code to check if grid is supported and add 5px padding or whatever other values you put in the [].
You can question if that's really a sensible idea, but it is undeniably a pretty complex challenge. Not sure it compares to blender, I imagine that has a lot more maths involved - put probably less edge cases and weird displays odd in X browser bugs.
CSS the standard is still getting updated, browsers are still updating and making their own slightly different interpretations of the standard, so a CSS library can't be "complete" except for a moment in time.
We are probably in a situation like the one of Firefox or wikipedia.
A (side) business is created to support the oss project, to make it commercially sustainable /profitable, and then it becomes the commercial offer the liability sunk-in the money, using the fame of the oss to feed the beast. Puting the oss project at risk in the end.
Whereas people would happily give money or pay for supporting the oss project, they are kind of forced to feed the commercial project that might not really wanted to keep the beast alive.
As other I don't really have the details, but I think that in most of the world, 1 million of recurring revenue should be quite enough to support a sane evolution of what the project is doing.
Every app that uses tailwind builds a custom CSS bundle. Tailwind Labs does not host those; whoever is making the app has to figure out their own hosting. So I’m not seeing the significant infrastructure costs?
Even if Tailwind were a shared hosted system like the common bootstrap CDNs of old… CDNs are dirt cheap for a small text file, even if it were loaded billions of times a month.
Some back of the napkin math suggests that it would cost about $300 per billion downloads for the current bootstrap.min.css file (gzip compressed, naturally) at North American network prices on one CDN I’ve used before. Or just $150 per billion globally if you're willing to use fewer PoPs. With browser caching, even split per domain, a billion downloads covers a very large number of users for a very large number of page loads.
100% agree.
If an open source project needs money to run, then isn't that defeating the purpose of being open source?
Open source is a gift economy. If the owner can monetise it on the side then that is just a bonus.
Why should the license model of the source code prevent developers from making a living? Why should companies which release their software under proprietary licenses also be the only ones able to profit from it?
As Stallman said: Think free as in free speech, not free beer.
Interesting. In Spanish there is libre ("free" speech) and gratis ("free" beer). Now that I think of it, libre is part of the name of many linux packages (Libre Office). Never made that connection before.
It seems to be in Google's interest to keep Tailwind CSS afloat.
Tailwind CSS is alive -> New / existing projects keep using Tailwind CSS -> more code for Gemini to train upon -> better and fancier UIs being created through Gemini -> popularity and usage of Gemini doesn't go down
Of course this applies to any other LLM provider too but I guess Google saw this opportunity first.
I think it'd be better for AI and web dev if AIs generated real CSS instead.
The supposed difficulty of tracking from elements to classes to rulesets is something that AIs can easily handle, and being able to change a ruleset once and have the update apply to all use sites is really good for AI-driven changes.
Plus, humans and AIs won't have to wait for Tailwind to adopt new CSS features as they are added. If the AI can read MDN, it can use the feature.
I really don’t understand this idea that seems to be prevalent to let the LLM generate everything from scratch instead of using existing battle tested frameworks. Be it for css or backend code.
Good modular design of software and separation of concern are still important for debugging and lifecycle. For (instructing) the llm it will also be easier if it uses frameworks as the resulting code of the project itself will remain smaller, reducing the context for both llm and human.
AFAICT, Tailwind is largely (not entirely) a different, shorter syntax for writing inline styles. (E.g., "class: 'bg-white'" = "style: 'background-color: white'".)
If you've rejected structural CSS to begin with, I sort of get the point that it saves a lot of typing; otherwise I don't see how it helps all that much over SASS or just modern plain CSS.
Tailwind is a dirty hack, normally you are supposed to declare a class, which you apply to items of the same concept. This is the cause for CSS to exist.
Front devs got lazy, and started writing for each element, position: absolute; left:3px, top:6px, color:red;...
You could write
<font color="red">Hello</font> this would be similar "cleanliness"
Supply chain risk is real. Granted in CSS it’s probably less of a concern than in code, but it cannot be denied. LLMs make the proposition of supply chain reduction not irrational at the very least.
I’ve had zero problems getting Claude to generate CSS.
I generally ask for the following, from scratch for each project:
- A theme file full of variables (if you squint this actually looks a bit like Tailwind)
- A file containing global styles, mostly semantic, rather than just piles of classes
- Specific, per component styles (I often use Svelte so this is easy as they live in the component files and are automatically scoped to the component)
IMO there’s even less need for Tailwind with AI than there was before.
When I see people talking about how good AI is with Tailwind it just feels like they’re lazily copying each other without even trying to avoid unnecessary complexity.
Totally agree with this, and I think it's what will likely happen. IMO Tailwind got to the point where you are adding dozens of classes to the tag and it gets a little unwieldy. There are some options to get around it but if AI just does't need it it's even better.
There's nothing stopping you from requesting the AI write bare CSS. They're pretty decent at that too. And feed back screencaps, ask it to fix anything that's wrong, and five iterations later you have what you want. Just like a developer.
Bonus point: It'll appreciate one of those "CSS is awesome" mugs, too.
I'm not a fan of Tailwind, but I can see that it's probably reasonable for code gen to be able to write / extend projects that use Tailwind, since it's in pretty widespread use. For a new project, maybe it could ask if you want to use Tailwind or just keep things vanilla?
Tailwind is almost too simple to bother using an LLM for. There’s no reason to introduce high-level abstractions (your “real” CSS, I imagine) that make the code more complicated, unless you have some clever methodology.
I don't really like Tailwind, but it's a really good fit for LLM tools because there's basically no context needed like you get with normal CSS inheritance, etc. What you see is what you get.
AI is great at any styling solution via system prompt + established patterns in codebase. Tailwind is just slightly more convenient since it's consistent and very popular.
You could prompt the LLM to define styling using inline `style` attributes; and then, once you've got a page that looks good, prompt it to go back and factor those out into a stylesheet with semantic styles, trading the style attributes for sets of class attributes.
Or you could tell the LLM that while prototyping, it should define the CSS "just in time" before/after each part of the HTML, by generating inline <script>s that embed CSS stanzas as string literals, and which immediately inject those into the document using CSSStyleSheet.insertRule(). (This can, again, be cleaned up afterward.)
Or, you can keep your CSS and your HTML separate, but also keep an internal documentation file (a "style guide") that describes how and when to use the CSS classes defined in the stylesheet. This is your in-context equivalent to the knowledge the LLM already has burned-in from training on the Tailwind docs site. Then, in your coding agent's instructions, you can tell it that when writing HTML, it should refer to the "style guide", rather than trying to reverse-engineer the usage of the styles from their implementation in CSS.
Counter-argument: the cascade in CSS was a massive design mistake and it shows even more in this particular case.
With LLM-assisted development you spend more time reading and reviewing the generated code. The cascade in styles is nowhere near as readily apparent as something like Tailwind.
I haven't seen cascades be a problem since the days of monolithic, app-wide stylesheets, and no project I personally know of works that way anymore.
Just about everyone uses component-specific styles with a limited set of selectors where there are very few collisions per property, and pretty clear specificity winners when there are.
If the alternative to the cascade is that you have to repeat granular style choices on every single element, I'll take the cascade every time.
I'm not saying they're equivalent. I'm saying that the latter is better, especially in the context of reviewing LLM output.
With the former, I need to cross-reference two different stacks (HTML and CSS) and construct a mental model every time I move between components. With the latter, I can simply look at one output (HTML) and move on with my life, knowing that the chances of conflicts/issues/etc are fairly limited.
You guys are advocating for keeping the semantic separation that we originally aimed for with HTML/CSS, but in an LLM world this is yet another distinction that probably "does not matter".
If you're arguing down that route, LLMs can bulk-apply style attributes exactly where they're needed. Every element precisely described, no need for CSS and style-sheets at all.
And then you'd wind up with a needlessly noisy approach, and then you will reach for Tailwind to do basically the same thing but in a more terse manner. ;P
I'm not really seeing or buying this connection. LLMs are capable of generating CSS which is untethered to finances. If tailwind went away it would be in Gemini's interest to not generate it.
I think that keeping tailwind alive means that Gemini Studio:
* Likely gets preferential access to new features and changes in tailwind, keeping it cutting edge
* Keeps a framework alive that Gemini is already good at
If a new framework becomes popular then the amount of training material / material already trained into the model essentially starts from 0.
The mature Frameworks that had plenty of openly available data to train on before everything became locked away are the ones we'll be running with for the next few years. It makes sense to keep it alive.
If the description for each tier is correct then it seems like Google AI Studio is an Ambassador only ($2,500 per month). This tier includes your company logo on the homepage. The Partner tier ($5,000 per month) includes placing your logo at the top of the sponsor list and Google AI Studio is at the end of the sponsor list.
Edit
Looking at the tailwind.css repo[1] they are a Partner. Not sure why they are at the end of the sponsor list in that case. Though now I look at the bottom of the sponsors page I see they repeat the Sponsors again at the bottom and directly indicate each companies support tier.
...which is not even a developer's salary. Pathetic from a company that makes billions and has surpassed even Apple in terms of market cap (yes, I know market cap means very little, especially in a bubble, but still...)
As part of FAANG, they should be donating like 10x that amount at least.
Disclosure: I am relying on your word, and do not know if there are more tiers above partner or not.
I've seen wildly different takes assuming how many people worked at Tailwind and what they did because "3/4 of the engineering team" is confusing without more context, so I decided to go through the podcast episode about it https://adams-morning-walk.transistor.fm/episodes/we-had-six... to see what the full picture was.
Remaining:
- Adam (cofounder/owner/original author of tailwind)
- Jonathan (cofounder/owner/product/engineering/early co-author of tailwind)
- Steve (owner/design lead)
- Peter [part time] (partnerships/ops/support)
- Robin (engineer)
There were 3 other engineers who worked with Robin to make up the 4 person engineering team before being laid off. The ones laid off were claimed to be given a good severance. It did not seem to clarify if the 3 owners are collecting a full salary or not. Importantly, that there is only 1 person remaining on the engineering team doesn't mean they only have 1 person who can fill the role of an engineer on the product.
No guarantees this is 100% accurate or exhaustive (or names spelled correctly - apologies in advance!), but hopefully it should be a lot better a reference than guessing what the company structure looks like based on the percentage laid off alone.
Not necessarily. We don't know what all their costs are, but it's a lot more than just salaries. I'm sure there was a lot of uncertainty in how long those sponsorships would last. There are any number of factors. Adam also stated in a podcast [0] that he laid people of now in order to ensure they he could give them generous severance packages. I'm sure people will have thoughts on that but whatever, I think that makes sense.
Hosting, marketing, other promotional stuff (conferences, maybe other?), there are still three people on the payroll and otherwise I don't know (which was part of my point) as I've never run a business like this before myself. Oh, subscriptions to AI services... that's pricey I hear ;)
Hosting for their documentation would only be a noteworthy amount if they chose to host on Vercel. Other than that it's a Hetzner box at $100 per month tops.
Not $6000/Year but $60,000/Year. Not sure if you missed a 0. Google AI is listed as a Partner sponsor which costs $5000/Month or $60,000/Year. Since Adam's audio and twitter post went viral, he has aded about 5 partner sponsors netting total of additional $300k/Year right there. And a few other smaller sponsors as well.
Overall, this has been a win for Adam and Tailwind.
It clearly was if you look at forward trends. In his podcast mentioned revenue was going down by a fixed amount per month, meaning an increasing percentage per month, and they had crossed the line to six months of runway before layoffs.
With layoffs they can meet costs but that might be true if the revenue decline trend keeps going for 18 months or so.
reply