Stop Supporting IE6

As a community, as a whole, web designers and developers need to stop supporting Internet Explorer 6. Now. Completely.

I’ve been thinking a lot about browser compatibility as I’ve been working on Today’s Meet. My CSS is valid, but it doesn’t work quite right in IE6. The interface is completely JavaScript-based, and will only become moreso in the future. How much time should I put into making it all work with IE6?

None. (more…)

Chrome Is Not A Browser

If you somehow haven’t heard of it, Google’s Chrome is a neat, quick, Acid2-compliant “browser” designed to work with web applications, not web pages.

Chrome certainly looks like a modern browser, with tabs along the top and an address bar and a “Most visited” home screen, it will seem familiar to anyone who’s moved past Internet Explorer 6.

And yet, my Twittersphere has been full of comments like “Nice, but not nice enough to make me drop Firefox/Safari.”

While there are some visual improvements, such as an extremely small “chrome” (the parts of the browser around the page area) footprint, the big changes are “under the hood.” Chrome is built for tabs—each tab is an isolated process; no one tab can take down the whole browser—and is built for JavaScript-heavy “web 2.0″ apps—Chrome’s new V8 JavaScript engine executes a full order of magnitude faster than the current browsers, in my experience.

And all of those “under the hood” changes are open source.

Chrome is not a browser.

Chrome is Google’s way of making a point: modern web browsers have not kept up with the web itself.

More and more, the web is becoming an interactive application, and most browsers are not built for it. They display pages, and running applications is an afterthought. While we’ve seen huge improvements in JavaScript execution in the past few years, speed is still a limitation for developers. Applications are also much more likely to crash than static pages (go ahead, just try to crash a browser with just malformed HTML) and isolating tabs will give necessary boosts to speed, stability, and security.

Kris Abel of CTV.ca said it best: “Google’s entire business takes place throughout the internet itself and so they see their interests served regardless of which company takes web browsing to the next level, in fact they see their interests served if all companies do exactly that.”

I’m not switching to Chrome. I doubt very many people will find it useful as a primary browser. I don’t expect many user-interface improvements, like Firefox’s vast add-on library or the accessibility features of Firefox 3, Opera or IE8.

I do expect any future version to have more “under the hood” improvements, and I hope that the makers of Firefox, Opera, Internet Explorer, and any new browsers that spring from this, will re-evaluate their own products and move in this direction.

Because when the browsers get better, the web gets better.

Microsoft Listened

We all complained, and Microsoft listened to the community: IE8 will now render in IE8-mode by default, and “developers who want their pages shown using IE8’s “IE7 Standards mode” will need to request that explicitly.”

Obviously, this is good news for all forward-looking, standards-aware, progressively-enhancing developers out there.

But even more important is the action from Microsoft: the community voiced an opinion and Microsoft listened and responded. To see any major corporation rethink their position because of community pressure is rare enough, but to see a complete reversal is truly an occasion to celebrate.

Hopefully this is indicative of a new attitude at Microsoft, one that supports or even embraces standards and the goals of progressive enhancement.

Now that we’ve seen what community outrage can do, we should turn our attention to the closed platforms of the iPhone and PSP. It’s a long shot but we can try!

IE8 and Version Targeting

Two months after the whole of the internet has had their say, I thought I’d throw some new kindling on the fire of Internet Explorer 8′s version-targeting mechanism. It’s crap.

The key issue is the default behavior: if I never change my server configuration or every page on my site, they will “forever” be locked in IE7 mode. This is a blow to the heart of the idea of progressive enhancement, or even graceful degradation, and will certainly not encourage developers to make their sites IE8—and thus Acid2—compatible.

Why worry about learning the rules when you have a broken version “forever?”

And what of this “forever?” How long can Microsoft reasonably include every previous version of IE in their new releases? Five years? Say to IE 9? 10 years to IE 10 or 11? At that point there will be 5 separate rendering engines, IE 6 and up, embedded in that increasingly large, increasingly slow program.

Of course, there is also the issue of implementation: Microsoft has said unto us that this shall be. If they really want to get on the standards bandwagon, shouldn’t this have been brought to the W3C, at least for advice?

I have a much more radical suggestion they may not like. Microsoft should abandon “Internet Explorer.” Not the product, but the name, and specifically the abbreviation “MSIE” in the browser string.

They’ll also need to dump the window.ActiveXObject class, perhaps replacing it with a window.ActiveXControl or window.AXObject class. These are the most common ways of identifying IE. If IE shows up like any other standards-compliant browser, there should be no problems for older pages.

I tried to find something good to say about this, but I can’t. It’s a bad idea from the bottom up. Unfortunately, we’re stuck with it.

So I will take Microsoft’s built-in cheat—a not-so-tacit admission that this idea is not viable in the long-term—and adjust my server to send IE=edge with every page. That way I get to keep the progressive enhancement that has served me so well.