jQuery in 2013 - or How to Properly Drop IE

It's a well-known fact that the folks at Microsoft have long had their tail between their legs, because of IE. The proverbial enemy of every front-end developer and the go-to brunt of the joke at conferences and chatrooms (and even in client meetings) has been IE8 and below.

Let's move past the IE bashing, and talk about jQuery's plan to drop support for old IE.

Don't entirely drop old IE until its usage is miniscule.

Certainly, there are plenty of web development firms that have already dropped support. Most of us have long since dropped IE6, with many doing the same for IE7. But there is still a significant push to hold on to the IE8 crowd.

The jQuery team has been plagued by IE for years. JavaScript in old IE (their collective moniker for anything below IE9) is antiquated, slow, and lacks the new features added to the language since their respective launches. As a result, the codebase of jQuery must incorporate solutions to handle issues specific to IE. This makes the library significantly larger, and as a result, it takes a lot longer to load. So, as part of version 2.0, jQuery will be dropping support for old IE.

Sort Of

jQuery is actually dropping the older versions of IE in a very graceful fashion.

Instead of completely dropping old IE in 2.0, they are going to maintain support for 1.9. By doing this, jQuery is doing two main things:

Understand the standards and why you won't support old IE.

Enabling and affirming new, standards-based browser technologies

Supporting an old standard (while continuing to label it old)

In other words, they are publicizing to everyone that, yes indeed, there is a user base still on old IE. This is the main argument that comes up when people talk about dropping support for it. Certainly, we don't want to completely drop support for a significant percentage of users, do we? Of course not! But we are also being transparent by saying that the capabilities (and resulting user experience) of IE are comparatively outdated and should be moved away from as quickly as possible.

Let's give Microsoft some credit, though, in realizing their own mistakes. As Paul Irish recently noted, Windows is pushing updates to IE as "important", meaning that everyone who is on XP and up will at least have IE8. That's not the best case, but it's certainly far better than having most of China stuck on IE6. Perhaps this announcement is in part responsible for jQuery's long-awaited and highly-requested decision to remove the IE specific code-bloat.

The Impact on the Pros

So how does this play out for development firms? Here are a few things that this will mean for development firms and freelancers:

As of version 2.0, jQuery will be dropping support for old IE.

Don't entirely drop old IE until its usage is miniscule. Note the word "entirely" here. This suggestion is that, simply, there should be an avenue that the client can take to get support for IE users. IE8 is not IE5 yet.

Don't support IE by default. Make IE support a separate service. The way jQuery is doing it is by saying, "here is a not-as-good alternative." The way you may say it: "IE won't have some of the aesthetic or functional features that other browsers will," or "we can do some optimization specifically for IE, if you absolutely need it, for a certain price."

Understand the standards and why you won't support old IE. This is a big one. When you go into a client meeting, you need to know the reasons why supporting old IE is not a default for you or your company. The reasons to support old IE have nothing to do with the extra effort that is expended by the developer. If you don't want to support old IE because it takes you longer to develop cross-browser code, then you also shouldn't support mobile.

Instead, the right reasons are about the users! Old IE performs badly. It has broken and buggy implementations of almost everything, it is slow, and it doesn't follow standards. Some versions are insecure, and most versions are way behind on implementing new language features that enhance the user experience.

A rule of thumb: the reasons to not support old IE cannot be circumvented by cross-browser compatible code.

Certainly, we don’t want to completely drop support for a significant percentage of users, do we? Of course not!

Think of old IE as an old car. You wouldn't sell or fix an old broken down car to someone when you know that, for the same price, they could have a brand new one. The old car doesn't follow the regulations of safety or efficiency, and it has a bunch of weird, proprietary parts that aren't being manufactured anymore. Of course, you could pay extra to have those specific parts shipped to the mechanic from a specialty shop, and the mechanic might be able to fix the car to go a few extra miles. But shouldn't the mechanic do you the favor and get you into the new car as fast as possible?

Before we get a barrage of comments screaming "some users don't have control over what browser they use!", this article is using a broad stroke with a broad brush. Maybe the user doesn't have a choice, but someone does have a choice that could affect the users.

Summary

In 2013, jQuery is making a bold move towards publicly upholding web standards, and dropping default support for out-of-date technology. In 2014, it's likely that jQuery will completely drop support for old IE, although they haven't announced that yet. The way that jQuery is achieving this end-goal is a prime roadmap for developers to follow.

I am the director of technology at Whiteboard, a company based in Chattanooga, TN. I hold a masters degree in Digital Media from Georgia Tech. I'm passionate about building incredibly useful and beautiful things, and inspiring others to do the same through teaching.