IE7: A Slightly Deeper Look

I’ve heard a bunch of people already whining about Internet Explorer 7 and how much it sucks and how it’s too little too late. I feel confident doing this in one fell swoop: these people are idealistic, out-of-touch, and at their very core, naive. IE7 is a major plus for anyone who understands the internet and networks, and especially for those who do web development. Read on for a lengthy review.

I think IE7 will see a fast roll-out. I think it offers a lot of compelling features that will make home users upgrade quickly and I think the security measures will convince IT shops to get off their butts and test and deploy rapidly.

First, let’s take a peek at IE7’s often-underbilled featureset. First and foremost, IE7 has dramatically improved CSS support. No, it doesn’t pass the stupid ACID2 test, which is mostly pointless for the real world anyway, because as cool as it is, it doesn’t necessarily mean it works well on the internet, just that it fails and degrades properly. ACID2 is a discussion for another time. In the meantime, IE7 supports a lot of CSS2, even if it’s still lacking, it’s still a major improvement. You can view a list from a few months ago that includes a list of the popular bugs that have been quashed.

Secondly, and this is HUGE for me and anyone who uses Web 2.0 sites – IE7 has a native javascript XMLHttpRequest object. That means no more instanciating an ActiveX control to do AJAX programming. Now, as great as this is, a competent developer will need to write those ActiveX bits in for some time to support all the legacy browsers, and they will be around for a LONG time, since IE7 requires XPSP2, which means no non-genuine (aka “pirated”) XP machines can run it, nor can Windows 2000 machines, nor can Windows 9x/Me. So you don’t ditch your try {…} catch (e) {…} catch (E) {…} code just yet. But IE7 can run AJAX natively.

Of course there’s PNG alpha support. So instead of having to use GIFs or funky javascript to make IE display .PNG files with transparency, IE7 can view them just fine. This was a huge problem – GIF files were, until recently, tied up with patents, not to mention shitty quality, and JPG files don’t support transparency, which made web developers’ lives tough. So this is a very very welcome and long overdue feature. But mostly welcome.

Tabbed browsing is not really innovative, and it’s certainly not new (I’ve been on tabs for about 5 years now), but it’s nice to FINALLY see it in IE proper. I really hope it doesn’t confuse users. There’s simply no denying that tabbed browsing makes a user significantly more productive. Same goes for built-in search. Great news for IE users, nothing new for Firefox, Camino, Safari, and Opera users.

The printing subsystem has been rewritten, and finally finally finally when you print a webpage from IE it won’t wrap the last 20 pixels over to a second page. As far as I’m concerned, this is one of the biggest boons of IE7, since at work, we have web apps on our intranet that require PDF reports just to fit onto one page. You can also drag the margins in print preview, which is just awesome. So this is great news.

The new phishing protection is also very cool. I don’t fall for these things, but someone, somewhere obviously does. I like that the browser will now warn you if things look suspicious. Unfortunately, since people are generally stupid, I think they will still fall for it some percentage of the time, even with warning. There are LOTS of other security improvements: better ActiveX warnings, cross-site scripting prevention, “protected mode,” a “clear my settings” area, and IE reset function, international domain name anti-spoofing, and better parental controls are just some of the many security improvements in IE7, which is good news for everyone.

The RSS mechanism built into IE7 is really cool, and frankly, makes the default Firefox stylesheet look cartoonish. It filters by category and lets you narrow your view by topic, by date, sort and reverse sort – it’s very cool, in fact, to be honest, it’s cooler than many web pages I visit. I can actually picture visiting the RSS feed of some sites rather than their obnoxious index counterparts. It’s the trends to have a built-in subscribe function now, so that is pretty standard, although, since FF2 is still in RC stage, it’s the first to market with the subscribe with a third-party feed reader (Safari and Opera use internal engines, FF uses “Live Bookmarks,” which, while cool, are pretty useless.)

Lastly, although I have not tested this, IE7 apparently has incredibly granular control via Group Policy. If you are a network administrator, it will be nice to be able to secure and control IE via a centralized console, and this is one of the largest reasons I don’t deploy Firefox system-wise. IE7 is suitable for our users for full time use and is a decent enough replacement for Firefox feature-wise.

Now, let’s not let Microsoft off the hook just yet. IE7 guys, you did your job and you did it well, but you’re not all the way there yet. First off, the UI, which is aimed at “increasing screen real estate” is just ugly. Yes, I know it mimics the Vista UI better and will fit in better there. However, the Vista UI also sucks, so that’s no excuse. Why is the refresh button on the right of the address bar, and for God’s sakes, why the hell is it pinned there!? Are you conceding that I shouldn’t be refresing except with F5? Or are you telling me it’s somehow better to drag my mouse across a 20″ monitor to that button than to keep it right next to the back button where it was – and has been – for the last 10+ years?

Next up – CSS. You’ve come a long way, baby. But you got a ways to go. You’re going back to the block, why NOT pass ACID2 and shut up the fanboys? You know who’s complaining about your browser not passing it? The people who design webpages and upgrade their parents’ and friends’ PCs. Please the influencers, I say. If they want ACID2, well, more compliance can’t be a bad thing. Also, how about supporting some CSS3 and get the ball rolling? Or the rest of the selectors? This convention doesn’t work in IE7 but does work in Firefox 1.5.x:

input[type$=”button”]
input[type$=”submit”]
input[type$=”text”]

Why leave it to the open source guys – or worse – the Apple guys to ALWAYS burn you on supporting the newest technology. Why intentionally design your app so web developers always have to add hacks to their code to get IE to not behave like a retarded cat? Seriously, when you’re behind in the market, why release something that just matches it? CSS was one area you could’ve eclipsed the rest of the market. But ya fell short by going with “good enough.” That’s what it is – plenty good enough, but nothing to get us to write home about.

Lastly, one I cannot explain, that Mr. Holwerda noted, why is the toolbar beneath the address bar? Whose idea was that? FIRE THEM AT ONCE! It looks ridiculous, it doesn’t fit in with the UI of any system available for production use today, and even if it did fit in, it’s awkward.

Anyway, I’ve seen so much misinformation about IE7 I had to write this. I’m not an IE person, I will continue to use Firefox for the foreseeable future at work and Camino (also based on Gecko) at home – both unless something better comes along. IE7 is not that “better” thing, but it’s close, and it’s a HUGE improvement over IE6. Those who stand against it, in all likelihood, stand more against Microsoft than this browser, and that’s just lame, to be a bit informal. This browser is a step up and a valiant effort from a company whose innovation pipeline has been exhausted for some time.

I am recommending that my family and friends immediately upgrade – I’ve been on RC1 for close to a month and I’ve never regretted it. I have only found ONE website (um… this very site… firsttube.com) that has a CSS rendering problem, and it’s only the admin page, and I haven’t tried to fix it yet, but I think it’s because I tried to set it to XHTML strict. Every other site has worked without any problem whatsoever. If you run Windows, there’s no good reason not to upgrade right away, particularly when you can run IE6 in standalone mode anyway.