h5bp / html5-boilerplate

A professional front-end template for building fast, robust, and adaptable web apps or sites.
https://html5boilerplate.com/
MIT License
56.49k stars 12.24k forks source link

Drop IE8 support #1524

Closed alrra closed 8 years ago

alrra commented 10 years ago

Microsoft is ending the extended support for Windows XP on April 8, 2014. Since IE8 is mostly a Windows XP browser, and it's market share is slowly but steadily going down¹ , I think we should start the discussion on dropping IE8 support.

¹ Some current estimates (feel free to share your own/other):

Changes involved with dropping IE8 support:

RiZKiT commented 10 years ago

I would suggest to wait at least until summer and check the stats then. But we can discuss the percentage when we/you want to drop it.

roblarsen commented 10 years ago

Not arguing for or against IE8 with the following, but I do think dealing with percentages can mask the discussion a bit...

Using the estimated number of internet user as an analog, 5% of the web is something like 120,000,000, which is roughly equivalent to the population of Japan.

sarukuku commented 10 years ago

I'm in favor of dropping the support from boilerplate after Microsofts support for XP has ended. It would be nice to see stats about IE8 usage a few months after the end of XP support just to see if it had any noticeable effect to global usage statistics.

What ever we might choose for the actual version / date for dropping IE8 support isn't important yet (I think). What is important now is if we can agree to start the process for dropping the support in near future.

Though even a 5% global usage is a lot in numbers of people I still think this is a good & gentle way to push the web forward.

QWp6t commented 10 years ago

IE9 and up cannot be installed on Windows XP. Dropping IE 8 support is effectively the same as dropping Windows XP support for MSIE users. On the other hand, we could also reason that this is Microsoft's fault, and if Microsoft wants to make IE 9 and up available on XP, it is free to do so. Neither Chrome nor Firefox have dropped XP compatibility, so it's bizarre that IE 9 would.

I'm not making an argument either way. I just wanted everyone to know that the reason XP users are on IE 8 is because Microsoft won't let them upgrade to IE 9. Not all of these users are able to use alternative browsers (which is why Chrome Frame was such an awesome product), in particular for certain enterprise environments.

If h5bp drops IE 8 support, there should be documentation or something letting developers know what steps to take to add back support for IE 8.

I personally follow Google's "last 2 versions" strategy, which means no support for IE 8 or 9. https://support.google.com/a/answer/33864

roblarsen commented 10 years ago

I'm not making an argument either way. I just wanted everyone to know that the reason XP users are on IE 8 is because Microsoft won't let them upgrade to IE 9. Not all of these users are able to use alternative browsers (which is why Chrome Frame was such an awesome product), in particular for certain enterprise environments.

As the guy who spends a lot of time in those environments, I am happy to report that I've started to see real movement on IE9+ adoption in financial services at least.

alrra commented 10 years ago

I would suggest to wait at least until summer and check the stats then.

