If your business plan requires you to capitalize on more than 98% of the market, it's already a failure. It'll never happen.
As always, it's an "it depends" situation. If your userbase is largely luddites, then maybe you need to support 10+ year old browsers that can't be updated. Otherwise, you can probably just worry about people who are using computers new enough to actually update their browser once a year or better.
The tradeoff is code complexity and engineering time, vs having a larger market. And that's going to be an individual situation for every company.
Former chef here (2 Michelin starred restaurants).
5% is beyond plenty; it is awesome!
> works for 98% of the population, that means that it won’t work for ~150 million people
If I can only cook for 70 people a night, I most likely can't serve the ~150 million people who do not have access to modern browsers. And, those who do have access to those browsers and choose not use those browsers likely will not enjoy my food either. I don't need to make 8 billion people happy for my restaurant to survive. I only need to make ~1000 people happy who keep returning for anniversaries, birthdays, and the pure enjoyment of creativity with food.
I was a yacht chef for years and only needed to make 10 people happy. The technique I used was everyone eats the same thing, crew and guests. Saving money doing my own shopping instead of relying on provisioning companies that would send me food not handled correctly, my monthly expense went from ~$30k to ~$10k when guests are on board a month -- food in St. Barts was flown in from France everyday and expensive, circa 2005, so I could afford to serve the chateaubriand, osso bucco, and everything else to the crew. Therefore, what I wanted to eat everyday which likely was balanced, had lots of fiber, and healthier choices was the thing that everyone ate everyday.
People ask if the guests and owners would tell me what they want to eat everyday. The Mister was CEO of a fortune 500 company and when retired still chairman of the board. This guy was making billion dollar decisions everyday and the Mrs. was very busy also. The last thing they want to do is answer what is for dinner every night. They delegated the decision making to me. I always cooked what I wanted to eat and was always correct.
It is impossible to make everyone happy. Don't try -- it will break you.
> It is impossible to make everyone happy. Don't try
The older I get the more valuable this lesson
>I always cooked what I wanted to eat and was always correct.
This is similar advice to what I've read recently about the target audience for technical/blog writings - only write to one person and it's best if that person is you.
Yeah, when I read the article I thought "Great, more paternalistic advice that pretends we have infinite resources/time/money."
Anyone who has ever done website or mobile development knows there is a huge array of browsers and platforms, and supporting the very long tail of configurations is sometimes nearly impossible, let alone almost never cost effective. When I last ran some web apps, we'd see substantial numbers of errors just due to f'd up (or sometimes outright malicious) browser plugins. I'm not checking every random configuration of browser plugins against my website to ensure they all work.
Like you say, it really depends, which is why I hate blanket directives like the article gave. If suddenly 2% of people couldn't log into gmail, that would be a huge deal affecting 10s of millions of people. As the adage goes, "You're not Google", and for a lot of small e-commerce websites trying to fix someone on some decade+ old browser just doesn't make sense (and, as another comment mentioned, these users are often the least likely to convert in any case).
He wasn’t actually giving a blanket directive. The article was suggesting that you think about whether 98% is actually good in your use case by doing the math and thinking.
Yeah, but the guy writing the article seems to be bad at math and thinking.
Can I imagine a venue kicking out 2% of their former clients on some criteria? Absolutely yes.
Kicking out 2% of website visitors may still be totally reasonable if the cost to serve them is meaningful, or if they are less than 2% of revenue.
His defense for 98% being bad is that some CSS thing people were arguing about only had 70% coverage on his website.
Our b2b dashboard didn't support Safari for a while at all and it was entirely not an issue because everyone had a simple workaround to just use Chrome and the dashboard wasn't really the main product.
I think you're not being generous in your interpretation. How I read it he could be talking about the number of 9s a server's uptime is. If you pay for 1 9 you'll lose a lot of customers. Hell, true for even 3 9's. Look at all the complaints about GitHub this year. 5 9's is the standard and that's 99.999%!!
The thing is that it is all context dependent. A lot of times 0.1% is nothing and can be ignored or pushed off. But sometimes that 0.1% is worth billions of dollars.
The point is that data means nothing without context and interpretation. If you're lazy in your analysis you are going to have lots of issues
Except there was 0 analysis of the cost/benefit of supporting the end of the long tail, instead it was just economics-free shaming. Of course, you want to see who those 2% of users actually are. But nowhere in this article did I find any advice I'd actually want to use in a really business scenario.
Isn't the end of the article saying that their users are mainly in that tail? Seems to be exactly what you say: figuring out who those 2% are. In the OP's case, it's 30% of their users
Respectfully: To me these just sound like excuses.
I can write a web page that works correctly on all browsers. We all can. That web page won't do much of anything, but it's possible. So, there is a baseline "target subset of HTML/CSS" that gives you 100% coverage. From there, it's purely developer choice: When you add something, are you choosing technology that is widely available and supported, or are you choosing to throw 0.N% of users under the bus for some benefit (development speed/comfort)? Obviously, it's a trade-off, and no final product is going to work on 100% of configurations. All these choices deliberately made during development add up to the product you deliver at the end of the day. All I'm asking is that we recognize browser/platform incompatibility/inaccessibility as choices and not some inherent property of software.
When a developer says "it's too expensive to develop this for a dozen configurations" that just means they have already chosen to make their applications inaccessible, and are justifying it after the fact.
The inherent property of software is that the only way to be sure your software works on a particular platform is to test on that platform.
There is not a baseline target subset of HTML/CSS that reaches 100% coverage that can be statically verified. HTML tables usually work in old browsers, but there were subtle bugs in old versions of Internet Explorer, bugs that you're especially likely to hit if you're using tables for layout (because you can't use modern CSS layout features). The only way to be sure that you didn't trigger one of those subtle bugs is to test your web app on ancient browsers.
The cost of reaching the last 0.N% of users rises with each platform you add to your test matrix. It costs money to test your web app on Internet Explorer. It costs even more money to fix bugs that only affect Internet Explorer.
I think you can't deny that doing that work is expensive. The question then has to be whether that work will repay itself somehow. But the last 0.N% of users will only provide ~0.N% increases to your revenue. Unless your revenue is astronomical, you can't afford even one full-time engineer to test and fix bugs on 0.N% of browsers.
But again you're flattening all browser compatibility into ancient browsers that 10 people use and saying closing the end of that gap is far too difficult to justify the time and expense required, but what exactly are we talking about there? What broke? Can people on IE6 get the majority of the content but the subscription popup is broken, or does the page fail to render entirely and leave them completely high and dry?
It's impossible for me to engage with this thought experiment without thinking of hundreds, perhaps thousands of sites I've been to (their provider rhymes with Rare Mace) where literally nothing works without JavaScript, and I don't mean animations are broken or images look funny, I mean the website is a white fucking screen because literally everything is loaded in via esoteric new JS frameworks which aren't firing because the engine choked on an analytics package and died before it even got that far, and that site is showing...
... text. Formatted text. With perhaps some pictures. And animations nobody outside of marketing cares about.
So like, is your site broken because it's legitimately cutting edge shit, doing difficult work, and providing an answer to a complex user problem? Okay cool, IE6 support is probably not a high priority, I agree. Or, is it an utterly run-of-the-mill ad for your company's services, that was made incorrectly by people who don't know what they're doing, and/or have overengineered it beyond recognition of the actual problem it was trying to solve? If it's that one, then put your shiny toys down, rebuilt it simply and with regular tooling, and THEN see how your IE6 compatibility is doing.
I'll tell you this much: I've NEVER tested for IE6 on my personal website. I just did. Navigation is a bit wonky and my blur filter effects are broken, obviously. But you can still read my posts and navigate about.
This goes to show you’ve never been anywhere near the actual development cycle of a real-world front-end web application. “So, there is a baseline "target subset of HTML/CSS" that gives you 100% coverage.” Oh really? Which subset? Which “HTML/CSS?” And 100%? Absolutely laughable.
Do you know any browsers which don’t support https://motherfuckingwebsite.com/ (if you remove the google traffic tracking js that’s iirc tacked on at the end of the page (or maybe I’m thinking of better mfing website (which adds a tiny bit of css)? Idr.)) ?
I get that asking a commercial website to be as basic/supported as that website is a big ask. I don’t think the other commenter was saying that such websites should reach 100%, only that they should start from there and sacrifice only as much as is necessary.
That is neglecting network effects. Less than 10% of the US population is vegetarian, but if a restaurant doesn't have any vegetarian options they lose business not just from that 10% but from any party that has a single vegetarian. Likewise, if a website has any social network effect, disregarding a portion of the population will decrease use from a much larger percentage than those directly affected.
Furthermore, even if your site functionality has no social networking component itself, all business are subject to the network effects of word of mouth. People are much more likely to share negative experiences that positive ones, so if 1/50 of people find your site to be broken, then a considerable amount of feedback online will be negative and will harm your reputation for the entire market, not just that 2%.
Finally, in business you have to work hard to win over even a small portion of your total addressable market. Artificially decreasing your TAM can be fine if it is an intentional strategic decision to focus on a specific market, but pointless to exclude people without good reason. Not having vegetarian options at BBQ restaurant in Texas is harmless - no one goes there for that, but if you are running a more general restaurant it would be foolish not to have a few vegetarian options. Excluding people because your web developers are too lazy to use approaches that have worked fine for the last 20 years and need to use the new shiny is even more foolish.
Yeah but as long as they’re not public services, the business can just decide to not serve these clients. There’s no recourse possible for these clients.
For public services you can tell people to use another device, or provide a way to schedule an appointment in-person that is accessible using old browsers.
Seems like you’re getting hate but this is how the world works. Uber just has to support the devices that their market uses. And especially for visas the government is free to make the public bend to whatever arbitrary requirements they develop for using their byzantine systems.
You you can make a law that requires such businesses to use perfectly good technology standards that are widely supported instead of whatever EEE crap the latest Chrome comes with.
I remember years ago when websites would have buttons "best viewed in Internet explorer 4.0". We're past those days, but only because it's implied "use chrome, maybe webkit, we didn't test on Firefox"
I agree, but one thing is to demand all your users to be on the latest Chrome, and another one is to support browsers that are no longer maintained and contain security issues (IE). If we discourage people from driving old insecure cars, we can also discourage people from using old insecure browsers.
Ideally we could section off some minimal baseline functionality that could be implemented more securely than the whole modern stack. Just HTML and a little CSS or something. Then mandate that, at least, services provided by the state should be accessible in this baseline functionality mode.
It's also super easy to apply it wrong because going above X% in one area normally means sinking below X% in another. I think a clearer way to say it is that sometimes, you have to be almost perfect, and 98% could sound like almost perfect but it's way too low. But definitely the things you don't need to be perfect far outnumber the ones you do.
It’s very difficult for the average person to use a ten year old browser; in fact I’d offer that the only way to use a ten year old browser is to be an expert and do so intentionally.
There are plenty of people with old android phones with no free disk space using ancient browsers.
There are plenty of people still using windows 10 with updates turned off or wedged for whatever reason.
These people just use the sites that work. They aren't computer experts, and might not even realise why half the internet doesn't work - they just think that's the way things are.
I think you're conflating "old device" with "10 year old browser" here. E.g. for:
> There are plenty of people still using windows 10 with updates turned off or wedged for whatever reason.
It'd be "the pool of people who installed Windows 10 immediately in the launch year but somehow accidentally blocked their browser from updating in the 10 years since, weren't able to fix the issue as the web slowly stopped working, and are stuck using that computer anyways" not "the pool of people still on Windows 10".
The latter won't have many non-intentionally pushed into "10 year old browser status" until 2038 at the earliest.
When will Microsoft stop doing Windows 10 security updates?
I have a 10 year old laptop with 32GB of RAM, GTX 970 6GB and an SSD.
For many things it is better than any 16GB work issued laptop (that often come with integrated cards - so you wont be able to run any AI model on them). Although the old ssd is starting to show its age (perhaps a full system reinstall would solve this, other option is to get a new one).
The old laptop does not have UEFI so it could not get the (free for some time) Windows 10 to 11 upgrade.
I am smart enough to install Firefox on it and update it, but the official Windows 10 updates will stop coming soon.
I was effectively kicked out by Microsoft because my device is "old". Even if it is beefy enough to browse the internet and watch youtube.
Note that I bought a new beefy laptop now that I hope to use for the next 5+ years (hopefully more), but who knows if they wont come out with some new idea, like UEFI 2.0 for Windows 12 - that again will mean we need to buy new hardware and new windows.
On an unrelated note I want to turn the old laptop to a linux machine - for fun and learning, but dont have the time for that.
> When will Microsoft stop doing Windows 10 security updates?
Last October, unless you are on an LTS type version - in which case somewhere between 2028-2032 (depending on the exact version). Edge will still update until at least 2028 even though the OS stopped receiving updates... though I'm not sure I would wish either of those usage scenarios on someone :).
> The old laptop does not have UEFI so it could not get the (free for some time) Windows 10 to 11 upgrade.
The free registration, they never actually axed the program at the end date https://techcommunity.microsoft.com/discussions/windows10spa.... Just make sure you use the same edition (e.g. Pro -> Pro). You also don't have to do an in place upgrade to do it. In your specific scenario, you would have to bypass the install requirements in the installer to get around the lack of UEFI though.
Hope that helps, Windows 11 is definitely a bit of an annoying step (even once it's installed).
While I agree with your general gist and definitely your final paragraph,
> There are plenty of people with old android phones with no free disk space using ancient browsers.
How many people have 10 year old phones? I've got an 8 year old iPhone XR which I keep around as a backup/travel device because it's not worth selling, and the battery is… not happy even in airplane mode.
For me to have a 10 year old mobile browser, I'd have to have kept the iPhone SE 1 (or was it a 5c?) that I bought second hand in 2018, and not upgraded it since I bought it. I got rid of it because the battery wouldn't hold a charge for 10 minutes.
or windows 8[.1], or windows 7, or windows xp... there's a lot of old hardware out there, not every is rich/tech savvy (see also: old people) enough to purchase a new device even 10 years later
I've a Xiaomi Mi 6 phone (2017 model) that I still use as a fridge-mounted shopping list and it's using the latest version of Chrome. I think it would be quite the stretch to find a user using a 10 year old browser.
Eventually you are making things worse for your vast majority of users when you have to e.g. make them install a native app for a video call or use a TLS version that is broken to support those Gingerbread Android phones
It's fine to support such configurations by accident, but you shouldn't try to support them intentionally. You will end up dropping support eventually regardless but the skeletons will live on in your codebase as tech debt.
The needs of the many outweigh the needs of the few.
I'm not sure this is a realistic use case to try and support. A 10 year old android phone likely has a battery life measured in 10s of minutes, and really isn't something we need to worry about.
You get the guy at the mall to swap in a new battery for $50 in most parts of the world. Its cheaper to do that every few years than buy a new phone, and I have several family members who refuse to upgrade on principle, because modern phones grew too large for their hands/pockets
There’s also being poor, or working for an organization that’s poor. In both cases the obsolete(?) software might be various degrees of intentional, but the alternative is usually worse anyway.
That's a choice by the people who make websites and browsers that forces the average person to buy a new computer. If we all cared about letting people use old computers, this wouldn't be the case.
I support a bevy of older people with older computers, senior-citizen types. Upgrades are expensive. Monetarily, but also in retraining. These folks don't want the latest UI, they want what is familiar, and retraining is super annoying.
Computers that were EOL a few years ago, running ten-year-old browsers, are absolutely routine.
I doubt that for the hackernews audience that the age of the browsers is an issue. I would say in practice that 90% is nowhere near what is achieved - that it's closer to 90% and amongst the hackernews audience probably lucky if it gets to 50% because of our use of anti-tracking and ad blockers.
Respectfully, you may live in a bubble of fairly tech-savvy folks. Most of my extended family run 10+ year old laptops as their daily drivers. Their phones are often on the second or third battery replacement. They don't install updates very often (if at all). For the most part they are still more proficient with tech than many of their peers.
The same way people generally equate luddism with anything. By entirely misunderstanding what it was to make a point that sounds snappy without all of that boring understanding history stuff.
Sometimes you want to give certain people an incentive to not be your customers because your company would be entirely better off if they were someone else’s customer.
This is why discounts are often a bad way to get customers, you don't want the customers who (only) go for discounts, they're often worse (and not just their sensitivity to prices).
That's a very mercenary attitude. If less than 2% of your (potential) users had a particular disability, would you implement accessibility features for them without being forced to? I'd argue that it's the right thing to do. Some restrictions like using an old browser may be more or less a choice, but it's still a much better look to be inclusive.
I use a browser that had its last release less than a year ago.
It doesn't do CSS, it doesn't do javascript and I love it.
I also love to be able to use the websites I need.
If your business plan is selling software to people, 98% is not plenty at all.
If your web app crashes one out of every fifty times I launch it, it's not good. The business side of things is reasonable to prioritize right up until it isn't.
> If your web app crashes one out of every fifty times I launch it,
If you're using a different, random browser every time you access our web app, you're in a minority far smaller than 2%. Or you've shared your account with 50 friends, and we'd prefer that you do that with someone else's app anyway.
Yes, the article discusses how 98% is good in context and bad in others. You just... restated the article but reversed the premise, resulting in an overly optimistic yet anti-social framing.
After Christmas this year, I removed the tree from our living room, and in the process of being moved, it shed of needles everywhere. I swept them up, but I missed a few areas on my first pass. So I did a second pass, but when I looked again, I saw there were still a handful left. It struck me how removing >99% of the needles was nowhere near acceptable! Lots of cleaning jobs are like this, I suppose, because even a tiny mess can be visually distinct. In fact, as you approach 100%, the remaining mess stands out more.
It's like those antibacterial soaps that remove 99.9 percent of bacteria. It's not obvious whether that's number of bacteria or type of bacteria but either way the remaining ones are probably in the millions and of many types.
While I agree with the general sentiment, the problem here isn't developers not being familiar with statistics, it's the simple fact all of this is profit driven most of the time.
I tried to purchase tickets for an event last week. I had to go through Ticketmaster as it was the only official way. They forced me to verify my account using a phone number, but whoever they were using for messages wasn't able to deliver a code to my number. I tried a few numbers from our household and they all failed.
Searching for this issue yielded a bunch of results, so it was definitely a known issue, but there wasn't anything I could do, really. To them, it's simple math. Another SMS provider that covers my (tiny EU) country might be more expensive. They might be avoiding scammers that used my mobile operator in the past. Whatever it is, it would probably cost them more than they lose in ticket sales.
Without some government entity to force them, they don't give a shit about me being able to see an event.
Infrastructure should not be (purely) profit driven. To improve profits for train operators, the simple option is to cut lines serving small and rural communities. The economics are much worse than serving large cities. Same for cell coverage and broadband internet. Most profitable is to just not cover a few percent of the population.
There is a point where technology becomes foundational for participating in society. And then it needs to be regulated to be available to everyone.
Meanwhile in Britain in the 1960s, this cost-cutting closure of local rail lines did happen: https://en.wikipedia.org/wiki/Beeching_cuts ... at a time when the trains and rail infrastructure had been publicly owned for about 15 years already. It doesn't dispel the incentive.
I have never heard the name Beeching spoken with more venom than in Wales, I used to live in Mid Wales and now I live in Cardiff. If I wanted to visit where I used to live by train, I'd have to do a multi-hour detour of a sightseeing trip around the West Midlands, deep into England. The Beeching Axe literally cut Wales in half and the consequences are felt to this day, even though there wasn't much outright salting the Earth to make sure the terrible decision couldn't be reversed as there was in some cases, the Welsh government doesn't have the money to reinstate the Aberystwyth-Carmarthen line which would deal with a lot of these north-south issues.
Also it's not just Wales where Beeching carried out intense vandalism of public infrastructure, the South West was severely affected too. Basically anywhere that wasn't London-centric suffered, which is the British government to a T regardless of the party in power. The general assumption was that private cars would replace the local trains, which as someone who currently doesn't drive for medical reasons really makes my blood boil. While perhaps not in intent, in effect the Beeching Axe was a profound kick in the teeth for the disabled.
I’m not arguing a rail has never been closed. I’m arguing that being a small difficult market doesn’t exclude you from being served by marketed forces.
Did nobody ever operate rail to those cities again due to them being rural?
Rural cities? Come again? What was demolished remained demolished, yes. Unclear on your point.
Oh I see (thanks to that edit). I mean, I agree with you. This is just the additional amusing detail that government-run services are still subject to a sort of dulled and homogenous version of market forces, which can be worse for small local concerns because it's less responsive. Though, admittedly, a giant corporation can simulate government very well, and can be just as crap.
> A few of these routes have since reopened. Some short sections have been preserved as heritage railways, while others have been incorporated into the National Cycle Network or used for road schemes
> Some, such as the bulk of the Midland Metro network around Birmingham and Wolverhampton, have since been incorporated into light rail lines.
Furthermore, the transformation to other transportation forms suggests this event also coincides with changing technology.
The airline industry gets huge subsidies in most countries to operate more rural/less profitable routes. Most of the passenger airports in the US for instance would not be viable without subsidies (most flights go to a few profitable hubs, but the long tail or airports forms the majority by count).
Amazon delivers everywhere because USPS subsidizes package delivery to unprofitable areas. You don’t get next day prime except in a relatively small proportion of the country (by area).
You cut off the OP's sentence of that being examples for "Rail companies" and then added your own examples. Please be better at comprehesion and editing comments
"In practice Amazon will deliver packages across the US." You know they use the Postal Service for last miles often? And the Postal Service is required by law to service far-flung places. So Amazon is only, in practice, delivering packages to those places due to USPS.
Yea, when this topic comes up on HN, a lot of the usual excuses appear: It's hard to write software that works everywhere! It takes too long to test on more than one browser! It's too expensive to hire someone to port to X platform! We're trying to bootstrap in a hurry--there's no time to support Y people! Everybody should just upgrade to the latest, why should we test on older systems?
These are attitudes come from the privilege of never having been in that 2% of users, and I think we have them until that one day we end up being in that 2% and can't use the system ourselves.
When I wrote iOS apps, I was constantly infuriated by the tech lead's and product management's insistence to only support the current major OS version and the previous one. Engineers would take time out of their day to rip out support for iOS X-2 (rather than fixing bugs, working on performance or features)! Code that wasn't in the way of refactors, wasn't really buggy, wasn't harming anything architecturally. To me, it just looked like Griefing The User. I didn't get it and I still don't. Now, I have a 8 year old phone, and lo and behold, half of the apps in the AppStore don't even work on it anymore because of this attitude, so I guess I'm firmly in the 2%.
I think when you say “profit motivated” the underlying principle is actually utilitarianism; doing the most good for the most people, for which profit Is merely an imperfect proxy.
This might be a cynical take, but I doubt Ticketmaster (and most of these other examples) are motivated by doing the most good. Their underlying principle is extracting the most value for shareholders at any cost.
Some people argue even that behavior ends up producing the most good, but I cannot accept that level of mental gymnastics.
There is a limited amount of engineering resources. Don’t you agree they should try to use them for the benefit of the most people? That’s not to say they should exclude groups. But a small minority path probably gets less work than a main path. Would you agree these prudent or not?
The broader point is that percentages can be misleading, and are often because of that. It makes things sound better. But usually, the more accurate thing to do is use odds-notation ("1 in 50" instead of 98%). Percentages have a kind of singularity at the edges, where small numerical changes have massive real effects. Going from a success rate of 98% to 99% doesn't sound like much, but that's failing 1 in 50 vs 1 in 100. You've doubled the efficacy.
It's contextual depending on which end of the probability is the desired outcome.
SPF is like this. SPF 30 allows 1/30th (3%) of the UV through it, blocking 29/30ths (97%). SPF 50 (2%) allows 1/50th, blocking 49/50ths (98%). Using the denominator, in this case, expressed the efficacy much more intuitively.
Comparing SPF 30 vs 50 better expresses the increase in efficacy than 97% vs 98% does.
One could also express it as the amount that passes the filter but it is Sun _Protection_ Factor not Sun _Transparency_ Factor.
On the other hand, it's completely unintuitive that "Sun Protection Factor 30 = 1/30th of UV light passes through it", and I had no idea there was any correlation before this comment.
The only intuitive bit about that system is "bigger number does more." I feel like I would have more readily understood it if it just said "blocks 97% (or 98%) of UV light" instead of numbers I assumed were somewhat arbitrary.
In many cases, odds are indeed better than probabilities, namely when a small difference at the probability edges indicate a large real difference.
But sometimes small differences at the edges are indeed small, particularly for expected values. Say you win 100 dollars with 98% probability vs with 99.9% probability.
The expected value (probability * dollars) of the latter is only slightly higher than the former ($99.9-$98=$1.90) even though the difference in odds is very large: (0.999/0.001)/(0.98/0.02)≈20.39. So the 99.9% probability is odds 999 to 1, 98% probability is 49 to 1, so the former has more than 20 times higher odds, but the expected amount of money you win is almost the same.
Reminds me of the Meat Loaf song “Two Out of Three Ain’t Bad” which was released in Japan as 66%の誘惑 “66% is Good Enough” etc https://www.discogs.com/release/8303076
There are many ways to translate it "66% Seduction", "66%'ll do" etc. But debating the translation misses 66% of the point that it's just a fun fact ;)
I think there are broadly two types of problems - ones where you get partial credit, and ones where you don't. The restaurant example is one where you don't get partial credit - 98% of food being safe isn't enough, it's all or nothing. Paying your employees - all or nothing, you miss a paycheck once, it's a huge problem.
CSS on a website, however, you CAN get partial credit (to an extent). It may not be perfect, but it's at least theoretically still providing some value partially.
I think knowing what kind of problem you're facing is really important when it comes to measuring percentage of "complete".
Reminds me of statistic where most customers already stop going to a particular supermarket if it stops carrying a handful of the items they want to buy
It may sound like a small deal to not carry one brand of chocolate paste but if some customers then also don't buy the 12 other groceries they need at your shop, it doesn't really matter that it's only 2% of products that were discontinued. Supermarket products are so stable not because nobody ever makes anything new but because changing a small percentage frustrates customers
If I can't order from some website, I stop trying. Maybe next week the ESR browser gets an update and it works again but by then I'm not clicking those links in the search results
Yeah, this is sort of the problem with a percentage-based approach. You are better with a "pick the top 3 implementations" in most cases - that bags you Webkit, Blink, and Gecko in the browser example, and since we're ignoring the long-tail in either case, that's probably good enough
One thing I wonder regarding browser market share is always: How is it collected?
I assume Firefox users over proportionally use privacy extensions.Thus they overproportionally won't appear on Google Analytics and similar places, which for some statistics reduces the numbers even more than reality.
Most common methodologies were already garbage even a few years ago, with general consensus being that Firefox was probably undercounted by at least 30%; and in more technical arenas, it can be a lot higher, perhaps up to 80%. (Unfortunately, that’s still probably not a lot.)
Even back then, Chrome was commonly being significantly overcounted due to user-agent string shenanigans. And these days I’m confident (without any figures, or even relevant recent commercial experience) that will have increased sharply. I expect that it is now massively overcounted, at the same time as Firefox is significantly undercounted.
Statcounter is particularly commonly used, and honestly one of the worst. Its mobile figures, for example, are completely useless because they don’t report browser versions. CanIUse figures (which lean heavily but not solely on Statcounter) are lousy and unrealistic due to some of these sorts of issues, and just generally being out of date. (I examined the matter closely on 2023-05-27 and the figures corresponded with being about six weeks behind.)
There's likely always a line somewhere where effort becomes way out of proportion compared to getting that last mile effort.
Arguably, if you only have a website, that won't work for anyone without access to the Internet. So then you should have a physical presence in each of those people's location, and arguably you shouldn't provide any improvements that give me more than physical presence does, so you should not have the website in the first place, since people without the Internet can't use it or you have to keep your website without any improvements over the physical office.
If you only have a website, arguably 2+ billion people currently wouldn't be able to access it.
And it seems odd to bring 150 mil people as an example, when the baseline should be at least 2+ billion with website only.
Not using bleeding edge web "standards" is also hardly comparable to the office of having a physical presence in every locale though. Software developers seem to be uniquely good ad overvaluing small convenience gains for themselves compared to the pain inflicted by breaking compatibility multiplied by the set of affected users.
Most websites are glorified rich text or forms. And most of the rest should be that. This is even more true for the kinds of websites people need to use rather than some designers art experiments. They don't actually need all these fancy features except to make their developer's work slightly easier.
A lot of the time it's not software developers who define it and it's about the budget. Usually it's the product decision. E.g. an agency who has constant recurring experience with it might indicate that supporting N% browsers costs this much with cost increasing the higher the percentage. E.g. you want to use CSS flex you might get 97% to 99% of all World users, because there's going to be certain percentage for which it won't work.
If you claim to support those old browsers you will need to test with them too and be able to easily spin up etc It's not just knowledge of what you can or can't use, it will be extra permutations of testing everything.
I was heading to dinner with a friend who worked in infra. Google maps said we could bike across town in 20 minutes. He suggested we leave 40 minutes ahead of time and grab a drink at the bar if we got there early. When I raised an eyebrow, he goes:
"What, do you not live your life based on 99th percentiles?"
I tend to think of work as upside-based on downside-based. Most feature work is upside. 10% lift on conversions is great, 40% adoption is winning, and you're playing for the moonshot of 10x. Infra work is downside-based. 98% secure, 98% available, 98% acceptable performance -- that'll all failure. Winning means the thing works as expected and nobody notices.
Not everything sorts cleanly into upside vs. downside, but a lot does. Allocate your risk accordingly.
When I had appendicitis seven years ago, I went to the emergency room, found out I would need surgery, and was (I think understandably) scared.
I texted a friend about that while I was waiting and he, trying to make me feel better, said something like "Dude, appendectomies are pretty routine, there's probably like a 99% survival rate" for them.
That that did not make me feel better. If I asked you to guess a number between 1 and 100, and you guessed corrected, I would only be a little impressed. 1 in 100 things happen all the time!
Obviously, I didn't die, and it worked out pretty routinely, but I always think about that particular situation when I hear about things being "98% successful".
The close-to-home example that came to my mind while reading this is GPU programming, where the percentage multiplies. Maybe there are other similar examples where a large sounding percent needs an exponent and shrinks?
With CUDA you try to keep all threads doing the same thing. Sometimes that’s very difficult, but if each thread does the same thing 98% of the time, is that enough? Well since there are warps of 32 connected threads, you might expect the probability that any thread in the warp diverges to be .98^32, or 50% of the time spent with one thread in the diverged code. 50% still doesn’t sound that bad unless threads diverge at different times, and then 50% warp divergence might mean a 16x slowdown overall. 98% isn’t enough in this case.
The other thing to keep in mind is that if you have a policy of considering 98% to be "close enough", then it only takes 35 of those decisions to remove over half the population. And it'll be exceptionally difficult to work your way back up, because each improvement will be minimal!
(Of course, this assumes that each decision is independent, which, when you're talking about browser support for CSS, is certainly not the case.)
Its hard to find these stats now (need to use Android Studio), but about 10% of android users are on Android v9 and below. Android 9 support was recently discontinued by Chromium, such that they cannot update past Chromium 138.
So, 10% of android users dont have web features beyond, at best, June 2025.
caniuse.com does not track this - they lump all Chrome for android together in the latest version.
This is painful as someone who wants to make use of some very useful, powerful new features, but is targeting people who are most likely to have old, slow, not-updated devices...
Which seems to indicate about 4.8% are below Android 9.
But also, Firefox for Android still supports Android 8, of which there are 1.7% below.
There's a discussion to be made here about who is dropping support for these users, is it Google (and especially Apple, who doesn't allow other browsers on iOS) or the site owner? Especially given how insecure it is to use outdated browsers.
You're misinterpreting the stats. Those are not "updated" - they're from Dec 1, 2025 and are the latest that are available from Android Studio (I just checked again).
If you add up the distribution inclusive of Android 9 (which is what I was trying to refer to, perhaps unsuccessfully), it is 9.2%. That corresponds with the 90.7% Cumulative Distribution for Android 10
If you're arguing that it is Google who is dropping support/making people have insecure browsers, we're in agreement. As with Safari (or at least those at Apple who control/fund Safari), the Android team is very anti-Web/Chrome. Lots has been written about all of that at https://infrequently.org.
Also, since this article/post is about 98%, Android 7 and below account for 2% of usage still, and its max Chrome version is 124, which was released in April 2024.
Over the last year, only ~70% of the visiting browsers supported the new CSS features. Even thought this feature is “widely supported” in a general audience, for my audience, it left out 30% of the visitors.
That mirrors my experience using web pages to order things. They work ~70% of the time. Often while I sit there repeatedly pressing a 'buy' button that does nothing, or playing around with my browser's development tools to try and fix it client side, I wonder how often physical stores cash registers fail, in comparison. Just yesterday I tried to order from a site called buttonworks.com, but the order page only worked in Firefox, and the account/payment pages only worked in Chrome, and I gave up on trying to copy cookies from one browser to another and went with purebuttons.com.
> Can you imagine a venue refusing entry to former clients 2% of the time just because they’ve “improved their experience”?
On the flipside, if a client enters enough venues that refuse entry to them because of something the client can fix on their end, eventually the client will probably change themselves -- "If you meet one asshole during your day" and all that.
To bring the analogy back to browsers, if a website works fine for a client, they'll have no pressure to change anything on their end -- why upgrade from Windows XP when the site looks fine in IE6? Eventually the client is forced to upgrade -- normally by their operating system. That works, but what if the operating system adds another 2 years to their end of life -- do you just hang on and hope the shim / hacks you added hold?
Pragmatically, often users without new browsers and OSses are not the best clients. In ideal world, sure, I want to support everyone. In a world with limited resources, I would better spend my time elsewhere.
There are cases when providing service for remaining 2% isn't profitable. It's better just say "sorry".
I used to work in company where we have spent a lot of time making custom fixes for our software in order to work-around wired hardware/software bugs on machines of individual customers. Yes, we provided service for remaining 2% or so, but in cost of slowing-down overall product development and not making our product better for remaining 98%.
So how about also getting rid of all regulations for wheelchair friendly infrastructure while we are at it? Way too expensive and it is even less than 2% of the population that requires it.
Great idea. We should reevaluate how effective these policies are. The ADA favored visible signs of disability accommodation for political reasons rather than the most essential services. Many historical sites are not available to the public due to this regulation.
Serving a website is different than serving food or providing safety features. Web design can use progressive enhancement and detect available features to use as they are available.
With a website, you can have the "real" layout, but when someone is blocking your JS, you can fallback and still provide content.
We won't get every mobile application working on old browsers, but we can offer something to the end user. Even a page that lets them know they are missing out.
The problem is webdevs don't do that. They say "98% is fine" and then don't program any fallback, or worse, actively block users that don't meet 100% compatibility.
Probably because that extra 2% (or whatever figure) isn’t terrible valuable in the first place. Sometimes the best answer is “they’ll need to update their stuff”.
The whole premise of the article is fallacious analogies and mixed metaphors.
Yes a restaurant that poisons 2% of its customers is a bad restaurant. A restaurant that has nothing for people who are strict kosher, strict halal, strict vegan, or have severe multiple food allergies is not a bad restaurant. There may be 5% of people who simply can’t eat there because the kitchen cooks pork and there’s peanut shells on the ground but their idiosyncratic requirements don’t dictate the experience of the other 95%. Or 90%, or what have you.
I usually go by CanIUse's global percentage when deciding if I can utilize a new browser feature, and right now it's 90.81% (https://caniuse.com/css-nesting)
That's a bit lower than I would be comfortable with, however not that bad, we have been even considering switching all our images to AVIF:
https://caniuse.com/?search=AVIF
Global statistics don't matter. What matters is current & potential visitors to your site. And how badly you want them served.
A professional B2B car parts dealer has a very different user profile than say, a local news site in rural Africa.
A site selling concert tickets (for popular artist) probably won't care if site doesn't work for 5% of visitors, the tickets will just take a bit longer to sell out.
But otoh I'm sure there's many businesses out there who wouldn't mind a 2..5% bump in conversion ratio for very little effort.
Personally I don't care. If I'm out to buy something online & webshop doesn't work or takes too long to load, my purchase goes elsewhere.
And ofc government services should be very conservative in this respect.
Edit: and yes, graceful degradation. It's ok if site doesn't look as intended but is still useable for that 2%. And eg. I love that some news site have a text-only lite version.
With images specifically it’s a tradeoff. For image heavy sites like mine, the performance gains provided by webp for the 96% outweigh the potential degradation for the 4%. We get a fair amount of support tickets but not a single ticket has said “I can’t see your images on my X device” since switching to webp (~6months ago)
It's really easy to serve fallback images to browsers that don't support AVIF, either client-side using the <picture> tag or server-side via the Accept header. Which mostly eliminates the concern from the article, since you don't have to drop support for any customers.
It kind of makes me wonder if anyone has made a build system / framework that serves nested CSS to modern browsers, and falls back to a preprocessed CSS file that removes all the nesting for older browsers.
The author doesn't say you can't use features with 98% (or even less) support.
What they say is that you have to ensure that your site still works for the remaining users, through graceful degradation.
If people have new fancy browsers, use their features to make the interface jazzy. If they don't, ensure that the site still offers its core functionality to them without the fancy features.
For anyone who didn't know, caniuse lets you upload your actual usage data. Then for any capability, next to global support you also see the stats for your user-base.
Be careful with new image formats because they also have to be supported by the rest of the user's workflow. The browser might display it, but if it cannot be added to the photos app, or it's not understood by their image editor, or cannot be shared on their preferred chat app, then that's a fail.
98% isn't much, but it's also not little. It's just a number, and numbers don't have a meaning without an interpretation. That's a fundamental logical feature, but hardly a special insight.
If a fancy new feature can’t degrade gracefully, then 98% isn’t “widely supported”.
Close, but the other way round. Don't avoid a feature because it lacks good enough support. Write code to progressively enhance the experience if the feature is supported in the user's browser. If you're not willing to do that, then don't use the feature.
Progressive enhancement today means you can use pretty much any browser feature you want. You just have to do a bit of legwork with some @supports or JS prototype checking after doing the basic version first. It's not really much extra work.
If that 30% of visitors with incompatible browsers has no overlap with the target audience you wish to reach, then what does it matter for your business?
Of course, you do not know this exactly, but the point is that it's easy to look at the wrong statistic and come to conclusions that are not necessarily useful in some context. The lens matters just as much as the percentage, if not more.
On the other hand, if you design something to include 100% of people, you will fail, and you will not give your core audience as good of an experience as they could have gotten.
So I like the opposite approach. If there's literally one guy on the planet, and this article/app/idea changes his life... what would that look like?
Decisions are about tradeoffs. 2% of users staring at a broken screen is bad, of course. But what is the _cost_ of not using nested CSS? The responsible way to make a decision is to consider both sides of the tradeoff.
The biggest thing missing from this analysis is "is there a business case for supporting those 2% of users?". (Maybe, maybe not.)
The second biggest thing is progressive enhancement. The author picked a CSS feature (nesting) that is basically all-or-nothing: the site will basically be entirely broken for those 2% if you swap Sass for native nesting. Most features aren't like that; maybe the site won't look pixel-perfect on old browsers, or one bit of functionality won't work, but by and large it will still be functional. In those cases, I think it's a much easier decision in terms of where to draw the cutoff.
> If a website uses fancy new browser features and works for 98% of the population, that means that it won’t work for ~150 million people.
Yes, because all of us have website serving, checks notes, the entire world...
98% is probably in the neighborhood of 8% more than I'd require for browsers compatibility before deciding to use a new feature. At a certain people need to update and we do ourselves and our other 98% of customers no favors by catering to the lowest common denominator.
See also, the story of YouTube adding a banner pushing people to upgrade off old IE version being a large factor in people upgrading. Now, obviously, we aren't all running YouTube-sized sites but building for ancient browsers is, very often, a large waste of time.
In the age of evergreen browsers you have to go out of your way to be using something that's not at most a couple years out of date.
In the early days of commercial optical-character-recognition software, vendors would brag about 99% accuracy.
But a single-spaced-typewritten page has about 500 words, so you were looking at five typos every single page. It was good at the time, but you still had to manually check every single word.
If 2 out of 100 people I know see a broken website, depending on the website, that's fine, that doesn't sound like a big deal. Now, if out of 10 power users, all ten of them see a broken site once every 50 logins? Thats a much bigger deal. 98% can be more than enough or not remotely enough depending on the units involved but there are plenty of cases where it's fine to not support the last 2 internet explorer users and stuff
That reminds me of an old comic where a guy picks a milk carton from the grocery store shelf and reads in the box: "Now with 0.01% less semen." and he does not know if he's happy or sad about it.
That framing is setting the question so you immediately are forced to compare pears to apples.
Of course 98% of sterilization is not enough for surgery or for precision in calculating your account balance but the category of landing page conversion a 98% would be astronomically high.
> Can you imagine a venue refusing entry to former clients 2% of the time just because they’ve “improved their experience”?
This reminds me almost precisely of the dynamics of pro sports in the US and how fans are getting priced out of attending games or even watching teams on TV as organizations shift to bespoke streaming platforms.
Suppose 98% users have not had any sessions crash. You want to build an addon feature that 10% of your users will buy and which will increase the revenue from those users by 30%.
Do you spend time building the feature, or trying to understand why 2% of users sometimes see crashes?
The author is confusing visitors with customers. Refusing entry to 2% visitors? No, no! Forgetting about non-interesting 2% visitors? Not even a blink!
Wasn't there something in statistics to describe something like this? i.e. gaussian distributions vs something that's modeled on sparse occurrences, etc?
What about those 30% of audience to update their browser? On our web platform, the team currently displays a message along the lines of: 'Please update your browser; this site relies on features incompatible with your current version'.
And the last 2% is often the hardest part. The low-hanging fruit has been picked, so you're left with these tricky edge cases that may not have a straightforward solution.
Some things are measured from 0, some are measured from 100. Depending on Expectation.
When expectation is 100%, telling me 98% success rate isn't enough. An example where the argument happens on Reddit, Macrumours and even on HN. When Apple's butterfly keyboard have issues. Apple Supporter was quick to dismiss the issue and point out the double entry is such a small issue because it is working 99.9% of the time. What they don't realise keyboard before that was practically 100%. That 0.1% error rate is infinitely more than 0%.
Another example is Internet connection When you are used to perfect Internet connection, just a small beep in disconnecting turns to be major annoyance. There are plenty of these examples especially with DOCSIS Cable modem. The modem theoretically is working 99,95% of the time, hence cable companies won't fix it. But Disconnecting 10 to 30 seconds every day is annoying enough.
I am not sure if there is a word or terminology for it so this could be better explained to people.
On the other hand, there are plenty of things where 80% is good enough, or doing above and beyond at 96% by getting 80% out of the original remaining 20%.
> 98% is great for exceptionally good things, like dramatically increasing someone’s quality of life, but very low for basic expectations, like a baby surviving a babysitter taking care of them.
this is your brain on data science. so absurd that i laughed out loud when i read "like a baby surviving a babysitter taking care of them" like what is that phrase doing in this sentence and argument
I like to think it depends on what the actual topic is. Even the article's examples reinforce this.
98% market share? Amazing.
98% browser support? There are 15 billion screens in the world. 2% of that is 300 million. Hardly a number we can ignore. Edge cases for those 2% should be considered and implemented
I think this single fact is a major source of enshittification in large software products, especially in the era of ML/AI. If your quality is 99%, it sounds like "you have solved your task", but in reality there is a long tail that over time affects nearly every customer.
I've seen this so many times. 99% of search results are good (so within 100 queries you'll hit at least one bad result with p≈0.63), 99% of dashboard panes load normally (so a dashboard with 20 panes is broken in nearly 1 in 5 loads), and so on. If your LLM gets 99% of tool calls right, nearly every session will contain a malformed tool call.
When measuring and reporting models to the non-saavy, I usually reframe them into odds. One failure for every 49 successes is a scary failure rate when operating at a large scale.
This is largely why I don't condone LLMs in operational pipelines. Your workflow? Fine. The company's? Hell no.
Nice in theory, in practice I remember having to support Internet Explorer about 4 years ago. Hard to justify the investment sometimes, at least polyfills gave use some sanity back. The only reason to do it was: Rich old enterprise customer who can't install chrome due to policies created by Dinosaurs.
Websites are surprisingly hard to maintain long term, specially for a broad audience of devices. Developer Experience can lead to better UX, the easier it is to build/maintain, the more likely we're to do it.
Given how bad AI is at design plus all the unstoppable slop train, I expect websites to become much, much worse.
"Truly robust engineering isn’t about what works for most; it’s about gracefully handling the edge cases"
Not really. Truly robust engineering includes a cost-benefit analysis of which edge cases you handle. We don't live in a world of unlimited time & money.
I agree the general premise but do not agree when it comes to browser support.
I feel like we should be building for the 98% or even 95% and force the remaining to upgrade their browsers. I've built for the IE6 - IE11 era for a painful and long time. I do not give a shit if you want to use a 3 year old browser at this point. Go look at a blank screen.
This is very context dependent. It's 'fine' having such attitude when it comes to a hobby project or personal website – not so much for ecommerce site. And imo you are missing the key part of the article – graceful degradation.
Designing for the ideal (or for the <98%) is fine. As long as the experience is gracefully degraded for the rest.
I have a gripe with this attitude because it goes beyond browser use. Inserting the new fancy thing everywhere is often unnecessary and affects accessibility in a negative way for a nonneglible number of your users. And that was the point of the article, right?
Taking the conversation slightly outside the original context: if I go to a restaurant, should I have a phone and an app ready so that I can order food? If I go to the gym, should I have a gym app ready so that I can sign in? I don't like having to do that. But that's just another instance of this same attitude.
>> I do not give a shit if you want to use a 3 year old browser at this point. Go look at a blank screen.
And I don't give a shit about your site/content/whatever. If you don't work with Firefox or my old Mac browser, your whatever isn't worth my time. For "content" sites this is insanely true, even for "news".
What you describe is not feasible in competitive mature markets like good part of e-commerce.
As of 2024 at one of my clients we were still supporting IE8 and as of 2026 I still have significant traffic at some clients from IE9 and 11 or ancient firefox/chrome versions.
The reason is quite simple when you analyze the data: it's concentrated between 8.30 and 5.30 pm.
Those are people sitting at their desk in a bank or some different office. They cannot install other browsers, they cannot update them. Their perfectly working computers (for their job) may not even support newest browsers at all.
Losing 2-6% of the office hours traffic of those well paid-stable job individuals has an outsized impact on revenue and margins that cannot be estimated by naive data analysis.
In other sectors many users are B2B2C retailers in machinery or carpentry using the same computer they bought 15 years ago and they need to provide a quote to the customer in front of them. Single orders can easily be 5 or even 6 figures.
Small numbers in many sectors not only matter they have an outsized impact and a compounding effect long term.
I get that some companies mandate IE11, they may have IE-first internal sites, custom browser plugins, MDM configs - actual systems that would need to be updated. And MS still supports it and releases security patches for it.
But being forced to use ancient Chrome/Edge versions? You are exposing your users to half a dozen sandbox escapes, and there's no big blocker from upgrading. Is their IT department asleep at the wheel?
Depends on the revenue they bring vs the cost of serving them. It's highly dependent on market/business/company.
Often you simply don't offer the feature. E.g 3d rendered previews may not be available but product configuration and cart keeps working on a shop selling custom showers (you fallback to dynamic static images).
In real estate a page displaying fancy maps with price statistics by area/neighborhood might be unavailable, but the core business of listings and search does.
Fifteen years! Unless it's a government agency what's the point even in doing business with a company that uses 15 y.o. browser? They will pay you in silver coins according to 2011 prices.
The people that work there are the customer, not the company itself.
And they mostly check your website when they are bored at work. Not when they leave it and have kids, hobbies or a household to care for.
In travel sector users predominantly navigate in office hours from their work devices. You go meet them where they are. 4% of 6 million daily users is 240'000 potential customers. Converting 3% of them means millions at the end of the year.
Maybe some like airbnb have (or at least used to have) a unique catalogue and they can play a different game and afford to lose some money.
Most e-commerces play differently, at different scales and enjoy different moats and different shareholders/owners expectations.
Why? There are no features which aren't supported by 10 year old browsers which can bring more sales or improve the user experience. So who are these new features good for?
That spells lost sales if you're doing it as a job. Or at least lack of access for people with older devices if you're doing it as a hobby. Then it's of course your call.
Covering for the 2% is often not a sound first order business decision. There's certainly higher order benefits. A lot of accessibility features are just plain useful for anyone. And I think companies like Apple generally get that it's a kind of loss leader. But this article makes dishonest TV Shopping Network style arguments like pointing at 150 million as if that was ever an addressable market.
I think either you argue for regulation, or you argue more honestly: asserting that the extra cost will likely never directly pay for itself, but it is some of the secret sauce that can a good product into a great one.
I'd say you're the most correct of the bunch in this discussion. In the vast majority of business ventures the vast majority of your population is not going to be a customer, ever.
Look at statistics of things like apple vs android users and their purchase behaviors. Targeting the Apple users will likely bring in far more money in the end.
Also it's not your job as a company to ensure the user stays up to date and secure. Old devices are really just a risk these days.
This analogy is bad: Nobody is going to die or get food poisoning because their old browser doesn't work on a website.
A better analogy would be a restaurant deciding not to cater to the 1% of the US population that have celiac disease (cannot eat gluten), or the 2% that have issues with dairy.
In today's world of AI it's fairly easy to make your site compatible with every version of internet explorer ever.
Just tell the AI to do it. It'll find a way. The maintenance burden for you will be minimal because the AI can keep the legacy compatibility bits in sync.
Reading the comments, I expected this blog post to be about something fundamental. But nope. It's just about native CSS nesting. A convenience feature that merely adopts functionality that preprocessors have long provided. Maybe I'm alone in this viewport, but this isn't even worth debating unless you, the developer, are the priority.
This whole article is a categorical error. Whether something is good or not entirely depends on the frame of reference and the context. You can argue endlessly by shifting the topic that 98% is used on. I guess that's what people are doing here.
while true, the people who will read this and then think twice about implementing and applying things are exactly the people who already doing too much thinking
This is a basic ontological error, author conflates reliability and suitability
>> If a website uses fancy new browser features and works for 98% of the population
>> If an employer pays their employees 98% of the times, I definitely wouldn’t want to work there
Are you sure about that? 2% of the population has no bank account, will your employer agree to pay in cash?
These are different scenarios -> your employer likely cannot pay some percentage of the population; but that’s not the same as the process randomly failing (which may be worse or better depending in some cases)
It reminds me of when people argued against covid restrictions saying that the virus had a 99% survival rate. A disease with a 1% infection fatality rate is a terrible disease!
Full disclosure: I also argued against covid restrictions, but not with this terrible argument.
I used to try to make the point with non-tech people using the salesman analogy: If you were a salesperson who worked inbound calls from potential customers, would you be willing to handle 1 out of every 50 calls by picking up the phone, yelling "fuck you" into it, and hanging up? That's pretty much what you're doing to your customers when your software works for 98% of them.
I blame it in big part on the WebDX community group, their absolutely useless "Baseline" guidelines, and on them allowing Apple to be part of that group and make decisions on what features are "ready" to use whilst being behind the only non-evergreen browser in 2026.
The "baseline" means nothing. The percentage in caniuse means nothing. The only number that matters is the number of Safari users stuck using a no longer supported Apple device that access your website. Of course Apple makes sure to hide usage stats of older devices.
Everyone complains about only having three browser engines out there, but I'll be happy to go down to two if that means freeing the world from Safari.
Software standards are way too low these days. If you can't do at least 5 9s in everything you ship get out of the industry and humanity will be better off.
I mean 2% have their javascript turned off (either on purpose or caused by failing extensions). 5% are behind corporate proxies that block your domain. Are you going to host the site on substack also so those 5% can access it?
Or, phrased another way: there's a reason why we consider basic availability in nines and 2 nines is still considered pretty bad. 99% uptime means being down over 7 hours each month.
I had this argument with people working on VR headsets, where a physical parameter was designed to cover the 5th to 95th percentile. I had to point out that flat-out excluding 10% of the population is a pretty crappy starting point...
>Venues did kick out a lot more than 2% of their existing customers until they upgraded their bloodstream.
Only temporarily. Some never mRNAed their bloodstream, then everyone with brain fog forgot about the Trump vaccine and the new normal went back to normal.
It's almost as if context matters for random numbers. A 98% success rate for a parachute is criminal, but if I could achieve 98% of my goals, I couldn't be happier.
If for 2% of users a webpage will not look as awesome as intended (it's not guaranteed that it will be broken), that's ok. It's not poisoning - it's a 98% chance of getting a top mark.
100% of this will be self-inflicted no javascript and 0% of the people who I am targeting.
The Galaxy Brain isn't global usage, it is overlapping populations. Will any percentage of them care about any percentage of me?
Put another way, many people decided to effectively drop support for IE11. When my client has even a single client who still uses IE11, we don't drop support even when it is "bad to support it". But when that drops to zero, regardless of what anyone else is doing, then we can drop support for IE11.
>> But a restaurant where clients don’t get of food poisoning 98% of time is getting people sick on a monthly (or even weekly) basis.
Objectively, I think it's impossible to work in the food industry and avoid food poisoning 100% of the time. One of the reasons I never attempted several of my food industry business ideas. I'm certain they would be at least profitable enough to keep going, would be rather trivial to access EU subsidy money in the €50k, but the amount of regulations and inspections terrifies me. And I'm sure at some point, some salmonella or what else would slip through and don't wanna deal with the consequences.
Easier with programming computers since a "bug" won't make people expell waste simultaneously through both incoming and outgoing food orifices, like it happend to me last time I ordered sarmale from a local restaurant. Like in the food industry a "bug" is literally that.
That's why things never get better. I mean, i'm all out for retrocompatibility, but if removing something makes my experience much better and unfortunately the thing stops working for 2% of the people with outdated devices/browsers, it's not that sad, but the tradeoffs need to be measured.
I've been in the two ends of this situation, in the 2% with older iPhones and Android devices, and in the 98% with new devices. The 2% cannot hold a tyranny over the absolute majority, and vice versa. Everything must be evaluated on a case-by-case basis.
If your business plan requires you to capitalize on more than 98% of the market, it's already a failure. It'll never happen.
As always, it's an "it depends" situation. If your userbase is largely luddites, then maybe you need to support 10+ year old browsers that can't be updated. Otherwise, you can probably just worry about people who are using computers new enough to actually update their browser once a year or better.
The tradeoff is code complexity and engineering time, vs having a larger market. And that's going to be an individual situation for every company.
5% is beyond plenty; it is awesome!
> works for 98% of the population, that means that it won’t work for ~150 million people
If I can only cook for 70 people a night, I most likely can't serve the ~150 million people who do not have access to modern browsers. And, those who do have access to those browsers and choose not use those browsers likely will not enjoy my food either. I don't need to make 8 billion people happy for my restaurant to survive. I only need to make ~1000 people happy who keep returning for anniversaries, birthdays, and the pure enjoyment of creativity with food.
I was a yacht chef for years and only needed to make 10 people happy. The technique I used was everyone eats the same thing, crew and guests. Saving money doing my own shopping instead of relying on provisioning companies that would send me food not handled correctly, my monthly expense went from ~$30k to ~$10k when guests are on board a month -- food in St. Barts was flown in from France everyday and expensive, circa 2005, so I could afford to serve the chateaubriand, osso bucco, and everything else to the crew. Therefore, what I wanted to eat everyday which likely was balanced, had lots of fiber, and healthier choices was the thing that everyone ate everyday.
People ask if the guests and owners would tell me what they want to eat everyday. The Mister was CEO of a fortune 500 company and when retired still chairman of the board. This guy was making billion dollar decisions everyday and the Mrs. was very busy also. The last thing they want to do is answer what is for dinner every night. They delegated the decision making to me. I always cooked what I wanted to eat and was always correct.
It is impossible to make everyone happy. Don't try -- it will break you.
The older I get the more valuable this lesson
>I always cooked what I wanted to eat and was always correct.
This is similar advice to what I've read recently about the target audience for technical/blog writings - only write to one person and it's best if that person is you.
Anyone who has ever done website or mobile development knows there is a huge array of browsers and platforms, and supporting the very long tail of configurations is sometimes nearly impossible, let alone almost never cost effective. When I last ran some web apps, we'd see substantial numbers of errors just due to f'd up (or sometimes outright malicious) browser plugins. I'm not checking every random configuration of browser plugins against my website to ensure they all work.
Like you say, it really depends, which is why I hate blanket directives like the article gave. If suddenly 2% of people couldn't log into gmail, that would be a huge deal affecting 10s of millions of people. As the adage goes, "You're not Google", and for a lot of small e-commerce websites trying to fix someone on some decade+ old browser just doesn't make sense (and, as another comment mentioned, these users are often the least likely to convert in any case).
Can I imagine a venue kicking out 2% of their former clients on some criteria? Absolutely yes.
Kicking out 2% of website visitors may still be totally reasonable if the cost to serve them is meaningful, or if they are less than 2% of revenue.
His defense for 98% being bad is that some CSS thing people were arguing about only had 70% coverage on his website.
Our b2b dashboard didn't support Safari for a while at all and it was entirely not an issue because everyone had a simple workaround to just use Chrome and the dashboard wasn't really the main product.
The thing is that it is all context dependent. A lot of times 0.1% is nothing and can be ignored or pushed off. But sometimes that 0.1% is worth billions of dollars.
The point is that data means nothing without context and interpretation. If you're lazy in your analysis you are going to have lots of issues
I can write a web page that works correctly on all browsers. We all can. That web page won't do much of anything, but it's possible. So, there is a baseline "target subset of HTML/CSS" that gives you 100% coverage. From there, it's purely developer choice: When you add something, are you choosing technology that is widely available and supported, or are you choosing to throw 0.N% of users under the bus for some benefit (development speed/comfort)? Obviously, it's a trade-off, and no final product is going to work on 100% of configurations. All these choices deliberately made during development add up to the product you deliver at the end of the day. All I'm asking is that we recognize browser/platform incompatibility/inaccessibility as choices and not some inherent property of software.
When a developer says "it's too expensive to develop this for a dozen configurations" that just means they have already chosen to make their applications inaccessible, and are justifying it after the fact.
There is not a baseline target subset of HTML/CSS that reaches 100% coverage that can be statically verified. HTML tables usually work in old browsers, but there were subtle bugs in old versions of Internet Explorer, bugs that you're especially likely to hit if you're using tables for layout (because you can't use modern CSS layout features). The only way to be sure that you didn't trigger one of those subtle bugs is to test your web app on ancient browsers.
The cost of reaching the last 0.N% of users rises with each platform you add to your test matrix. It costs money to test your web app on Internet Explorer. It costs even more money to fix bugs that only affect Internet Explorer.
I think you can't deny that doing that work is expensive. The question then has to be whether that work will repay itself somehow. But the last 0.N% of users will only provide ~0.N% increases to your revenue. Unless your revenue is astronomical, you can't afford even one full-time engineer to test and fix bugs on 0.N% of browsers.
It's impossible for me to engage with this thought experiment without thinking of hundreds, perhaps thousands of sites I've been to (their provider rhymes with Rare Mace) where literally nothing works without JavaScript, and I don't mean animations are broken or images look funny, I mean the website is a white fucking screen because literally everything is loaded in via esoteric new JS frameworks which aren't firing because the engine choked on an analytics package and died before it even got that far, and that site is showing...
... text. Formatted text. With perhaps some pictures. And animations nobody outside of marketing cares about.
So like, is your site broken because it's legitimately cutting edge shit, doing difficult work, and providing an answer to a complex user problem? Okay cool, IE6 support is probably not a high priority, I agree. Or, is it an utterly run-of-the-mill ad for your company's services, that was made incorrectly by people who don't know what they're doing, and/or have overengineered it beyond recognition of the actual problem it was trying to solve? If it's that one, then put your shiny toys down, rebuilt it simply and with regular tooling, and THEN see how your IE6 compatibility is doing.
I'll tell you this much: I've NEVER tested for IE6 on my personal website. I just did. Navigation is a bit wonky and my blur filter effects are broken, obviously. But you can still read my posts and navigate about.
I get that asking a commercial website to be as basic/supported as that website is a big ask. I don’t think the other commenter was saying that such websites should reach 100%, only that they should start from there and sacrifice only as much as is necessary.
Furthermore, even if your site functionality has no social networking component itself, all business are subject to the network effects of word of mouth. People are much more likely to share negative experiences that positive ones, so if 1/50 of people find your site to be broken, then a considerable amount of feedback online will be negative and will harm your reputation for the entire market, not just that 2%.
Finally, in business you have to work hard to win over even a small portion of your total addressable market. Artificially decreasing your TAM can be fine if it is an intentional strategic decision to focus on a specific market, but pointless to exclude people without good reason. Not having vegetarian options at BBQ restaurant in Texas is harmless - no one goes there for that, but if you are running a more general restaurant it would be foolish not to have a few vegetarian options. Excluding people because your web developers are too lazy to use approaches that have worked fine for the last 20 years and need to use the new shiny is even more foolish.
For example, Uber, a Visa immigration website, low cost air carrier booking site, etc.
As long as it’s credibly offered without too many caveats.
There are plenty of people still using windows 10 with updates turned off or wedged for whatever reason.
These people just use the sites that work. They aren't computer experts, and might not even realise why half the internet doesn't work - they just think that's the way things are.
> There are plenty of people still using windows 10 with updates turned off or wedged for whatever reason.
It'd be "the pool of people who installed Windows 10 immediately in the launch year but somehow accidentally blocked their browser from updating in the 10 years since, weren't able to fix the issue as the web slowly stopped working, and are stuck using that computer anyways" not "the pool of people still on Windows 10".
The latter won't have many non-intentionally pushed into "10 year old browser status" until 2038 at the earliest.
I have a 10 year old laptop with 32GB of RAM, GTX 970 6GB and an SSD. For many things it is better than any 16GB work issued laptop (that often come with integrated cards - so you wont be able to run any AI model on them). Although the old ssd is starting to show its age (perhaps a full system reinstall would solve this, other option is to get a new one).
The old laptop does not have UEFI so it could not get the (free for some time) Windows 10 to 11 upgrade.
I am smart enough to install Firefox on it and update it, but the official Windows 10 updates will stop coming soon.
I was effectively kicked out by Microsoft because my device is "old". Even if it is beefy enough to browse the internet and watch youtube.
Note that I bought a new beefy laptop now that I hope to use for the next 5+ years (hopefully more), but who knows if they wont come out with some new idea, like UEFI 2.0 for Windows 12 - that again will mean we need to buy new hardware and new windows.
On an unrelated note I want to turn the old laptop to a linux machine - for fun and learning, but dont have the time for that.
Last October, unless you are on an LTS type version - in which case somewhere between 2028-2032 (depending on the exact version). Edge will still update until at least 2028 even though the OS stopped receiving updates... though I'm not sure I would wish either of those usage scenarios on someone :).
> The old laptop does not have UEFI so it could not get the (free for some time) Windows 10 to 11 upgrade.
The free registration, they never actually axed the program at the end date https://techcommunity.microsoft.com/discussions/windows10spa.... Just make sure you use the same edition (e.g. Pro -> Pro). You also don't have to do an in place upgrade to do it. In your specific scenario, you would have to bypass the install requirements in the installer to get around the lack of UEFI though.
Hope that helps, Windows 11 is definitely a bit of an annoying step (even once it's installed).
> There are plenty of people with old android phones with no free disk space using ancient browsers.
How many people have 10 year old phones? I've got an 8 year old iPhone XR which I keep around as a backup/travel device because it's not worth selling, and the battery is… not happy even in airplane mode.
For me to have a 10 year old mobile browser, I'd have to have kept the iPhone SE 1 (or was it a 5c?) that I bought second hand in 2018, and not upgraded it since I bought it. I got rid of it because the battery wouldn't hold a charge for 10 minutes.
or windows 8[.1], or windows 7, or windows xp... there's a lot of old hardware out there, not every is rich/tech savvy (see also: old people) enough to purchase a new device even 10 years later
The needs of the many outweigh the needs of the few.
For $50 you can buy a whole new phone (refurb that is 4 yrs old from some other country)
Computers that were EOL a few years ago, running ten-year-old browsers, are absolutely routine.
Sometimes you want to give certain people an incentive to not be your customers because your company would be entirely better off if they were someone else’s customer.
If you're the national railway and your ticket purchase website doesn't work for 2% of the population, that's kind of shitty to those people.
This is sadly very common across many public infrastructure websites and apps.
I use a browser that had its last release less than a year ago. It doesn't do CSS, it doesn't do javascript and I love it. I also love to be able to use the websites I need.
If your web app crashes one out of every fifty times I launch it, it's not good. The business side of things is reasonable to prioritize right up until it isn't.
If you're using a different, random browser every time you access our web app, you're in a minority far smaller than 2%. Or you've shared your account with 50 friends, and we'd prefer that you do that with someone else's app anyway.
I tried to purchase tickets for an event last week. I had to go through Ticketmaster as it was the only official way. They forced me to verify my account using a phone number, but whoever they were using for messages wasn't able to deliver a code to my number. I tried a few numbers from our household and they all failed.
Searching for this issue yielded a bunch of results, so it was definitely a known issue, but there wasn't anything I could do, really. To them, it's simple math. Another SMS provider that covers my (tiny EU) country might be more expensive. They might be avoiding scammers that used my mobile operator in the past. Whatever it is, it would probably cost them more than they lose in ticket sales.
Without some government entity to force them, they don't give a shit about me being able to see an event.
There is a point where technology becomes foundational for participating in society. And then it needs to be regulated to be available to everyone.
We don’t see this in practice to though. Three examples:
1. In the airline industry big airlines don’t go everywhere for this reasons but small local airlines fill the gap due to market opportunity.
2. Changes in technology enable big companies to operate more efficiently. See starlink.
3. Big companies know that ubiquity is important for their brand. In practice Amazon will deliver packages across the US.
Also it's not just Wales where Beeching carried out intense vandalism of public infrastructure, the South West was severely affected too. Basically anywhere that wasn't London-centric suffered, which is the British government to a T regardless of the party in power. The general assumption was that private cars would replace the local trains, which as someone who currently doesn't drive for medical reasons really makes my blood boil. While perhaps not in intent, in effect the Beeching Axe was a profound kick in the teeth for the disabled.
Did nobody ever operate rail to those cities again due to them being rural?
Oh I see (thanks to that edit). I mean, I agree with you. This is just the additional amusing detail that government-run services are still subject to a sort of dulled and homogenous version of market forces, which can be worse for small local concerns because it's less responsive. Though, admittedly, a giant corporation can simulate government very well, and can be just as crap.
> A few of these routes have since reopened. Some short sections have been preserved as heritage railways, while others have been incorporated into the National Cycle Network or used for road schemes
> Some, such as the bulk of the Midland Metro network around Birmingham and Wolverhampton, have since been incorporated into light rail lines.
Furthermore, the transformation to other transportation forms suggests this event also coincides with changing technology.
Amazon delivers everywhere because USPS subsidizes package delivery to unprofitable areas. You don’t get next day prime except in a relatively small proportion of the country (by area).
You’re not wrong, but small and rural airports would not be able to maintain even these routes without EAS (essential air services) subsidies
"In practice Amazon will deliver packages across the US." You know they use the Postal Service for last miles often? And the Postal Service is required by law to service far-flung places. So Amazon is only, in practice, delivering packages to those places due to USPS.
Did you miss the part where the conversation was about Ticketmaster and rails were used as an analogy for understanding the problem?
> So Amazon is only, in practice, delivering packages to those places due to USPS.
I don’t think that’s true as I can buy many things on Amazon which cannot be shipped via USPS.
These are attitudes come from the privilege of never having been in that 2% of users, and I think we have them until that one day we end up being in that 2% and can't use the system ourselves.
When I wrote iOS apps, I was constantly infuriated by the tech lead's and product management's insistence to only support the current major OS version and the previous one. Engineers would take time out of their day to rip out support for iOS X-2 (rather than fixing bugs, working on performance or features)! Code that wasn't in the way of refactors, wasn't really buggy, wasn't harming anything architecturally. To me, it just looked like Griefing The User. I didn't get it and I still don't. Now, I have a 8 year old phone, and lo and behold, half of the apps in the AppStore don't even work on it anymore because of this attitude, so I guess I'm firmly in the 2%.
Some people argue even that behavior ends up producing the most good, but I cannot accept that level of mental gymnastics.
SPF is like this. SPF 30 allows 1/30th (3%) of the UV through it, blocking 29/30ths (97%). SPF 50 (2%) allows 1/50th, blocking 49/50ths (98%). Using the denominator, in this case, expressed the efficacy much more intuitively.
Comparing SPF 30 vs 50 better expresses the increase in efficacy than 97% vs 98% does.
One could also express it as the amount that passes the filter but it is Sun _Protection_ Factor not Sun _Transparency_ Factor.
The only intuitive bit about that system is "bigger number does more." I feel like I would have more readily understood it if it just said "blocks 97% (or 98%) of UV light" instead of numbers I assumed were somewhat arbitrary.
But sometimes small differences at the edges are indeed small, particularly for expected values. Say you win 100 dollars with 98% probability vs with 99.9% probability.
The expected value (probability * dollars) of the latter is only slightly higher than the former ($99.9-$98=$1.90) even though the difference in odds is very large: (0.999/0.001)/(0.98/0.02)≈20.39. So the 99.9% probability is odds 999 to 1, 98% probability is 49 to 1, so the former has more than 20 times higher odds, but the expected amount of money you win is almost the same.
CSS on a website, however, you CAN get partial credit (to an extent). It may not be perfect, but it's at least theoretically still providing some value partially.
I think knowing what kind of problem you're facing is really important when it comes to measuring percentage of "complete".
It may sound like a small deal to not carry one brand of chocolate paste but if some customers then also don't buy the 12 other groceries they need at your shop, it doesn't really matter that it's only 2% of products that were discontinued. Supermarket products are so stable not because nobody ever makes anything new but because changing a small percentage frustrates customers
If I can't order from some website, I stop trying. Maybe next week the ESR browser gets an update and it works again but by then I'm not clicking those links in the search results
I mentioned 3 years ago that Firefox at 2.2% is dangerously close the being unsupported on government websites, and at this point it's now at 1.9%.
https://news.ycombinator.com/item?id=36776603
https://analytics.usa.gov/ says "There were 1.66 billion sessions in the last 30 days." - so 2% is 33 million sessions if I did my math right.
If I'm one of the 2% then that's everything for me. Maybe I have good reasons to be in the 2%. And maybe, not caring about that is wrong.
I would rather have a website that only works for 2% of people for the right reason, than a website that doesn't work for 2% for the wrong reason.
I assume Firefox users over proportionally use privacy extensions.Thus they overproportionally won't appear on Google Analytics and similar places, which for some statistics reduces the numbers even more than reality.
Even back then, Chrome was commonly being significantly overcounted due to user-agent string shenanigans. And these days I’m confident (without any figures, or even relevant recent commercial experience) that will have increased sharply. I expect that it is now massively overcounted, at the same time as Firefox is significantly undercounted.
Statcounter is particularly commonly used, and honestly one of the worst. Its mobile figures, for example, are completely useless because they don’t report browser versions. CanIUse figures (which lean heavily but not solely on Statcounter) are lousy and unrealistic due to some of these sorts of issues, and just generally being out of date. (I examined the matter closely on 2023-05-27 and the figures corresponded with being about six weeks behind.)
Arguably, if you only have a website, that won't work for anyone without access to the Internet. So then you should have a physical presence in each of those people's location, and arguably you shouldn't provide any improvements that give me more than physical presence does, so you should not have the website in the first place, since people without the Internet can't use it or you have to keep your website without any improvements over the physical office.
If you only have a website, arguably 2+ billion people currently wouldn't be able to access it.
And it seems odd to bring 150 mil people as an example, when the baseline should be at least 2+ billion with website only.
Most websites are glorified rich text or forms. And most of the rest should be that. This is even more true for the kinds of websites people need to use rather than some designers art experiments. They don't actually need all these fancy features except to make their developer's work slightly easier.
"What, do you not live your life based on 99th percentiles?"
I tend to think of work as upside-based on downside-based. Most feature work is upside. 10% lift on conversions is great, 40% adoption is winning, and you're playing for the moonshot of 10x. Infra work is downside-based. 98% secure, 98% available, 98% acceptable performance -- that'll all failure. Winning means the thing works as expected and nobody notices.
Not everything sorts cleanly into upside vs. downside, but a lot does. Allocate your risk accordingly.
I texted a friend about that while I was waiting and he, trying to make me feel better, said something like "Dude, appendectomies are pretty routine, there's probably like a 99% survival rate" for them.
That that did not make me feel better. If I asked you to guess a number between 1 and 100, and you guessed corrected, I would only be a little impressed. 1 in 100 things happen all the time!
Obviously, I didn't die, and it worked out pretty routinely, but I always think about that particular situation when I hear about things being "98% successful".
With CUDA you try to keep all threads doing the same thing. Sometimes that’s very difficult, but if each thread does the same thing 98% of the time, is that enough? Well since there are warps of 32 connected threads, you might expect the probability that any thread in the warp diverges to be .98^32, or 50% of the time spent with one thread in the diverged code. 50% still doesn’t sound that bad unless threads diverge at different times, and then 50% warp divergence might mean a 16x slowdown overall. 98% isn’t enough in this case.
(Of course, this assumes that each decision is independent, which, when you're talking about browser support for CSS, is certainly not the case.)
So, 10% of android users dont have web features beyond, at best, June 2025.
caniuse.com does not track this - they lump all Chrome for android together in the latest version.
This is painful as someone who wants to make use of some very useful, powerful new features, but is targeting people who are most likely to have old, slow, not-updated devices...
Which seems to indicate about 4.8% are below Android 9.
But also, Firefox for Android still supports Android 8, of which there are 1.7% below.
There's a discussion to be made here about who is dropping support for these users, is it Google (and especially Apple, who doesn't allow other browsers on iOS) or the site owner? Especially given how insecure it is to use outdated browsers.
If you add up the distribution inclusive of Android 9 (which is what I was trying to refer to, perhaps unsuccessfully), it is 9.2%. That corresponds with the 90.7% Cumulative Distribution for Android 10
If you're arguing that it is Google who is dropping support/making people have insecure browsers, we're in agreement. As with Safari (or at least those at Apple who control/fund Safari), the Android team is very anti-Web/Chrome. Lots has been written about all of that at https://infrequently.org.
Also, since this article/post is about 98%, Android 7 and below account for 2% of usage still, and its max Chrome version is 124, which was released in April 2024.
On the flipside, if a client enters enough venues that refuse entry to them because of something the client can fix on their end, eventually the client will probably change themselves -- "If you meet one asshole during your day" and all that.
To bring the analogy back to browsers, if a website works fine for a client, they'll have no pressure to change anything on their end -- why upgrade from Windows XP when the site looks fine in IE6? Eventually the client is forced to upgrade -- normally by their operating system. That works, but what if the operating system adds another 2 years to their end of life -- do you just hang on and hope the shim / hacks you added hold?
Hmm, it could be fat enterprise clients with locked-down software versions (legacy, security etc.) That's where most of the money is, isn't it?
If you're selling tickets to a venue, then your site is blocked by them anyway.
This article is a weird extremist take.
I used to work in company where we have spent a lot of time making custom fixes for our software in order to work-around wired hardware/software bugs on machines of individual customers. Yes, we provided service for remaining 2% or so, but in cost of slowing-down overall product development and not making our product better for remaining 98%.
People who don't update browsers for years (or even decades) do so willingly.
With a website, you can have the "real" layout, but when someone is blocking your JS, you can fallback and still provide content.
We won't get every mobile application working on old browsers, but we can offer something to the end user. Even a page that lets them know they are missing out.
But CSS Nesting? We can have that and a fallback.
Yes a restaurant that poisons 2% of its customers is a bad restaurant. A restaurant that has nothing for people who are strict kosher, strict halal, strict vegan, or have severe multiple food allergies is not a bad restaurant. There may be 5% of people who simply can’t eat there because the kitchen cooks pork and there’s peanut shells on the ground but their idiosyncratic requirements don’t dictate the experience of the other 95%. Or 90%, or what have you.
The web has been doing this since, when, the 90's?
I use Firefox. In the last year, suddenly quite a few web sites have just stopped working on it for me. Firefox is over 2% market share.
That's a bit lower than I would be comfortable with, however not that bad, we have been even considering switching all our images to AVIF: https://caniuse.com/?search=AVIF
And google uses Webp all over the place and that's sitting at 96% https://caniuse.com/webp
Author's 98% take is a bit misguided.
A professional B2B car parts dealer has a very different user profile than say, a local news site in rural Africa.
A site selling concert tickets (for popular artist) probably won't care if site doesn't work for 5% of visitors, the tickets will just take a bit longer to sell out.
But otoh I'm sure there's many businesses out there who wouldn't mind a 2..5% bump in conversion ratio for very little effort.
Personally I don't care. If I'm out to buy something online & webshop doesn't work or takes too long to load, my purchase goes elsewhere.
And ofc government services should be very conservative in this respect.
Edit: and yes, graceful degradation. It's ok if site doesn't look as intended but is still useable for that 2%. And eg. I love that some news site have a text-only lite version.
It kind of makes me wonder if anyone has made a build system / framework that serves nested CSS to modern browsers, and falls back to a preprocessed CSS file that removes all the nesting for older browsers.
What they say is that you have to ensure that your site still works for the remaining users, through graceful degradation.
If people have new fancy browsers, use their features to make the interface jazzy. If they don't, ensure that the site still offers its core functionality to them without the fancy features.
https://caniuse.com/ciu/settings#usage
WebP is especially hated for this among non-techies (31.8k upvotes, 1 month ago): https://www.reddit.com/r/mildlyinfuriating/comments/1trpuvr/...
Close, but the other way round. Don't avoid a feature because it lacks good enough support. Write code to progressively enhance the experience if the feature is supported in the user's browser. If you're not willing to do that, then don't use the feature.
Progressive enhancement today means you can use pretty much any browser feature you want. You just have to do a bit of legwork with some @supports or JS prototype checking after doing the basic version first. It's not really much extra work.
Of course, you do not know this exactly, but the point is that it's easy to look at the wrong statistic and come to conclusions that are not necessarily useful in some context. The lens matters just as much as the percentage, if not more.
So I like the opposite approach. If there's literally one guy on the planet, and this article/app/idea changes his life... what would that look like?
The second biggest thing is progressive enhancement. The author picked a CSS feature (nesting) that is basically all-or-nothing: the site will basically be entirely broken for those 2% if you swap Sass for native nesting. Most features aren't like that; maybe the site won't look pixel-perfect on old browsers, or one bit of functionality won't work, but by and large it will still be functional. In those cases, I think it's a much easier decision in terms of where to draw the cutoff.
Yes, because all of us have website serving, checks notes, the entire world...
98% is probably in the neighborhood of 8% more than I'd require for browsers compatibility before deciding to use a new feature. At a certain people need to update and we do ourselves and our other 98% of customers no favors by catering to the lowest common denominator.
See also, the story of YouTube adding a banner pushing people to upgrade off old IE version being a large factor in people upgrading. Now, obviously, we aren't all running YouTube-sized sites but building for ancient browsers is, very often, a large waste of time.
In the age of evergreen browsers you have to go out of your way to be using something that's not at most a couple years out of date.
But a single-spaced-typewritten page has about 500 words, so you were looking at five typos every single page. It was good at the time, but you still had to manually check every single word.
In some categories, certainty and percentages make a lot of difference--surgeries, accidents. In some, they don't--surveys, grades.
It just depends on the category.
This is akin to saying something as obvious as more percentages are more than less percentages.
Of course 98% of sterilization is not enough for surgery or for precision in calculating your account balance but the category of landing page conversion a 98% would be astronomically high.
in this sense, related https://danluu.com/p95-skill/
This reminds me almost precisely of the dynamics of pro sports in the US and how fans are getting priced out of attending games or even watching teams on TV as organizations shift to bespoke streaming platforms.
Suppose 98% users have not had any sessions crash. You want to build an addon feature that 10% of your users will buy and which will increase the revenue from those users by 30%.
Do you spend time building the feature, or trying to understand why 2% of users sometimes see crashes?
Just like the article says, it depends on if the product is an essential or a dessert.
If your product is a "essential necessity" one, then 98% is terrible for your software.
If your product is a "dessert", then for it's software 98% is awesome.
https://www.redbubble.com/i/t-shirt/Best-Viewed-with-Interne...
Well I wasn't very far off I guess! Perhaps "5 nines" is a good threshold for new CSS features too?
Hover text: You can do this one in every 30 times and still have 97% positive feedback.
Your classifier might be 98% accurate and it may sound like a lot.
But if it sits inside a car, making thousands of decisions during every trip then you may be in deep trouble.
How do you justify this when you factor in cost and time?
When expectation is 100%, telling me 98% success rate isn't enough. An example where the argument happens on Reddit, Macrumours and even on HN. When Apple's butterfly keyboard have issues. Apple Supporter was quick to dismiss the issue and point out the double entry is such a small issue because it is working 99.9% of the time. What they don't realise keyboard before that was practically 100%. That 0.1% error rate is infinitely more than 0%.
Another example is Internet connection When you are used to perfect Internet connection, just a small beep in disconnecting turns to be major annoyance. There are plenty of these examples especially with DOCSIS Cable modem. The modem theoretically is working 99,95% of the time, hence cable companies won't fix it. But Disconnecting 10 to 30 seconds every day is annoying enough.
I am not sure if there is a word or terminology for it so this could be better explained to people.
On the other hand, there are plenty of things where 80% is good enough, or doing above and beyond at 96% by getting 80% out of the original remaining 20%.
this is your brain on data science. so absurd that i laughed out loud when i read "like a baby surviving a babysitter taking care of them" like what is that phrase doing in this sentence and argument
98% market share? Amazing. 98% browser support? There are 15 billion screens in the world. 2% of that is 300 million. Hardly a number we can ignore. Edge cases for those 2% should be considered and implemented
I've seen this so many times. 99% of search results are good (so within 100 queries you'll hit at least one bad result with p≈0.63), 99% of dashboard panes load normally (so a dashboard with 20 panes is broken in nearly 1 in 5 loads), and so on. If your LLM gets 99% of tool calls right, nearly every session will contain a malformed tool call.
Probabilities are hard for humans, probably.
This is largely why I don't condone LLMs in operational pipelines. Your workflow? Fine. The company's? Hell no.
Websites are surprisingly hard to maintain long term, specially for a broad audience of devices. Developer Experience can lead to better UX, the easier it is to build/maintain, the more likely we're to do it.
Given how bad AI is at design plus all the unstoppable slop train, I expect websites to become much, much worse.
Isn't that a named law?
Don't look at the simple probability - look at probability * value.
Not really. Truly robust engineering includes a cost-benefit analysis of which edge cases you handle. We don't live in a world of unlimited time & money.
I feel like we should be building for the 98% or even 95% and force the remaining to upgrade their browsers. I've built for the IE6 - IE11 era for a painful and long time. I do not give a shit if you want to use a 3 year old browser at this point. Go look at a blank screen.
Designing for the ideal (or for the <98%) is fine. As long as the experience is gracefully degraded for the rest.
Profit is often at the margin.
Taking the conversation slightly outside the original context: if I go to a restaurant, should I have a phone and an app ready so that I can order food? If I go to the gym, should I have a gym app ready so that I can sign in? I don't like having to do that. But that's just another instance of this same attitude.
And I don't give a shit about your site/content/whatever. If you don't work with Firefox or my old Mac browser, your whatever isn't worth my time. For "content" sites this is insanely true, even for "news".
As of 2024 at one of my clients we were still supporting IE8 and as of 2026 I still have significant traffic at some clients from IE9 and 11 or ancient firefox/chrome versions.
The reason is quite simple when you analyze the data: it's concentrated between 8.30 and 5.30 pm.
Those are people sitting at their desk in a bank or some different office. They cannot install other browsers, they cannot update them. Their perfectly working computers (for their job) may not even support newest browsers at all.
Losing 2-6% of the office hours traffic of those well paid-stable job individuals has an outsized impact on revenue and margins that cannot be estimated by naive data analysis.
In other sectors many users are B2B2C retailers in machinery or carpentry using the same computer they bought 15 years ago and they need to provide a quote to the customer in front of them. Single orders can easily be 5 or even 6 figures.
Small numbers in many sectors not only matter they have an outsized impact and a compounding effect long term.
But being forced to use ancient Chrome/Edge versions? You are exposing your users to half a dozen sandbox escapes, and there's no big blocker from upgrading. Is their IT department asleep at the wheel?
It's been 15 years since IE9. Where do you draw the line?
Often you simply don't offer the feature. E.g 3d rendered previews may not be available but product configuration and cart keeps working on a shop selling custom showers (you fallback to dynamic static images).
In real estate a page displaying fancy maps with price statistics by area/neighborhood might be unavailable, but the core business of listings and search does.
Fifteen years! Unless it's a government agency what's the point even in doing business with a company that uses 15 y.o. browser? They will pay you in silver coins according to 2011 prices.
And they mostly check your website when they are bored at work. Not when they leave it and have kids, hobbies or a household to care for.
In travel sector users predominantly navigate in office hours from their work devices. You go meet them where they are. 4% of 6 million daily users is 240'000 potential customers. Converting 3% of them means millions at the end of the year.
Maybe some like airbnb have (or at least used to have) a unique catalogue and they can play a different game and afford to lose some money.
Most e-commerces play differently, at different scales and enjoy different moats and different shareholders/owners expectations.
I think either you argue for regulation, or you argue more honestly: asserting that the extra cost will likely never directly pay for itself, but it is some of the secret sauce that can a good product into a great one.
Look at statistics of things like apple vs android users and their purchase behaviors. Targeting the Apple users will likely bring in far more money in the end.
Also it's not your job as a company to ensure the user stays up to date and secure. Old devices are really just a risk these days.
A better analogy would be a restaurant deciding not to cater to the 1% of the US population that have celiac disease (cannot eat gluten), or the 2% that have issues with dairy.
Just tell the AI to do it. It'll find a way. The maintenance burden for you will be minimal because the AI can keep the legacy compatibility bits in sync.
This is the new Answer to the Ultimate Question of Life, the Universe, and Everything
Sure, it's called a 'dress code'.
>> If a website uses fancy new browser features and works for 98% of the population
>> If an employer pays their employees 98% of the times, I definitely wouldn’t want to work there
Are you sure about that? 2% of the population has no bank account, will your employer agree to pay in cash?
These are different scenarios -> your employer likely cannot pay some percentage of the population; but that’s not the same as the process randomly failing (which may be worse or better depending in some cases)
Full disclosure: I also argued against covid restrictions, but not with this terrible argument.
The "baseline" means nothing. The percentage in caniuse means nothing. The only number that matters is the number of Safari users stuck using a no longer supported Apple device that access your website. Of course Apple makes sure to hide usage stats of older devices.
Everyone complains about only having three browser engines out there, but I'll be happy to go down to two if that means freeing the world from Safari.
Whether 98% is acceptable, it depends on the cost of failure, not the percentage itself.
Software standards are way too low these days. If you can't do at least 5 9s in everything you ship get out of the industry and humanity will be better off.
"99 and a half won't do"
https://youtu.be/1QVJCjbgM-s
Holy Disciples
Trying to Make a Hundred
Only temporarily. Some never mRNAed their bloodstream, then everyone with brain fog forgot about the Trump vaccine and the new normal went back to normal.
it that reduces development/maintenance cost by a lot, that's not a terrible deal.
https://www.mediawiki.org/wiki/No-JavaScript_notes
The Galaxy Brain isn't global usage, it is overlapping populations. Will any percentage of them care about any percentage of me?
Put another way, many people decided to effectively drop support for IE11. When my client has even a single client who still uses IE11, we don't drop support even when it is "bad to support it". But when that drops to zero, regardless of what anyone else is doing, then we can drop support for IE11.
Six sigma is a bit cultish, but overall the concept is quite clear - quality.
98% in a restaurant is horrible, because restaurants usually issue more than 100 meals per day. So 2% rate would mean a problem every day.
Although usually the distribution here would be different 98 good days and 2 bad where hundreds get food posioning..
Objectively, I think it's impossible to work in the food industry and avoid food poisoning 100% of the time. One of the reasons I never attempted several of my food industry business ideas. I'm certain they would be at least profitable enough to keep going, would be rather trivial to access EU subsidy money in the €50k, but the amount of regulations and inspections terrifies me. And I'm sure at some point, some salmonella or what else would slip through and don't wanna deal with the consequences.
Easier with programming computers since a "bug" won't make people expell waste simultaneously through both incoming and outgoing food orifices, like it happend to me last time I ordered sarmale from a local restaurant. Like in the food industry a "bug" is literally that.
https://en.wikipedia.org/wiki/Therac-25 comes to mind. Many of the really consequential ones end up on Wikipedia: https://en.wikipedia.org/wiki/List_of_software_bugs
I've been in the two ends of this situation, in the 2% with older iPhones and Android devices, and in the 98% with new devices. The 2% cannot hold a tyranny over the absolute majority, and vice versa. Everything must be evaluated on a case-by-case basis.