I ran across an interesting pair of opinion pieces on.net magazine last week. My websites will only support the latest browser versions by Aral Balkin, declares war on support for older browsers. His position:
Given that web technologies evolve constantly and relentlessly, it is of utmost importance that the gateways to the web – the applications that we use to access the web – be equally versionless and evolve in a consistent manner. Any browser that cannot (or will not) keep pace, becomes not a gateway but a *gatekeeper*, artificially limiting access to the latest and greatest (and only) web. Such browsers are Harmful™ .
The last thing we, as developers, should do is reward such harmful behaviour on behalf of browser manufacturers. If we support such behaviour with our time, effort, and budgets, we are sending a dangerous message that the sort of business-as-usual attitude that resulted in the IE 6 fiasco is acceptable. We should instead be telling browser manufacturers, loudly and clearly, that such harmful behaviour is not acceptable and will not be tolerated.
So far, so good. Compliance with standards, quickly patching problems, and rolling out new features are all positive things for those who develop and those who use applications. Then Aral crosses the line:
Authoring web applications that are heavily behaviour-centric is a whole different ballgame and involve orders of magnitude more complexity. Instead of mostly non-interactive documents, we are talking about massively non-linear, heavily-interactive applications. Applications that must go beyond maintaining presentational consistency across browsers and platforms to guaranteeing behavioural consistency also. If you think that implementing responsive design – which currently focuses mainly on presentational issues – is hard, try maintaining behavioural consistency across platforms and devices for a heavily behaviour-centric web app.
Now multiply the complexity involved in that task with having to support quirks in previous versions of multiple browsers and it suddenly becomes clear that the web, with the combined complexities of multiple platforms and multiple runtime (browser) versions, puts developers at a disadvantage when compared to certain native platforms. If we can remove some of that complexity, we can give the web a competitive leg up. Making sure that browser manufacturers make updates seamless in an effort to eliminate version fragmentation is a big part of helping make this happen. And this is why browser manufacturers who – either though incompetence or malice – do not implement seamless upgrades in their browsers are harming the web.
This is also why my websites will support only the latest versions of the major web browsers and why yours should do so too.
Yes, it’s hard to develop complex applications. Yes, differences between platforms complicate an already complex task. Dropping support for a client platform, however, is as drastic a response to that complexity as refusing to implement functionality altogether. It’s laughable to think that this would provide “a competitive leg up”. Punishing customers is far from a viable business strategy.
If Aral is speaking solely about sites of which he is the business owner, then so be it; his choice. Otherwise, he has just made the decision to cast adrift users/customers under the pretext of making a technical decision. I don’t believe it’s possible to overstate how wrong that type of attitude can be.
John Alsopp provided the counterpoint article, Develop for as many users as possible. John notes the many classes of users that may not be able to have the latest, from those in the developing world to those with visual impairments. In aiming at browser manufacturers, Aral risks making them the target. One paragraph from John sums it up perfectly:
At the heart of my concern about Aral’s manifesto is I don’t think we should think of our websites and applications as supporting browsers. We should think of them as supporting users.