@RiZKiT It will take quite some time until we actually drop IE8 (see #1050 for comparison). For now, we are mostly interested in seeing how people feel about this change.

dealing with percentages can mask the discussion a bit...

@roblarsen I agree, but we have to start the discussion from somewhere. Also, it would be interesting to see (as @sarukuku pointed out) how IE8's market share evolves in the next few months.

jonathantneal commented 10 years ago

From the higher-ed / university side, @chapmanu supports IE9+. Our own audience statistics have validated this move, and the University has been internally upgrading XP stragglers over the last year, in anticipation of XP’s final retirement.

After reviewing our analytics, I report with confidence that our fall semester was the beginning of the end for IE8, as usage dropped from a steady 6% to just under 3%.

mushtat commented 10 years ago

Mainly I think that dropping IE8 support is good idea. But I agree with @RiZKiT that we would wait some time and check the statistics then - just to know when is the best time to drop support for IE8 becouse it is included with Windows 7 by default. So there are lot of users who actually can use it on Win 7 after Win XP support will ended by Microsoft.

roblarsen commented 10 years ago

@roblarsen I agree, but we have to start the discussion from somewhere. Also, it would be interesting to see (as @sarukuku pointed out) how IE8's market share evolves in the next few months.

@alrra For sure. We have to see where the actual numbers go. I just like to set the scale of what we're talking about. 5% seems small, but "as big as Japan" seems a bit bigger.

Hopefully we'll see a big drop-off with the sunsetting of XP and this decision will be easy.

passy commented 10 years ago

:+1: for dropping. Google's policy for supported browsers is very interesting:

We support the current and previous major releases of Firefox, Internet Explorer, and Safari on a rolling basis. Each time a new version is released, we begin supporting that version and stop supporting the third most recent version.

https://support.google.com/a/answer/33864?hl=en

At Google, we’re committed to developing web applications that go beyond the limits of traditional software. Our engineering teams make use of new capabilities available in modern, up-to-date browsers. That’s why we made the decision last year to support only modern browsers, which also provide improved security and performance.

I think we should support this sentiment as a community.

roblarsen commented 10 years ago

I think we should support this sentiment as a community.

The support table that would sway me 100% from Google is not from Apps, it's from search. If Google stopped supporting IE8 in search we'd have a pretty strong case to drop it here.

The punchline to that comment is I bet Google supports Netscape 3 in search and they probably make more money in IE6-8 searches than they do in every other line of business outside of Adwords

passy commented 10 years ago

@roblarsen Basic search works and at Google's scale even 1% is a massive absolute number, but I don't think that's relevant to any project you start today. Google Apps are interesting because they target the enterprise which is notoriously bad at updating.

roblarsen commented 10 years ago

True, they are interesting and the sentiment is instructive, but I'm less swayed by it (at least in terms of dropping IE8 right now) than I would be if it actually mattered to their bottom line.

happiefire commented 10 years ago

I'd give you guys a heads up with 3 figures to show what life is like behind the great wall. Share of Win xp = 63%, IE 8 = 35%, IE 8+6 = 45% Completely different world huh?

sitepodmatt commented 10 years ago

Im all for completely dropping IE8, the popularity of html 5 boilerplate in itself making this tough decision will be an accelerator in itself. However given the resistence, how about as a interim compromise just change the browser happy warning from [if lt IE 8] to [if lt IE 9] on Tuesday 8th April 2014. Then review the numbers in three to six months for the more significant changes.

jonyo commented 10 years ago

+1 to the idea of at least changing browsehappy to show for ie8 on the 8th when support for XP is dropping.

kiaking commented 10 years ago

+1 to drop IE8. Let's destroy it.

swashcap commented 10 years ago

:thumbsup: Haven’t heard a client mention IE8 for over a year, if that means anything.

daniel-kehorne commented 10 years ago

Is it perhaps worth considering that in the first 3 estimates of usage, IE8 is the second most used version of IE?

roblarsen commented 10 years ago

Is it perhaps worth considering that in the first 3 estimates of usage, IE8 is the second most used version of IE?

And the fourth most used single browser "version"

I just had to grab these numbers last week (from statcounter, which skews towards the USA):

Browser Market Share %
Chrome(all) 43.66
Firefox 5+ 18.27
IE 11.0 8.27
IE 8.0 6.2
Safari iPad 5.19
IE 10.0 3.83
IE 9.0 3.5
Safari 7.0 1.76
Android 1.18
Safari 5.1 1.05
Safari 6.1 0.89
360 Safe Browser 0 0.84
Opera 15+ 0.69
Other 4.66
===============
QWp6t commented 10 years ago

@daniel-kehorne

That's because IE8 is the most recent version of IE that is available to Windows XP users.

Now that Microsoft has dropped support for Windows XP, we can probably expect that number to shrink, but it will be the #2 most used version of IE for the foreseeable future (basically until XP dies or until Microsoft makes a newer version of IE available for XP).

lhwparis commented 10 years ago

please do not drop IE8 at the moment! about 5% is huge wait until its about 1-2% i know a lot companies using IE8 and no NOT with XP but with windows7 because IE8 is the default browser coming with windows7 and some companies do not upgrade the default browser!

patrickkettner commented 10 years ago

@timo are there many features that would come out that would make a future non-ie8 version of boilerplate untenable for the people still developing for IE8 sites? I am not sure why they wouldn't continue to use the legacy boilerplate for the legacy browsers.

On Sat, Apr 26, 2014 at 10:06 AM, Timo notifications@github.com wrote:

please do not drop IE8 at the moment! about 5% is huge wait until its about 1-2% i know a lot companies using IE8 and no NOT with XP but with windows7 because IE8 is the default browser coming with windows7 and some companies do not upgrade the default browser!

Reply to this email directly or view it on GitHub: https://github.com/h5bp/html5-boilerplate/issues/1524#issuecomment-41469576

lhwparis commented 10 years ago

for example the normalize.css 3.0 was a bigger one or remove of conditional html tags. i and many others has to develop for IE8 but we dont want to keep out future improvements on boilerplate so what i have to do in the future if IE8 support is killed, is to backport all that featrues. question other way around: which IE8 things disturb you in h5bp? in my oppinion h5bp should be a starting point for all web projects and when IE8 is a significant part of the web it has to deal with it. its the wrong way to think when h5bp kills IE8 support its usage will drop faster.

jpdevries commented 10 years ago

@timo what about just not updating to the next major version of h5bp for IE8 projects? — Sent from Mailbox

On Sun, Apr 27, 2014 at 3:01 AM, Timo notifications@github.com wrote:

for example the normalize.css 3.0 was a bigger one or remove of conditional html tags. i and many others has to develop for IE8 but we dont want to keep out future improvements on boilerplate so what i have to do in the future if IE8 support is killed, is to backport all that featrues.

question other way around: which IE8 things disturb you in h5bp?

Reply to this email directly or view it on GitHub: https://github.com/h5bp/html5-boilerplate/issues/1524#issuecomment-41492584

lhwparis commented 10 years ago

like i said i dont want to miss new h5bp features only because i have to support ie8 thats odd. my projects are not IE8 only so i want to develope state of the art with newest boilerplate for modern browsers.

jpdevries commented 10 years ago

well, it’s breaking changes which is what major releases are all about. Dropping IE8 would constitute a major feature bump I assume and if so are there plans to keep a 4.x fork of h5bp updated?

jonathantneal commented 10 years ago

@lhwparis, developers will have a choice on which branch works better for their project’s needs. As for future branches, I don’t encourage any of us to spin up defunct XP machines to test and develop IE8 experiences.

My vote: Drop IE8. Move the boilerplate forward, put effort into the IE9+ landscape, and leave behind any legacy CSS and JavaScript. More importantly, update the conditional comments, especially considering Microsoft’s own lack of support, and encourage users to move away from IE8. Basically, follow the changes outlined in @alrra’s discussion starter, and give developers the choice to code in a post XP world.

alrra commented 10 years ago

i dont want to miss new h5bp features

@lhwparis don't worry, information will be provided so that new features can be easily integrated.

are there plans to keep a 4.x fork of h5bp updated?

@jpdevries if after we drop support (currently planned for v6.0.0) there will still be a need, we will probably do a couple of v5.x.x releases, but only for critical bug fixes or to update the external components.

lhwparis commented 10 years ago

as i said in my oppinion h5bp should be a starting point for as many web projects as possible in latest version. if this includes IE8 support because there are even 5% of that browser it should be supported. dont think boilerplate will profit much from dropping IE8 support? what planed features cant be done with IE8 support in there? this little amount of extra bytes doesnt matter.

jonathantneal commented 10 years ago

h5bp should be a starting point for as many web projects as possible in latest version

I am not convinced that a 5-year-old, vendor-unsupported browser with a declining 5% market share should be supported in the 5.x branch, nor should it prevent us from creating a 5.x branch that is cleaned and simplified for newer browsers.

this little amount of extra bytes doesnt matter.

In that case, I recommend you continue using the 4.x branch or contribute any future extra bytes to the 4.x branch.

what planed features cant be done with IE8 support in there

For starters; jQuery 2, shivless boilerplates, recommendations for media queries, use of advanced pseudo-classes over class chaining, off canvas menus (transforms), WOFF, TTF, SVG, use of opacity and rgba, base64 embedding, prototype defining, any mention of websockets, or any HTML5 video, audio, or canvas related stuff.

mschmidt18 commented 10 years ago

How is IE8 vendor unsupported? Support for Internet Explorer follows the support life cycle of the OS it is installed on. Since IE8 is the default browser included in Windows 7, it is still very much supported.

On Apr 27, 2014, at 5:00 PM, Jonathan Neal notifications@github.com wrote:

h5bp should be a starting point for as many web projects as possible in latest version

I am not convinced that a 5-year-old, vendor-unsupported browser with a declining 5% market share should be supported in the 5.x branch, nor should it prevent us from creating a 5.x branch that is cleaned and simplified for newer browsers.

this little amount of extra bytes doesnt matter.

In that case, I recommend you continue using the 4.x branch or contribute any future extra bytes to the 4.x branch.

what planed features cant be done with IE8 support in there

For starters; jQuery 2, Normalize 3, shivless boilerplates, recommendations for media queries, use of advanced pseudo-classes over class chaining, off canvas menus (transforms), web fonts, SVGs, use of opacity and RGBA, base64 embedding, prototype defining, or any HTML5 video, audio, or canvas related stuff.

— Reply to this email directly or view it on GitHub.

jonathantneal commented 10 years ago

First, let me acknowledge that, technically, IE8 for Windows 7 is still under mainstream support until January, 2015.

Now, as your analytics should reveal, those IE8 users are Windows XP users. These folks usually belong to large organizations stuck on IE8 due to third-party “plugin” dependencies. These users have no upgrade path for IE8 because IE9 leveraged Direct2D for hardware acceleration, a feature unavailable in Windows XP.

Now, Microsoft has ended Windows XP support.

@alrra had a great idea. Maybe v5 can be our last IE8 release, and at that point we spell out the intention to drop IE8 in v6. Maybe then we can even follow the practice of supporting the last-two versions of any browser at the time of release, as others have adopted.

If that is the case, and some of you are still displeased, then I would ask this question: what are you developing that you must upgrade the version of H5BP the moment a new release comes out?

Lastly, for humor, we knew this was coming.

lhwparis commented 10 years ago

i do not upgrade my h5bp ever in a running project but i will start several new (ie8 supported) projects over the next year and i want to use an up2date boilerplate when i start. my stats say there are many IE8 users on windows7 out there its not the case that these are all winXP users. as i said i know several big companies running IE8 on windows7 as there default browser and this will not change over the next month.

v5 last IE8 supported release and remove the support in v6 sounds like a good plan to me +1 maybe you can commit to fix critical bugs (if there are any) for at least 6 month in v5 after v6 is released?

lhwparis commented 10 years ago

btw according to statcounter global marketshare of IE8 is still 6.5% (8% north america) and is the 4th most used browser worldwide (behind chrome, firefox, ie11)

davidjbradshaw commented 10 years ago

This is a rather good article about just how slowly IE8 is dying.

http://exisweb.net/ie8-will-not-die-quietly

Sadly you can make a better case for dropping IE9 and IE10, than you can for dropping IE8. With the decline of IE6 I worked to the rule at 5% market share, we started to allow rough edges to sites and at 1% we completely gave up support. Currently we're 2-3 years away from 5%.

jonyo commented 10 years ago

Interesting article, will be more interesting to see if that trend continues now that xp support has ended. That article wasn't talking about that perspective.

jeffreybarke commented 10 years ago

Regardless of the market share, what are the actual implications of dropping IE8 support?

@alrra mentions the following (I've struck through the changes I don't find compelling, comments below):

  • Remove IE8 related code
  • Switch to jQuery 2.x.x
  • Update conditional comments for "browse happy" prompt
  • Update documentation
  • Other (which?)

The first bullet point seems like more of a header than an actual bullet point.

Personally, I would remove the "browse happy" prompt from the boilerplate altogether. It has never struck me as classy and, if this is truly a generic boilerplate, it seems too specific given the various browser matrixes potential users have to support. I also highly doubt that the majority of our employers/clients would be okay with the "browser happy" notification. I think this should be moved to the extend.md documentation.

Unless I missed something, I didn't see anything IE 8 specific in the docs.

So basically the only IE 8 (un-)support decision to make is whether to upgrade jQuery or not. Why not include both the 1.x and 2.x versions of jQuery in the js\vendor directory? You could add a commented out call to whichever one you decide is primary and then update the README with a note?

jeffreybarke commented 10 years ago

@jonathantneal, are any/all of these planned features for the HTML5 boilerplate?

jQuery 2, shivless boilerplates, recommendations for media queries, use of advanced pseudo-classes over class chaining, off canvas menus (transforms), WOFF, TTF, SVG, use of opacity and rgba, base64 embedding, prototype defining, any mention of websockets, or any HTML5 video, audio, or canvas related stuff.

While shivless boilerplates are nice, you've already removed the IE conditional comments from this one (+1) and you've got the shiv in Modernizr "for free."

More recommendations for media queries would be nice, though you currently have one, so IE 8 already isn't supported. If anything, I'd like to see respond.js added to the js\vendor dir and the docs updated with an example of using yepnope to load it.

Why would the boilerplate CSS have advanced pseudo-classes? Actually, why would this boilerplate have any of the rest of the technologies you mention?

roblarsen commented 10 years ago

While shivless boilerplates are nice, you've already removed the IE conditional comments from this one (+1) and you've got the shiv in Modernizr "for free."

I assume a version with no IE8 support would be a shivless custom build of modernizr.

drublic commented 10 years ago

If anything, I'd like to see respond.js added to the js\vendor dir and the docs updated with an example of using yepnope to load it.

We've had respond.js removed with the discussion in #816. Please see commit af98e6fc516c1e9bef640307f66cf719289890b5.

I assume a version with no IE8 support would be a shivless custom build of modernizr.

True. I think up until then there might be Modernizr v3 which will give us a totally new way to deal with custom builds. But the shiv won't be included in this version for HTML5BP anymore.

lhwparis commented 10 years ago

respond.js is a total fail in big and heavy javascript projects. it causes many performance issues and many side effects. its good that its removed. my prefered way of dealing with IE8 and mobile first responsive templates is to build custom mediaquers-stripped css files for a static resolution like 1024 for IE8. this script for example does this job: https://github.com/jtangelder/grunt-stripmq . why not adding more media queries and give users a hint to use the boilerplate build script and include stripmq into it?

davidjbradshaw commented 10 years ago

Give this seems to just come down to which version jQuery to support and that IE8 is still a few years off being finally dead. Is their a good reason to not just conditionally load the correct version?

<!--[if lt IE 9]>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.1.min.js"><\/script>')</script> 
<![endif]-->  
<!--[if gte IE 9]><!-->
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/vendor/jquery-2.1.1.min.js"><\/script>')</script>
<!--<![endif]-->

It's then also pretty clear what to get rid of if you don't care for IE8.

alrra commented 10 years ago

Is their a good reason to not just conditionally load the correct version?

@davidjbradshaw see #1353.

arthurvr commented 10 years ago

Last comment in this issue was about 2 months ago... These are some newer usage estimates:

matheuslc commented 10 years ago

Would not a better idea load jQuery Migrate if IE 9 < ? Like that.

<!--[if lt IE 9]>
    <script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>
    </script> 
<![endif]--> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/vendor/jquery-2.1.1.min.js"><\/script>')</script>
alrra commented 10 years ago

@matheuslc please see my previous comment.

tjbarber commented 9 years ago

IE8 stats are now:

W3Counter: 2.87% Clicky: 3.13% Statcounter: 4.10%

It's consistently dropping like a rock, so I'm hoping we can quit supporting IE8 pretty soon..?

arthurvr commented 9 years ago

Other (which?)

Just to finish the bullet list of things that should be done: The README should be updated.

julienetie commented 9 years ago

IE8 is almost fin! (kart wheel)

So, unless your new project has dependencies on a demographic that requires ie8 (eg. China) or has to integrate with something that depends on IE8, make a notice or redirect to something like http://browsehappy.com/.

Development cost, testing, polyfills & headaches...is it feasible?