Oh guffaw. The time has easily come where we are allowed to say "no" to several browser versions, or at least ignore them. Even Google has dropped support for IE6.
Supporting several browsers does not mean that a website has to look perfect in all those browsers. My sites will look good on the latest version of Chrome, IE, Opera, and Firefox.
Users of IE6/7/etc are already self-inflicting harm on their own web experience, why should we care to cater to them? They can have the website I display, but I'm not building the site for the past.
I don't care if previous browser users see the Best Of All Possible Websites, as long as they see something. And since I'm developing Canvas apps, I don't care if some of them see anything at all.
I imagine IE will reluctantly take the road of Chrome or FF and be more insistent about updates, especially outside of the corporate world. I also think that in the future the consensus will be that there isn't anything wrong with dropping support for aged browsers, and just displaying one "simple" site version to them.
We all have to do things we don't like in our jobs, that's just part of it being a job. I can even accept a certain amount of healthy advocacy. Encourage people to upgrade if you'd like. But outright refusal to do your best because your customer doesn't run the browser you wish they did is just a very odd tactic to take.
Oh, and you have to use this garden spade...
Oh, and the handle is made out of jelly...
Oh, and the ditch is on the beach so the tide will be coming in any time now.
Hyperbole, yes. Web development isn't exactly ditch digging, but if you really want to understand why so many web developers are openly hostile toward supporting these older browsers, it's because the exercise is tantamount to digging ditches with jelly-handled garden spades on a rigid time table. When you get in to these much, much older browsers, it's a back and forth game of break/fix whack-a-mole. It's broken in one browser, so you try to fix it by using another approach, only to find that it's now broken in the current browser. That or you end up using ugly work arounds that just cruft up the application and make maintenance a nightmare.
Ultimately this comes down to a business decision. I consider each browser version as a market to be sold in to. I may find it an unrealistic business proposition to increase my developer hours by 30%, just to support a specific browser, when there's a big fat market of current browser users ready to use my application.
But, if you* really don't enjoy what you're doing, do something else. There are always going to be browser differences and they're not all IE-related. But you're getting paid to know those differences and handle them so your customer gets a good experience.
* Again, "you" == the wider population of Web developers.
It's a matter of trade-offs that have to be made based on intended audience and information available. No need to be offended.
In any event, the cost argument is the purview of the business owner perspective, not the Web developer. And it's hard to look at in isolation. I don't know that many sites that wouldn't love to have another 5% of traffic. Yeah, it may cost more to support older browsers, but driving traffic to a site costs money, whether through ads or spending time on inbound marketing. Trying to bump conversion rates on your existing traffic costs money and time as well.
There's obviously a balance to it. At the extreme end, I know of businesses that support anything with > 0.5% market share because at the volume they operate at, it's worth millions. At the other end, I see startups fight tooth-and-nail working on their funnels, while throwing away legitimate sources of revenue.
Anyway, it seems like we both agree that it should be a deliberate decision.
Strangely enough, we didn't lose customers. It turns out that people were using NS4.x because we supported NS4.x. They will upgrade if they have a reason to do so.
If you've written the site/app well, it will work in Lynx, fer cryin' down the sink. It won't be pretty or slick, but it'll work. There is absolutely no need to make a site feature-for-feature identical or pixel-perfect across all browsers, as long as the functionality is there. And if users understand that their browser is holding back the experience, they will change the browser.
There are just a lot of vocal web designers on the web, go figure.
Don't assume users have a choice. Even if they do, don't assume they understand the choice.
>why should we care to cater to them?
If you want to ignore a % of your users, that's fine. Some of your competitors wont. That's your choice. Just realize you can be losing potential users/customers and that lesson about updating their browsers will be lost on the customers that went elsewhere.
Even if you display to 70+ browsers you can still get away with programming two versions, as most websites do today (or more than two, as most major websites do). One will simply be less complex and pretty than the other (CSS3, etc).
In the future I imagine that will be the standard: Modern version of a website, and then lowest-common-denominator version, which works with IE[X]+ and older mobile browsers, and stubborn/corporate firefox users, etc.
In my case I don't have a choice: Canvas cannot work on IE6/7/8. Excanvas works until animation is introduced, then becomes progressively worthless.
You know, as a long-time Linux and Firefox user, I've made that point to a number of newspaper web sites, etc etc etc. I usually get the written equivalent of an eye-roll.
Why is it that it's OK for a business to ignore Linux and Mac users (back when Macs didn't have such a huge mind-share). or Firefox and Safari users, but it's not OK for a busines to ignore the same fraction of Windows users?
I don't think it's "OK" as much as it is a business decision. Developing software for various platforms is vastly different (in terms of resources) than developing websites for cross browser compatibility. The barrier to entry in the web world is also much lower, which leads to a higher level of competition and as I mentioned if you don't support a browser, a competitor will. As you no doubt know, that same statement isn't commonly made about platform software.
Developer time spent supporting IE6 is developer time that could have been spent addressing feature requests or other issues impacting the rest of your user base. Or perhaps it could have been spent supporting a platform your product doesn't yet support at all, such as Android or iPhone.
Point is, there's always an opportunity cost for spending developer time supporting any feature or platform. No matter what you do, you're ignoring somebody. There is nothing special about IE6 users in this regard, particularly given that they are now a distinct minority.
If you're in a position where you can totally ignore IE8 users, that's fine with me; but that's not where most developers are at.
And I agree; the more time goes by, the more I want to provide a super simple version of each site to oldIE, like throwing the Universal IE6 Stylesheet to all of them.
Why would these users self-inflict harm? Unless they're the victim of a enterprise IT overlord, it's because they don't understand what they are doing. They probably don't even have a good mental model of what a browser is.
So when these users visit your web site with their old browsers, I doubt they think "Hey, this web site is rendering poorly because I have an outdated browser" they probably think "this web site is broken".
In the event you haven't received the memo: Google is one of Microsoft's largest competitive threats. By simultaneously attacking Microsoft's browser, Office Suite, and OS monopolies, they're pushing a large wedge into Microsoft's core competitive advantage (mostly installed userbase and inertia).
As others have noted, while browser share may not show much IE6 usage, it's large organizations (and their large bill payment capacities) which account for most of the legacy usage. A key point to keep in mind when trying to grok why "market share" (as a percentage of user-agent pageviews) need not translate directly into "our target user base". If IE6 pays the bills, then you'll continue to support it.
This said as no particular fan of Microsoft. Or, increasingly, of Google.
We're in late 2011 right? That puts Paul's "IE6 being a pain" in late 2007, right after the original iPhone was released.
Hell, by late 2007 IE7 was a year old already. And a significant reason why the IE project was restarted (and IE7 produced) is developers getting fed up with IE6, its bugs, its antiquated tools and its lack of progress, and Firefox had been getting more and more traction since its 1.0 release in late 2004.
Of course it makes sense that 2005 would have been such a sticking point: the web community had been playing around with CSS since ~2003 (CSS Zen Garden released that year) and was wrapping up the IE6 CSS bugs compendium (see above-mentioned On Having Layout, pretty much the culmination of the effort).
This would lead down a long and painful road re. IE6, but I think it was just getting started and not feeling it yet. On the Phoenix/Firebird/Firefox front, Chris Pederick's Web Developer Toolbar was still a year away.
edit: after thinking about it a bit more, i still think 2003 is too early for the IE6 pain point, but my 2005 might be too conservative as well. So I'd put the early pangs in early to mid-2004 for the "wider" community of developers interested in web technologies.
But even if we ignore the compat versions for now (and quirks mode (and almost-quirks mode)), we still end up with up to 10 IEs in play simultaneously.
"Edge" rendering on X browsers is still X different ways for all those stuck-in-time browsers to decide what "edge" meant at the time of their release or last update.
That meta tag is a good practice but not the ultimate solution.
We had one computer. And one program that ran on it. And we liked it that way.
(OK, but we had a gazillion VMs so we could all run our one program on our one computer, except that we could never schedule any CPU time).
I don't support browsers. I support standards. I stopped performing hacky compatibility gymnastics long before Google made it cool to boast how you weren't supporting IE6 anymore, and my workflow and sanity has improved due to it.
Imagine if this applied to the world of televisions. If people didn't buy Sony TVs because they didn't display channels as well as Sharp or Panasonic. If you had to render your video with some hacky kludge so the colors displayed right on a Samsung and an LG. That would be insane.
But I think the IE team will find a way to prevent this.
When IE7 came out, any company that still had any Win2k machines had to keep designing with IE6 in mind if they wanted their new apps to work on all their computers. (I'm making the assumption that if they were relying on IE previously, they couldn't just switch to Firefox or something).
Now, IE8 I think most people can accept is going to end up in IE6's current place. It's the IE dead end for XP, a hugely popular OS. But IE7? None of those companies that don't upgrade upgraded to IE7. Home users that upgrade will also have installed the IE8 upgrade. So you're left with what? Unpatched Vista installations. These are much rarer than unpatched XP installations simply because Vista had a shorter lifespan, and Windows Vista to 7 is sufficiently undramatic an upgrade for the types of people who would take years to go from XP to Vista.
So so far we have:
- IE6 will drag on as long as XP does.
- IE7 won't last particularly long. While it's popular now,
earlier Vista computers will be replaced in the close
future (2-3 years), causing it to lose market share to IE8.
- IE8 will have a long lifespan, although probably not as long as IE6.
IE10 will likely also go the way of IE7. While it will be installed by default on Windows 8, the amount of dramatic changes in W8 will scare off many of the companies that are slow to upgrade.
So in 5 years time, what versions of IE will realistically you need to support?
- IE6 (maybe - probably, hopefully, enterprise only at this stage)
- IE10 (enterprise will never use it because Win8 is scary and different to them
so for home users only)
- IElatest-1 So IE13 or something?
- IElatest IE14 or something.
IE6 for home users will be dead at that point. Most of those old early XP computers will be "broken" and replaced, even if "broken" is just slow and annoying. Using XP in five years will be like using Win98/Win2k. Yes, people do use them. No, they aren't a large enough group for most to worry about. I even have a small amount of hits from Netscape 6. I haven't a clue what my page looked like for them, and don't care.
In theory, if even IE is aiming for at least yearly releases from now on, no future IE will end up in the position that IE6 is in, and that IE8 will find itself in, as upgrading your browser frequently becomes a fact of life. The compatibility modes will be much less important too, as the shorter lived the browser, the less likely that the compatibility mode for it will ever be used.
(Sidenote: Sorry for the kludgy lists. HN has no proper formatting for them, and they were causing horizontal scrollbars)
IE7 is 5.25%. Probably slow moving corporations. Some of these guys won't upgrade to IE8/IE9 until they're forced to. So, let's stop supporting IE7 so they're forced to upgrade.
IE8 will be around for a couple of years.
IE9 is around 11.5%. Probably consumers who will gladly upgrade to IE10.
I wish. Our B2B ecommerce system has 34% IE6 usage, as of last week (although this has shrunk by half over the past year or so). I cannot tell 1/3 of our users to shape up -- especially since the ones that aren't upgrading are doing so because they're so big it's incredibly difficult for them. In other words, the ones still in IE6 are also the 800lb gorilla customers, to whom we can't make such demands.
I would love to stop supporting it, but my boss is unwilling to just stop earning the £100k+ a year they bring in.
What I'm getting at is that you should support what matters to your business. If your users are IE based, then you must support IE, plain and simple.
While my default position is to build for modern browsers, these kind of clients will insist on IE6 support, and however much it goes against our best intentions sometimes the customer's insistance is final.
For example one of my client's clients has a rule that disallows Ajax HTTP POSTs - when I asked why they said "security - and it's not going to change".
So upgrading isn't a technical or a feature request - it's a total mindset change.
Only support the last two version. Warn people who come to your site that they are using an outdated and unsupported browser. Point them to Chrome, Firefox and Opera, which are all free.
Cut the Gordian Knot:http://en.wikipedia.org/wiki/Gordian_Knot
I'd be happy to see it, and like I mention, prompting a IE7 user to upgrade to IE9 is currently just irresponsible.
You sure about that? Just because they're not officially supported doesn't mean a significant number of people won't still be using them.
Firefox 5 is < 10% and dropping.
Firefox 4 is < 5% and dropping.
Also from the same post:
The uptake curve got steeper between 5 and 6, which means
more people are updating faster.
You have to wonder how much of that is a selection effect. Since there was a change in the upgrade tempo in firefox, you'd expect to see the uptake curve get steeper even if overall user behavior hasn't changed, because the users that were on 5 when 6 came out would tend to be the more adventurous ones.
Edit: in other words, ff 5 didn't have as much time to accumulate less-adventurous users as ff 4 did, so the 5->6 transition will appear faster than the 4->5 transition.
Mozilla has more of a problem getting people to upgrade but I think they will if simply nudged.
I'm guessing both Mozilla and the users are holding back a bit until they get more confident with the add-on situation.
Firefox downloads a ~15MB update that might cause unacceptably bad performance, or even not complete in an ordinary browsing session for users on slow connections.
Chrome downloads a assembly diff on the order of a few kilobytes, disassembles its own binary, patches and rebuilds on the client machine, completely transparently and without intervention of any sort.
It depends on what you're updating. If you're updating from 3.6 to 4.0, across 18 months of work, then yes.
If you're updating from Firefox 6 to Firefox 7, say, then the update for Firefox on Windows is 6.5MB. The Mac updates are bit bigger because they're updating fat binaries. You can see for yourself at http://releases.mozilla.org/pub/mozilla.org/firefox/releases... -- the partial.mar is the update from 6.0.2 to 7.0.
> Chrome downloads a assembly diff on the order of a few
As of 2009, Chrome Courgette updates were about 80KB (compared to Chrome bsdiff updates of 700KB; bsdiff is what Firefox uses). This was for a total download of about 10MB.
At this point the total Chrome download size is a lot bigger; they have a lot more code; I would be surprised if their updates are smaller than 200KB. Or do you have data indicating otherwise?
One more thing. Courgette (Google's update tool) only works on x86 code last I checked. That may be one of the reasons they're not shipping a 64-bit Chrome even in environments where that's expected, like recent MacOS. And we'll see what happens when they port Chrome to ARM...
bsdiff, for all its faults, does not have those problems.
Now 200KB is still a good bit smaller than 6MB. And I agree that for users on slow connections this can be a problem. That problem is becoming pretty rare in the US, Europe, an East Asia, though.
IE isn't going to have advanced CSS3 support until version 10! However, Chrome, Safari, Firefox, Mobile Safari, and Android browser all support it already. It just seems that Microsoft is incapable of staying on the edge.
Also, this kinda seems like cheating: "While only recently a W3C specification, this system has been in use for some time by Mozilla and Apple for interface purposes." So they codified something that Mozilla and Apple were already doing, then said that older versions of the browsers already supported the non-existent standard. Impressive.
As you can see in the example pixelcloud cites, Microsoft does in fact implement features based on working drafts. They are already doing this with CSS3 transforms and will be doing so with CSS3 gradients, animations, transitions and flexbox. Therefore, that doesn't actually appear to be the issue at all.
"It's certainly arguable whether it's a good idea to implement draft standards that people write HTML for that then change under them."
Well, we are discussing CSS here, and that's what vendor prefixes (which Microsoft uses, too) help avoid.
"So they codified something that Mozilla and Apple were already doing,"
This is basically how the CSS3 standard progresses. Browser vendors implement a vendor-prefixed feature, and that feature works its way through the standards process. In fact, Microsoft does the same: http://caniuse.com/css-grid
Users of other browsers are on systems and/or workplaces which allow them to upgrade their browsers within reasonable time as new versions come out.
The MS-dedicated shops (and yes, I'm aware that most are large hidebound organizations, enterprises, and/or government entities) are stuck in their own labyrinths of fragile, massively interdependent, legacy systems.
This suggests to me that the modern vs. legacy browser war may actually be a proxy for ossified vs. agile organizations. There's still a great deal of power in the ossified side, but it will be interesting to see how comparative advantage plays out over the next 5-10 years (assuming the zombie apocalypse doesn't strike first).
So there's two options:
1. Innovate quickly and have access to amazing new browser features, but only cater to 60% or so of the market.
2. Support 100% of the market, but with considerable more effort (slowing you down).
Both approaches are legitimate. I prefer the first one, but the users who can't use my sites are going to want something equivalent for their outdated browser.
IE 7 is less than 5% market share now, almost the same as IE 6. I don't see how this predicts a future with 72 versions of IE. And how is this any different than Firefox? I am running Firefox 4 on my office computer - can't upgrade because of IT policy.
Why is the fast release cycle a problem for IE but not for Firefox and Chrome? why are the adoption charts different for IE than the rest?
For the average consumer, it's not really a problem.
I think the nightmare scenario couldn't possibly play out this way. We've all seen what really happens when there are too many browsers to support; web developers drop all pretense of supporting the least popular browsers, which would in a case like this be Opera, Safari, and maybe Chrome. And sites put up banners telling users to upgrade to the latest version of IE.
Yeah, so would we all. That's not really an argument.