Advertisement
Editorials

jQuery in 2013 - or How to Properly Drop IE

by

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.

  1. 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.
  2. 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."
  3. 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.

Related Posts
  • Code
    Android SDK
    Common Entry Points for Android Applications5d7z4 preview image@2x
    In this tutorial, we will provide an overview of common entry points for Android applications. These entry points will focus on ensuring that your application maximizes its utility to the user.Read More…
  • Code
    Theme Development
    Creating a WordPress Theme From Static HTML: Releasing Your ThemeCreating wordpress theme from html 400
    If you've been following this series you now have a working WordPress theme. Your theme has a number of template files, including a page template and an archive template, and also has featured image support.Read More…
  • Code
    Interviews
    Interview With Peter CooperPeter cooper wide retina preview
    Catch up with software developer, Peter Cooper, just in time for O'Reilly's Fluent Conference.Read More…
  • Code
    jQuery
    The State of jQuery in 2013Code
    A long time ago, in a galaxy far, far away, JavaScript was a hated language. In fact, “hated” is an understatement; JavaScript was a despised language. Consequently, developers generally treated it as such, only tipping their toes into the JavaScript waters when they needed to sprinkle a bit of flair into their applications. Some form validation here, an image slider there. Despite the fact that there is a whole lot of good in the JavaScript language, due to widespread ignorance, few took the time to properly learn it.Read More…
  • Code
    Articles
    Master Developers: Dave Methvin (jQuery Core Team Lead)Davemethvin1
    Most of us are familiar with the jQuery JavaScript library, and likely use it in at least some of our projects. But how much do we know about the people who tirelessly give their time to maintaining the web's most popular JavaScript library? I recently had the chance to interview jQuery Core Team leader, Dave Methvin, and discuss how he became involved with the project and where he sees front-end development headed. He's been a contributor to jQuery since 2006, and is also the President of the jQuery Foundation.Read More…
  • Code
    Tools & Tips
    Strategies for Testing IE on Different PlatformsIe
    You might believe that web developers who use Windows as their primary OS have it easy, when testing Internet Explorer; simply click on the blue "E" and go to town. That might be true if they only had to worry about the version of IE on their PC, but we all know that's not the case. Depending on your project's needs, you may need to ensure compatibility from IE6 through IE10, which certainly poses some challenges. How do we deal with this?Read More…