Well, at least they were balanced enough to let Nicholas post a response.
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.
I expect much of the remaining whining comes from the disparity between stakeholders wanting to support everyone, and their developers wanting to let the IE holdouts suffer the consequences.
Stop blaming the main culprit for blocking technological progress over the last decade?
I say those who forget history are doomed to repeat it.
Never forget IE6 nazism.
IE lags advanced features with years late. This is hurting web developement.
I don't understand how anyone can find this perfectly normal, or even acceptable from a major vendor like microsoft, the company supposed to bring technology into every people's house.
I'm not disagreeing with you, but I'm curious to know why, exactly, it does hurt web development? I believe more people use modern Gecko/WebKit than there are iPhones, yet we'll happily make an entire application that is limited to the just the iPhone device and not think twice.
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).
It does not hurt my web development much, you are totally right. I am more concerned about the fact that the limitations and difficulties brought by browsers I don't use applies also, to me, through the products of other people.
A couple of years ago there was a lot of talk about how the web development advances so much slower than native languages, and that it will take a decade or more before you'll be able to do the things you can with native apps right now.
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.
Accurate browser numbers are always hard to come by, but for argument's sake, let's assume:
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?
To make money through a website you (typically) need to put disgusting ads on it (apart from actually making the site and service). To make money in the app store, you create the app (and service) and sell it. I like the latter a whole lot more than the idea of putting banners and ads on my website. I get your point, and agree with it to a certain extent; i just wanted to point out that mobile development (iOS, and to a lesser extent Android) and web apps are not necessarily very similar from a business perspective[1] and that sometimes it makes sense to target 1 million iOS users instead of 60 million web users.
[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.
Some good points. However, I made a follow up post (http://news.ycombinator.com/item?id=4233820) that sticks to just the web browser domain, negating any gains that may come from alternative business models. Even when mobile web usage is relatively small, business are still generally putting in a lot of effort to build mobile-specific pages.
> Yes, complaining is useful to get people to listen. Microsoft is listening, so continuing to complain doesn’t do anything except perpetuate an attitude that I would rather not have in Web development.
That makes no sense. He says that complaining made MS listen but then he says to stop complaining because it creates a bad atmosphere...
I agree with a lot the author's views. The fact is that as long as you cater to problems of the past, you are stuck with them. If you start giving people a compelling reason to upgrade, many will.
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.
We probably could have but we'd rather be tackling bigger issues regarding the software. LedgerSMB still has a ways to go to compete head-to-head with mainstream solutions and we'd rather spend our time going that direction if our current users are ok with being asked to use a different or newer browser.
The biggest issue holding back Web Development isn't Internet Explorer. It's incompetent developers.
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.
From my meagre experience, the biggest problem with IE6 and 7 (and to some extent 8) is incorrect layout.
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.
"The biggest issue holding back Web Development isn't Internet Explorer. It's incompetent developers."
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.
> 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.
I used to think that, but honestly the desktop lost in 2005 with the rise of Ajax. There's probably no way back. And HTML5 is even doing markup elegant.
If anything, I see the same pattern on mobile as on desktop:
- Native is the only way at the beginning
- Multiple platforms appear
- Devs begin to see the cost of developing x times the same app
- Browsers get more powerful and easier to program, native functions are made available on the browser.
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.
Absolutely spot on. It really bugs me how much all developers around the world have to suffer because they have to go to great lengths the stretch this framework to do things that it was never designed to be capable of.
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.
What GUI frameworks out there are more pleasant to write client-server GUI apps in than the modern web?
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.
> technology at the foundation of the web is all pretty shitty for building real applications
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.
Just stop supporting IE6 and IE7 then tell users they need to upgrade. If enough sites did this then these browsers would go away. People could even recommend that IE8 be upgraded. Legacy support takes non-zero time. Apple drops legacy hardware support pretty quickly, for example. Being "lazy" has its advantages.
What you think about legacy browsers is irrelevant. If 5% of your clients users use legacy browsers then they'll not want to throw that market away just because their web developer is terrible at his/her job.
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.
You may not think about it but by NOT supporting those 5% or telling them they have to upgrade (which is unbelievably easy) saves much, MUCH more than 25,000. Hell, my friends dev team wasted thrice that just adding support for a heavy JS web app.
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!
Read the article. It pushes Progressive Enhancement, so if you are building an app that relies on JS your only choice is to either strip back the JS or ditch older browsers. My beef is with normal websites that don't support legacy browsers.
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.
How many times are we going to have the same argument?!?!?!?
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.
As many times as it takes for you to realise that you don't have power over everyone's IT department.
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.
Everyone already realizes that. Now when you realize that we do realize then we can make some progress.
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.
As long as Microsoft will not implement the same features, in a similar time frame and in a compatible way as the other browser vendors they should be blamed and shamed.
The article says IE9 is a damn good browser without qualifying why they think that it is, I respectfully disagree.
I agree. The speed at Chrome and Firefox are evolving is mind-boggling. There's WebGL, WebRTC, new Audio APIs, transitions, css filters and it feels like every other week there's something new that isn't just implemented but actually pushed out to the user. Microsoft is nowhere close to that.
There's WebGL, WebRTC, new Audio APIs, transitions, css filters and it feels like every other week there's something new that isn't just implemented but actually pushed out to the user
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.
You have no sympathy for the fact that they've done the right thing in rebuilding the browser from the ground up to prevent future problems which has been what's slowing them up?
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.
They are behind the other vendors as a result of decisions they made in the past. They make my job more difficult daily and make the web worse for millions of people.
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.
Your job is being made more difficult by using non-final HTML draft-specifications in production web-sites and relying on them to work in all browsers before the spec is finalized.
That is your choice. You made that problem yourself.
That's just silly. Since the changes wrought by WHATWG to the standardisation process it's become obvious we can start using a lot of this stuff in parallel with the progress to a final published spec. Are you seriously saying that nothing in the specs is meant to be implemented until 2013 or whenever the final date is?
Instead of starting over and building another browser rendering engine from scratch, they could have switched to Webkit, putting their development cycles to better use contributing to a mature, stable, Open Source browser. Thereby improving the web for everyone, and making their browser the better for it. Why is it commendable that they had such an opportunity and instead decided to re-invent the wheel (again)?
Agreed. Microsoft is on a much slower development pace than Chrome and Mozilla, which theoretically shouldn't affect how how many features they build in the next version that comes a year later.
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.
As long as Microsoft will not implement the same features, in a similar time frame and in a compatible way as the other browser vendors they should be blamed and shamed.
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.
I'm curious as to what is in it for Microsoft to maintain their own rendering/JS engine these days. It would seem simpler for them just to build IE on top of webkit/V8 like everyone else.
> The only reason it doesn’t have all of the features as Chrome and Firefox is because they rebuilt the thing from scratch so that adding more features in the future would be easier. Let me say that again: they rebuilt the browser from scratch.
Is there any source for this? I doubt that IE9 was build from scratch.
"With IE9, we rewrote our layout engine from scratch." -- Jason Weber, lead program manager for IE performance [1]
"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]
We've seen IE 6 usage drop to below 2%; and that is with almost all of our customers being business users too. We don't deal with governments or the military however so your mileage might vary.
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.
It's great that Microsoft has (for whatever reason, it doesn't matter) taken up the banner of standards compliance, modernization, etc. It doesn't change the fact that IE9 is still a pain in the ass for real-world developers making the current generation of applications. I'm not talking about web sites, I mean the full-featured applications we engineers claim can be done in modern "HTML5" browsers without plugins. When the business people say "ok, we want one", one of the first discussions everyone has is which browsers have to be supported. That's really code for "how much extra do you want to spend to make it look right in Internet Explorer"?
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.
There's a difference between "blaming IE" and "stopping innovation". We blame IE because we don't want to get into the same situation again, not because we don't innovate.
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!
I believe IE 6+, are perfect. The are functioning exactly as designed to prevent web apps from competing with Microsoft's bread and butter desktop apps. They do that by forcing developers to choose between writing non-standard stuff that ties them to Microsoft or increasing my development costs by supporting their weirdness + the standards.
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?
67 comments
[ 4.0 ms ] story [ 49.7 ms ] threadThat's about the sum of it
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.
[1] http://en.wikipedia.org/wiki/Godwins_law
Yup that's all.
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.
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.
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.
'In work why two browsers are better than one'
http://fundsacademy.com/blog/
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.
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.
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...
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.
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.
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!
No. It's not.
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?