Entries tagged “browsers.”

Forget what I said before: IE6 is a goner

IE Six Feet Under (Nyuk, nyuk!)Boy, is my face red.

Back in March I wrote a post about developing for IE6 without much compromise, citing its 20% market share as reason enough to maintain support.

I’m happy to report that, as of today, that article’s importance has plummeted dramatically.

Last week, the folks behind news aggregation site Digg revealed that nearly 70% of IE6 visitors had no choice as to what browser they were using, and that IE6 usage was most prevalent from work rather than home. Although Digg’s audience is admittedly more tech-savvy than that of the entire web, it validates a broader report by CNET stating that 60% of the enterprise market still maintains support for this out-of-date (and insecure) browser. The article further states that, according to Forrester analyst Sheri McLeish, “IT control trumps technology populism.”

The struggle has remained the same since the 2006 release of Internet Explorer 7, with developers and companies eager to escape the IE6 productivity vacuum but stuck doing so for a sizable market segment frozen in time by corporate-mandated bureaucracy. Where reason and persistent whining have failed, only two solutions seem possible:

  1. Microsoft must introduce a new version of Windows with features essential to the enterprise (trojan horsing the latest Internet Explorer in the process)
  2. Large and influential web presences must phase out support, forcing IT managers to upgrade or risk an influx of costly support requests
With poor performance (and a healthy dollop of FUD) plaguing Vista from the outset, my hopes for Windows 7 making the first scenario a reality are understandably modest. Lucky for us, the second option yields far less pessimism.

You see, YouTube is phasing out support for the eight-year-old browser. Let me repeat that: YouTube. You may have heard of it. Alexa says it’s the third most popular site on the entire freaking Internet. It’s owned by the most popular site on the Internet. You can’t get much larger (and more influential) than that; few online properties have more visitors to lose from such a decision.

We knew the demise of IE6 was only a matter of time, but when a content behemoth like YouTube announces they’re going to run (slow motion) into the wide open arms of today’s web, it’s an understatement to say the pace has picked up significantly.

It’s about damn time.

How to support IE6 without dying inside

wheeInternet Explorer 8 was unleashed earlier this week, and with it a more voluminous fervor to renounce the much-maligned (at least for web developers) Internet Explorer 6. I see references to Zeldman’s groundbreaking “To Hell With Bad Browsers” article waved around like pitchforks at the fortress gates. In the words of Twisted Sister, “we’re not gonna take it… anymore!”

The sentiment is understandable. We’ve been putting up with the bugs, inconsistencies and security holes of IE6 for nearly eight years. We’ve supported versions 6 and 7 simultaneously since 2006. The choice seems clear: Abandon version 6, or commit to supporting three versions of Internet Explorer simultaneously. Unfortunately, it’s not that simple.

Like it or not, IE6 rivals Firefox with 20% of the browser market share (as of February 2009, according to Wikipedia). Regardless of the cost associated with supporting this productivity vacuum, throwing away one in five potential customers is a hard sell. Even worse is the possibility of crippling your design (and thusly your potential success) to satisfy a dwindling demographic.

Luckily, there are steps you can take to acknowledge IE6 without punishing more capable browsers.

Employ a JavaScript framework

Scripting is arguably the greatest source of inconsistency between all browsers, not just Internet Explorer. Using a capable library like jQuery minimizes browser-specific bugs you (or your users) may encounter.

Develop in modern browsers

Travel to a blissful place where IE6 never existed! Attempt to develop using the best practices you can in browsers with consistent results, such as Firefox, Safari, Opera and/or Chrome. Test in modern browsers, and get things working like a well-oiled machine. If you develop from the get-go in IE6, there’s no telling if your bugs are the result of a bad browser or your own bone-headed mistakes. It happens to the best of us!

Use a conditional stylesheet

Conditional comments allow you to target markup at specific versions of Internet Explorer in a standards-compliant (only mildly hack-ish) way. This allows you to store your fixes in a separate CSS file where it can’t corrupt your otherwise competently-authored rules. If you’ve never used conditional comments before, I recommend checking out this article. Oftentimes a few extra styles will be enough to correct major bugs.

Embrace Microsoft’s proprietary styles

There are some things (such as 32-bit PNGs and opacity) that IE6 will not support without a fight—at first glance, anyway. Microsoft employs many non-standard but surprisingly customizable styles, some of which are extremely powerful. I commonly use opacity, alphaImageLoader (for transparent PNGs) and behavior (affects objects with small bits of JavaScript).

Use conditional JavaScript

When CSS just isn’t enough, use conditional comments to employ browser-specific scripts to run. Many size and positioning bugs can be corrected at page load with the help of JavaScript.

If all else fails, screw em’

Sometimes, it just isn’t worth the resources to duplicate every design jewel cross-browser. If you find yourself stumped, accept that IE6 users may have to settle for your next best option; a simple 1-pixel rule will suffice where an alpha-transparent background image fails. Better yet, take this as an opportunity for some unexpected creativity: Stuff & Nonsense shows their IE6 users a mellow, monochromatic layout.

I would love nothing more than for Internet Explorer 6 to be six feet under, but with nearly 20% of the browser market I can no more ignore it than I can Mozilla Firefox. The goal is to remain empathetic to our audience while rewarding those who graduate to more modern solutions. If we create innovations with genuine value, our users will happily come along for the ride.