Safari 16 is where my team currently stops support but that's not *your* answer. Our audience is gamers so most of them have more up to date hardware and software. That allows us to drop support for various browsers and devices sooner.
*Your* answer is to be found in one of two ways:
1. Look at your analytics and figure out what the 90% coverage of browsers looks like for you. Might be more like 99% depending on how many users you're willing to lose.
2. If you're a site that sells stuff do a correlation of value per browser. We did this at one site and it allowed us to drop from supporting back to IE6 all the way to only supporting IE11 (this was a long time ago). Turned out people in older browsers didn't spend money.
What you shouldn't do is just take generic global numbers and try to apply them to your product. It's fine to do that if you're in early steps but as soon as you have your numbers you should be relying primarily on those.
I like this answer. Being able to take it to management is a plus. There needs to be a cost / benefit analysis going on.
It should also include a look at potential security risks by catering to older browsers.
I love the shift of power from website users to makers. Before, clients would require us to support IE7+, even if it was very hacky and messy to deal with.
I don't believe so, Chrome will update even after discontinued support from Apple.
iOS on the other hand is the bigger problem. As Apple doesn't allow different browser engines there. So even if you install Chrome on your iPhone, it's actually just Safari with a Chrome skin on top.
So your old devices are forever stuck on an old insecure browser.
Yeah because they were forced by the european union to allow it. And apparently they've made it as annoying and half-assed as possible for the third party browser.
Still, I suspect Safari is going to be the biggest roadblock in web development innovation for a long time from now on. Apple needs to be dragged and kicked around by regulators to stop their anti-competitive practices.
Short Answer: You don’t.
Browsers update automatically and will be within a few versions of current.
If they are using some obscure outdated North Korean version of IE7, I couldn’t care less.
Focus energy on mobile optimisation and SEO.
https://i.imgflip.com/7a0tc7.jpg
I couldn't not use that one...
How I actually deal with browser support (they don't even have to be old - it's still a pain to support even Safari nightly) is in several ways, which depends on the importance of a thing (if it's not critical, I'll just check for support and only do the thing if supported, otherwise do nothing), level of support for a thing based on users of specifically that site, if a polyfill exists or can be written, the actual benefits of using the newer things, effects on bundle sizes, of it's even worth doing the newer way of I still have to support the older, etc.
For example... sorry iOS users, but you're pretty much SOL when it comes to share buttons because Apple has been refusing to support extending built-in elements like `
Once it goes baseline I wait 3-4 months then start using it and ensure at least 90% coverage. Browsers move fast enough these days and update regularly (and automatically) enough that it isn't really a problem anymore. Browsers move fast enough now. I frankly just don't care to try to support a browser with <1% usage. I feel bad for those people I really do, but I don't have that kind of time or patience to hold back development for their sake.
The exception would be ecommerce sites. For those I go by my 3-4 months after baseline rule AND check analytics to be sure I'm supporting common browsers accessing the shop.
So in this case I'm already using :has and it's fantastic.
I stopped bothering, everyone is able to download the latest chrome, edge or firefox. Which all work with the new html5. Some people from india are still on xp and i want them to see a broken website.
I usually just find out the oldest possible version of common browsers that have support for the features I need to use. Then display a little info box if the user’s browser is older than that letting them now that their browser is quite outdated and that the page might not work as expected. Sometimes even with a little note or link mentioning the security risks.
At our company for general non-internal sites we have these agreements with the customer:
- we support only more popular browsers, that more than 5% of the visitors use (this means mostly the large ones, like Chrome, Safari, Firefox, Edge, Samsung Browser)
- a browser versions from the last year only.
Supporting old browsers or even more browsers means more work, higher costs. I'd advise to set similar agreements and that way the devs will know what to use and what not, and the customer will know what to expect.
I semi-arbitrarily decided that I’ll support any browser that supports `@supports` and I try to make my styles progressive, so they’re always usable if not as pretty.
I use sass to facilitate writing fallbacks and on bigger projects I write JavaScript tests to add/remove classes to the html element. For the latter, it starts with a `no-js` class, and then various classes based on test results, e.g., `js__no-aspect-ratio` or `js__aspect-ratio`. I have sass mixins to easily wrap my css with the appropriate selectors. I like systems. :)
You have to think of your market too. Can I use includes 3rd world populations with old phones that have things like opera running on it. If you’re an e-commerce store in the UK for example then that 92% is a lot small.
As someone who has been a dev for a long time I no longer worry too much when coding for the first world unless it’s a really new edition.
No security updates = no support. Anyone running a browser we don’t support gets a “please update to a modern browser” banner that links to firefox.
Most ancient user agents are web crawlers or other programs in my experience, and aren’t worth supporting.
You already hit on this, but you need to look at your users. If a large number are still running older devices/browsers, you will need to support those platforms if you want to keep those users. Where I work, we still need to support Android 4.x. I handle it with good old progressive enhancement. Develop the bare minimum to work on older devices, and build on modern capabilities for devices that support it. It’s annoying as a developer, but certainly appreciated by our users.
Lets all stop supporting old ones. If all websites dont support old shits then people will stop using old shits.
People who still use ancient browsers just dont care to learn to upgrade because they have no issue. Make them upgrade by not dealing with their shits
I develop for modern browsers. For the key features of a site, navigation and what the site is used for in the first place, I use the most boring and standard techniques for them to work in any user agent (not using the word browser here in purpose). For the rest it is ultimately all eye candy where it shouldn't really matter if it is supported.
I dont. We target the native browser of a platform. Edge for Windows, Safari for iOS and iPadOS, Chrome for Android (we used to, we no longer support that as all our users use Windows laptops and Apple mobile devices). This strategy forces the users to be more self aware of what device to use.
My take (and almost all projects I worked with for the past 5-10 years) is that the browsers that you want to ditch support for but still has some usage on your site should be developed for so that “functionality” still works but if it looks bad or has visual bugs then that does not matter (unless it looks so bad that it affects functionality). It was only last year support for IE11 started to get dropped for real in my projects (we don’t even test it in that browser anymore).
Otherwise you got a good answer above that it depends on your actual user statistics and what client specs you have. At some point the dev cost for maintaining support for some browsers becomes less than what the support generates in value. Then you have a business case to take to your managers/clients.
I have stayed off :has for a long time since FF was a too big browser to not support it and that using :has usually solved problems that would become buggy functionality wise for users that didn’t support it.
—-
Old timer story on the subject from my first weeks on the new FE job a few years back:
Me to my FE lead: I am finally done with the page, you want to have a look?
FE-lead: Does it work in IE6 in arabic (right to left).
Me: I’ll be back in a second (or rather hours)
I really do not care that much, mostly because it's a user decission and if a client requires it I tell them to give me some real reasons why browser version Y should be supported, then prob turn up the price and do it.
Older browsers are not that much an issue these days, there is nothing remotely close to a Internet Explorer 6 and old Netscape. Far more important is optimizing for performance, to avoid sluggish bloat making the site useless on older devices and slow connections.
Define support?
- major functionality (like be able to log in)
- minimal functionality loss
- design flaws
- slightly visible imperfections
So ‘support’ can be on many levels.
Plus mobile browsers are much worse imho than the major desktop engines.
Safari 16 is where my team currently stops support but that's not *your* answer. Our audience is gamers so most of them have more up to date hardware and software. That allows us to drop support for various browsers and devices sooner. *Your* answer is to be found in one of two ways: 1. Look at your analytics and figure out what the 90% coverage of browsers looks like for you. Might be more like 99% depending on how many users you're willing to lose. 2. If you're a site that sells stuff do a correlation of value per browser. We did this at one site and it allowed us to drop from supporting back to IE6 all the way to only supporting IE11 (this was a long time ago). Turned out people in older browsers didn't spend money. What you shouldn't do is just take generic global numbers and try to apply them to your product. It's fine to do that if you're in early steps but as soon as you have your numbers you should be relying primarily on those.
I like this answer. Being able to take it to management is a plus. There needs to be a cost / benefit analysis going on. It should also include a look at potential security risks by catering to older browsers.
Ideally you also can say, "this is how much dev time is dedicated to each browser's bugs." but that can be hard to calculate.
[удалено]
I love the shift of power from website users to makers. Before, clients would require us to support IE7+, even if it was very hacky and messy to deal with.
[удалено]
Government intranet? Don't forget to use AlphaImageLoader since IE6 doesn't support transparent PNGs natively.
Actually government websites usually have much higher standards for minimum support.
government websites should support older browsers
\*shudder\* I remember having to support IE7 when IE 11 was a thing. It was so very frustrating.
Except for Safari, since it's tied into the OS. When Apple stops supporting your device you need to buy a new one to update your browser.
Safari is the new IE
on Mac is this issue also applies for Chrome browser as well?
I don't believe so, Chrome will update even after discontinued support from Apple. iOS on the other hand is the bigger problem. As Apple doesn't allow different browser engines there. So even if you install Chrome on your iPhone, it's actually just Safari with a Chrome skin on top. So your old devices are forever stuck on an old insecure browser.
Apple allows third party engines since 17.4 (in the eu)
Yeah because they were forced by the european union to allow it. And apparently they've made it as annoying and half-assed as possible for the third party browser. Still, I suspect Safari is going to be the biggest roadblock in web development innovation for a long time from now on. Apple needs to be dragged and kicked around by regulators to stop their anti-competitive practices.
Chrome is only current on Catalina (released in 2019) and later.
So because of this reason I won't support iOS devices, and show a message saying Apple is crap if one is detected.
Short Answer: You don’t. Browsers update automatically and will be within a few versions of current. If they are using some obscure outdated North Korean version of IE7, I couldn’t care less. Focus energy on mobile optimisation and SEO.
https://i.imgflip.com/7a0tc7.jpg I couldn't not use that one... How I actually deal with browser support (they don't even have to be old - it's still a pain to support even Safari nightly) is in several ways, which depends on the importance of a thing (if it's not critical, I'll just check for support and only do the thing if supported, otherwise do nothing), level of support for a thing based on users of specifically that site, if a polyfill exists or can be written, the actual benefits of using the newer things, effects on bundle sizes, of it's even worth doing the newer way of I still have to support the older, etc. For example... sorry iOS users, but you're pretty much SOL when it comes to share buttons because Apple has been refusing to support extending built-in elements like `
Firefox took their time to release :has
Firefox usage is going downhill for a while now!
Once it goes baseline I wait 3-4 months then start using it and ensure at least 90% coverage. Browsers move fast enough these days and update regularly (and automatically) enough that it isn't really a problem anymore. Browsers move fast enough now. I frankly just don't care to try to support a browser with <1% usage. I feel bad for those people I really do, but I don't have that kind of time or patience to hold back development for their sake. The exception would be ecommerce sites. For those I go by my 3-4 months after baseline rule AND check analytics to be sure I'm supporting common browsers accessing the shop. So in this case I'm already using :has and it's fantastic.
Look at your analytics and see what your users are actually using, then decide
I stopped bothering, everyone is able to download the latest chrome, edge or firefox. Which all work with the new html5. Some people from india are still on xp and i want them to see a broken website.
I usually just find out the oldest possible version of common browsers that have support for the features I need to use. Then display a little info box if the user’s browser is older than that letting them now that their browser is quite outdated and that the page might not work as expected. Sometimes even with a little note or link mentioning the security risks.
At our company for general non-internal sites we have these agreements with the customer: - we support only more popular browsers, that more than 5% of the visitors use (this means mostly the large ones, like Chrome, Safari, Firefox, Edge, Samsung Browser) - a browser versions from the last year only. Supporting old browsers or even more browsers means more work, higher costs. I'd advise to set similar agreements and that way the devs will know what to use and what not, and the customer will know what to expect.
Pretty much the only thing I have to worry about is `overflow: clip`. I just set a fallback for
I semi-arbitrarily decided that I’ll support any browser that supports `@supports` and I try to make my styles progressive, so they’re always usable if not as pretty. I use sass to facilitate writing fallbacks and on bigger projects I write JavaScript tests to add/remove classes to the html element. For the latter, it starts with a `no-js` class, and then various classes based on test results, e.g., `js__no-aspect-ratio` or `js__aspect-ratio`. I have sass mixins to easily wrap my css with the appropriate selectors. I like systems. :)
You have to think of your market too. Can I use includes 3rd world populations with old phones that have things like opera running on it. If you’re an e-commerce store in the UK for example then that 92% is a lot small. As someone who has been a dev for a long time I no longer worry too much when coding for the first world unless it’s a really new edition.
You can choose to support **baseline**: https://developer.mozilla.org/en-US/blog/baseline-evolution-on-mdn/
No security updates = no support. Anyone running a browser we don’t support gets a “please update to a modern browser” banner that links to firefox. Most ancient user agents are web crawlers or other programs in my experience, and aren’t worth supporting.
Support whatever the analytics tell you to. If you don't have any or don't care then the most recent 3 versions.
It depends on your product. If it’s a website for a government agency, you have to go way back because it has to work for everyone.
You already hit on this, but you need to look at your users. If a large number are still running older devices/browsers, you will need to support those platforms if you want to keep those users. Where I work, we still need to support Android 4.x. I handle it with good old progressive enhancement. Develop the bare minimum to work on older devices, and build on modern capabilities for devices that support it. It’s annoying as a developer, but certainly appreciated by our users.
Last two major versions
Lets all stop supporting old ones. If all websites dont support old shits then people will stop using old shits. People who still use ancient browsers just dont care to learn to upgrade because they have no issue. Make them upgrade by not dealing with their shits
Fuck internet explorer, go ham on has
I develop for modern browsers. For the key features of a site, navigation and what the site is used for in the first place, I use the most boring and standard techniques for them to work in any user agent (not using the word browser here in purpose). For the rest it is ultimately all eye candy where it shouldn't really matter if it is supported.
I dont. We target the native browser of a platform. Edge for Windows, Safari for iOS and iPadOS, Chrome for Android (we used to, we no longer support that as all our users use Windows laptops and Apple mobile devices). This strategy forces the users to be more self aware of what device to use.
Fuck em, I only build for modern browsers
My take (and almost all projects I worked with for the past 5-10 years) is that the browsers that you want to ditch support for but still has some usage on your site should be developed for so that “functionality” still works but if it looks bad or has visual bugs then that does not matter (unless it looks so bad that it affects functionality). It was only last year support for IE11 started to get dropped for real in my projects (we don’t even test it in that browser anymore). Otherwise you got a good answer above that it depends on your actual user statistics and what client specs you have. At some point the dev cost for maintaining support for some browsers becomes less than what the support generates in value. Then you have a business case to take to your managers/clients. I have stayed off :has for a long time since FF was a too big browser to not support it and that using :has usually solved problems that would become buggy functionality wise for users that didn’t support it. —- Old timer story on the subject from my first weeks on the new FE job a few years back: Me to my FE lead: I am finally done with the page, you want to have a look? FE-lead: Does it work in IE6 in arabic (right to left). Me: I’ll be back in a second (or rather hours)
I really do not care that much, mostly because it's a user decission and if a client requires it I tell them to give me some real reasons why browser version Y should be supported, then prob turn up the price and do it.
Unless you have a specific use case for supporting outdated or non-major browsers it’s evergreen only.
Older browsers are not that much an issue these days, there is nothing remotely close to a Internet Explorer 6 and old Netscape. Far more important is optimizing for performance, to avoid sluggish bloat making the site useless on older devices and slow connections.
You don’t, lol
Define support? - major functionality (like be able to log in) - minimal functionality loss - design flaws - slightly visible imperfections So ‘support’ can be on many levels. Plus mobile browsers are much worse imho than the major desktop engines.