It’s Time To Stop Blaming Internet Explorer
smashingmagazine.com
smashingmagazine.com
I agree entirely with this post. Sure, coding a site to work in IE6 is a pain in the ass, especially when working with JavaScript-powered elements on a site that need to work in every browser. I've always followed the Yahoo graded browser support (http://yuilibrary.com/yui/docs/tutorials/gbs/) baseline when building new sites and have even moved it over to personal projects.
I would chalk it up to experience with older browsers, but I've worked with students fresh out of university that have had to pick up projects that have IE6 as a requirement, and they've coped just fine. Many of the developers that are so up-in-arms over cross-browser support are largely new developers or aren't that good at their job. They'll only be versed in what their favourite blogs will preach, they'll use any jQuery plugin or JS polyfill they think sounds good to make their site better, they've never used the profiler within Firebug and never check the size of their web pages. I spend a lot of time on /r/web_design on Reddit and it is not uncommon to see users posting "great websites" that use Modernizr to "make their sites cross-browser" and weigh in around the 5-10MB mark for something as simple as a basic home page. A large number of front-end developers probably wouldn't last a month at your average agency or development team for a large website.
We all want IE6 and to an extent IE7 to die a horrible death, and Microsoft have clearly done their best to try and get people off a dead platform and onto a new OS. However, we're not talking about rocket science, we're talking about rejigging some code or learning the nuances of each browser your users use. Quoting the latest StatCounter figures (or whatever backs up your argument) to provide an argument for ditching old browsers will have battle-hardened developers laugh in your face, because they aren't your users!
If you're making an application then you have a case for not supporting legacy browsers, but if you're complaining that setting up your crappy WordPress-powered site is too hard in IE6 then either shut up or find alternative employment.
Beyond very simple pages, it becomes almost impossible to get the same page to look even remotely the same on both IE6 and modern browsers. One solution I've seen used is to disable styles entirely on IE6 (and suggest Chrome Frame) and deal with IE7/8 quirks only.
IMO the biggest issue holding back web development is that the technology at the foundation of the web is all pretty shitty for building real applications and now we have hacks upon hacks to have a stateless protocol meant for document display to act as a full application environment.
Don't get me wrong, I stand in awe at the amazing things some people are able to build on this shaky foundation and I don't discount how incredible it is that the web even exists at all with buy in from all the major corporations (Google, MS, Apple, etc) who otherwise want to rip each others throats out... But at the end of the day, ignoring all of the context of history, if the web didn't exist and I asked someone to come up with a way to develop rich, secure, network-bound apps and he went to work on it for some years and the wire protocol he came up with for it was anything like HTTP/HTML/CSS/JavaScript, I'd think he was a complete moron.
That is what the OS and desktop is for.
Yes there is, native applications in mobile devices.
Have you seen Boot to Gecko? I've seen that in real on a phone, that looked real good. Don't know how the day to day use is, but is not mature yet and will probably gain capabilities. I see lots of potential in that kind of technology.
We've done well to get as far as we have with HTML5, JavaScript and everything else in-between. However, the web is not a suitable platform to develop on. Sure, it's very handy and there are some applications that work well on the web (i.e. Gmail) but people keep going overboard with their ideas, trying to create graphics applications and "Web OS's" and other tools that really just don't work.
I think Zed Shaw also mentioned a lot of these issues in one of his talks recently.
There was a lot of cross-browser compatibility issues developers had to deal with. Now cross-device is also added on top of that.
I'm amazed at how we got where we are, too. But I don't feel that it's a particularly shaky combination. A markup format, the abstraction of stylesheets, and a powerful scripting language to make the documents 'alive' - it seems like The Elements.
I really feel as though, if we set out to do better than the web, we'd either end up with applets or what we have now.
What we need is for people to stop wasting their time on those semantically-impaired application silos and contribute more useful (progressively enhanced) content before the web of multipurpose hypertext completely disintegrates.
If a company is making $1M over two years and 5% of their customers use legacy browsers you're missing out a potential $25,000 a year, probably more than you'd charge for "legacy browser support" for the lifetime of that website. This simply isn't your decision to make, and if your tech-illiterate boss found out that you don't want to do it because it's hard then they'd be pretty annoyed.
As I said before, either learn to do your job correctly or find alternative employment.
They complain about the cost and later said it'd cost a 1/10 to just get their admins off their fat hairy arse and update their computers. If not that, you could even use Chrome frame!
Regardless, you don't get a choice in what your users use, and more often than not they don't have a choice in what they can use or install. Chrome Frame is a good option, but the average user isn't going to jump through hoops to view your site and if the average marketing manager looked through a site the requirement for an external tool before a user can use the site would be the first issue flagged.
As I said above, it's not hard to get a typical website working in IE6-8.
There is always a choice. IT departments can, and do, install modern browsers on people's desktops. IE6 can run along side Chrome, for example.
The guy sitting in the cubicle doesn't have much say when the upgrade happens. When the guy in the corner office starts to feel the pain, a few phone calls are made and something gets done. If you keep pushing progressive enhancement then we can support IE7 and IE8 for another decade. Of course, the amount of Javascript that you can use on your site will be limited.
Yes, installing a browser is trivial, but people are at this offices to do work. The argument is that these people shouldn't be browsing the Internet in the first place.
The only thing keeping these dead browsers alive is legacy operating systems, and Microsoft needs to find a way to get people off of XP. If Microsoft can kill XP and get people on Windows 7 then IE6-8 are gone from the equation. This is the real battle, not whether you can be a lazy developer.
Once it becomes uncomfortable enough for enough people, or the right people, then IT departments will respond. That's how many departments work. Push change out as far as possible.
As I have already explained, there's an opportunity cost for supporting legacy. Companies like Apple are quick to drop legacy, and move forward. It works quite well for them. Google doesn't support less than IE8 for their apps (are they being lazy?). They claim to only support the last two browsers. It'll be interesting to see what happens when IE10 ships.
One thing that I think would be useful is to tell people that your site no longer "officially support" browser X before you actually stop supporting it.
Is this a case of taking statistics too far? To hear that only 50% of the people with web browsers can use your application doesn't sound great, never mind that 50% in real numbers is far greater than 100% of iPhones (or whatever, insert your own example here).
IE is just another desktop browser with essentially no intrinsic value over the alternatives.
That's exactly what this is about. Microsoft is the one slowing the web development even more now, by not adopting the latest features on time.
IE: 40%, Mobile: 10%, Other modern desktop browsers: 50% (Numbers based on Wikipedia's browser market share page)
Current thinking has us building a website that works for all of those browsers, and then building an optimized version that works better for the 10% of mobile users. I've visited many sites on my mobile devices that are complete rewrites, using browser-specific features, of the regular website, for 10% of the users.
Yet, we completely refuse to use features found in 50% of the browsers because Microsoft hasn't implemented them yet. This is where the math falls apart. If resources are limited to two implementations, wouldn't it make more sense to provide a better experience for 50% of the users, and still provide the basic version for Microsoft/mobile users?
If 10% of users are enough to warrant a completely different website version as has been demonstrated with the rise of mobile users, then why not build three variants? One mobile, one old web technology version, and then one using bleeding edge technologies? What is it about Microsoft's latency in feature implementations that you speak to that prevents the latter version from even being considered?
[1]: Of course, you can sell subscription on web too. It's just that far more people are willing to purchase a $5 Instapaper app on the app store (or upgrade their account for $1/month to search within their saved articles through in-app purchase, that literally requires two click (and entering your password), than there are people who would give you their credit card number to purchase your web service.
In the LedgerSMB project we made a decision back in 2006 to only support browsers with features that made our lives easier. Because of our i18n framework, we decided to drop all support for all browsers that didn't support button elements per the standard. Yes, at the heigh of IE6, we dropped support for IE6. However, we could do this because would tell businesses "if you want to use LedgerSMB, install Firefox." This wouldn't have worked for the general public, but for the general public we probably wouldn't have done i18n much at all. But anyway we chose buttons because according to the standard, what you display and what is submitted are only loosely coupled, which makes i18n easier (just translate the inner string and leave the value constant).
IE6 handled buttons horribly. When you clicked on a button element of type submit it would send the value of all buttons on the form. Worse, it submitted the wrong information (innerHTML instead of value). This made it impossible on the server side to see which buttons were actually clicked. Too bad. Then IE7 came out and it was better. We thought at first we could support it. But we were wrong. IE7 still sent innerHTML instead of value.
We had to wait until IE8 to support IE again.
I think that this is what the author is getting at when he laments people blaming circumstances they can't control. We looked at it and we asked "what choices do we have? What should we do?" We then decided that we wouldn't be hurt too badly at the time by dropping IE and that turned out to be a good bet. In the end it really is about choices and how we think about them. An e-commerce site may have different choices available than we did. But you make your choices and you do the best you can.
Technically for your precise case you could probably have rigged a JS shim to fix IE's behavior, something along the lines of:
* On click of an input[@type=submit] or a button
* Disable all other input[@type=submit] or button
* On form submit, setTimeout(re-enable buttons) then un-register self
The fact that it also sends retarded stuff would probably be harder to fix, but not much.
Though I can easily understand that being considered "not worth it", it's a hack (as most shims are), and unless you had a big customer base clamoring for IE support there wasn't much value in it.
That makes no sense. He says that complaining made MS listen but then he says to stop complaining because it creates a bad atmosphere...
1. Believe that the complaining was to effect change
2. Believe that that change has been effected due to Microsoft's actions in trying to kill off IE6.
(This seems to be the position he is taking based on my reading)
If you agree with the above then further complaining serves no purpose except to vent your frustrations which is his main point.
Of course if you do not agree with the above then that is fine, but saying "makes no sense" is a tadge harsh.
Yup that's all.
You can make blanket statements that anyone who has trouble with IE9 is incompetent, but I know from working with them that we have an amazing frontend team who are building a great "desktop quality" application. And the numbers in the bug database tell the story: 37 IE9-specific issues reported, only one or two for other browsers. These aren't issues of baseline support or graceful degradation, they're basic behavior and layout problems. Some examples:
IE9: When editing the xxx field it overlaps the chart icon IE9: Data points not displayed when hovering the mouse over the locus points in chart IE9: xxx dropdown is obscured by above pane and also overlaps start date IE9: Clicking on Logout link spawns Session Time Out modal even though session has not expired
Can smart developers fix these kinds of problems? Sure, they can and do. The question is whether it's worth adding 15-20% more work to a project to support IE9. Is it time to stop blaming Internet Explorer? Not at all: it's time to start properly accounting for the effort it takes to support Internet Explorer so that businesses can weigh the true cost against market share when making the "minimum browser" decision.
To me this article misses the point, things like progressive enhancement is part of the extra cost/complexity that I have to absorb when I don't choose Microsoft. Every time I have to do ANYTHING beyond following the recent standards to the letter, Microsoft has succeeded with their strategy of forcing me to choose them or raising my cost to compete with them.
Yes there are a bunch of techniques that can help once you choose to absorb the cost, but how I am a crappy developer or a whiner for not cheerfully accepting the burden?
The iPad has a higher usage on our properties in every measurable way.
A lot of web developers I've known who complain constantly about IE7 and newer are also still developing for quirks mode for some ungodly reason. While IE7 definitely isn't perfect, when you use it in strict mode it seems at least as consistent as Firefox or Chrome are.
It seems the call of "IE sucks!" has almost become so ingrained that people can rarely justify the opinion (ditto with "Vista sucks," "Windows is insecure," "Macs cannot get viruses," etc). Frankly once an opinion reaches critical mass in the technology world certain individuals just start parroting it without any thought or consideration as to WHY it was true in the first place.
Ye, I'm totally sold.
No. It's not.
The author doesn't seem to understand this distinction. Therefore he contradicts himself as in:
'It’s not actually old browsers that are holding back the web...“old browsers”, just represent constraints to the problems that we have to solve. '
Yes, constraints can inspire innovation, but removing them inspires even more!
Is there any source for this? I doubt that IE9 was build from scratch.
"Microsoft debuted the new browser at a launch event at South by Southwest (SXSW) in Austin, Texas. Dean Hachamovitch, the corporate vice president of Internet Explorer, told the story of how Microsoft built IE9 from scratch." [2]
[1]http://www.geekwire.com/2011/geeks-guide-to-ie9/
[2]http://mashable.com/2011/03/14/after-40-million-downloads-mi...
'In work why two browsers are better than one'
He posted something similar on his own blog (actually most of it is the same with some editorializing), and I have to agree. All the whining about Internet Explorer is really getting old. As Nicholas said, there has been enough whining. Microsoft has already listened, Microsoft has already made an effort to get people off IE 6-8 and onto IE 9, and Microsoft is pushing IE 10 hard with Windows 8. Beyond that, do we really need more whining? If it's users of old browsers you have a problem with, either suck it up and support them, or just don't support them and either make them see the hard way that they need to upgrade their browser, or see them go to a different web site and save yourself some work and/or whining.
The article says IE9 is a damn good browser without qualifying why they think that it is, I respectfully disagree.
And all that before any of the features has been standardized and finalized.
And now we hate MSIE for in the past doing what Chrome is doing now while at the same time we hate the current MSIE for being what we demanded MSIE to be in the past.
Mindboggling indeed. Sounds like Chrome is the new MSIE to me.
From an engineering perspective this is absolutely the right thing to have done, something technologists would have encouraged them to do at the time in the long term interest of the product. It has short term draw backs (some constraints on functionality in the current version) but was the best decision for the product and, given that IE as the default browser on Windows will always have a significant market share for the web in general, for the web in general.
Sure, say that it's not as good as Firefox and Chrome right now but "blamed and shamed"? It feels to me as if you're coming pretty close to beating up on someone for doing the right thing.
The decision not to provide an upgrade path beyond IE8 on XP has been a particular road-block in getting people onto better rendering engines.
Of course I'm glad they are improving but ideally I'd rather they got out of the browser game entirely.
While it will always be messy around the edges, five companies with 20% market share each would be the best thing for a genuinely open web.
That is your choice. You made that problem yourself.
I mean let's say Chrome implements 1 major feature every 6 weeks, so that's 8 major features they add in a whole year for Chrome. So even if Microsoft doesn't update their browser every 6 weeks, but only once a year or once every 2 years, that doesn't mean they shouldn't have a similar amount of new features in the new version. But instead, they have significantly fewer. Even in IE10 there are a lot of things missing that have already been implemented in Chrome and Firefox, or are about to, and since they are not coming in IE, that means devs will have to wait another 2 years or more for them to arrive in IE11.
First Microsoft thinks HTML is too limited and creates new APIs which gets turned into drafts, which in turn gets standardized, albeit slightly differently from how Microsoft did it in the first place.
They get to choose to break all sites written for this API while still in draft, or get to break the standard. Whatever they do, people curse them for it.
Microsoft then says "You know. We get it. That sucked. We created that situation. It was our fault. Next time around, we wont mess around with draft-specifications in a release browser, luring people into prematurely using non-final specifications in production web-sites".
And now everyone hates Microsoft for being slow.
Evidently, as long as your name is "Microsoft", everything you do will be wrong, either it is a) pushing the limits, b) implementing the drafts, c) being compatible with deployed code, d) being compatible with the negotiated specification or e) waiting for the specification to be finalized.
Can someone please point me to the option f) which makes everyone happy?
If we held Google, Mozilla etc to these same super-hypocritical standards, I'm pretty sure everyone would just stop making web-browsers, since all you got for it was hell from ungrateful bastards.
That's about the sum of it