On a recent Amtrak train ride home from New York, I sat next to a well-dressed young professional who had a new Blackberry and a new laptop, and was in constant conversation with his coworkers back home. When he opened up the laptop, I looked over and was surprised to see what looked like an electronic museum: Windows XP, of course, but also an ancient version of Office and, you guessed it, Internet Explorer (IE) 6, which he used in lieu of newer browsers. I almost said something to him but thought better of it.
The thing is, it's not his fault. Businesses are embracing Windows 7 in ever-increasing numbers, sure. But there are some remaining issues. And web site compatibility, especially with intranet and partner extranet sites has got to be somewhere near the top. Thanks to years of calcification, IE compatibility problems are perhaps the biggest Windows 7 deployment blocker, with IE 6 still in use on an astonishing number of PCs, mostly business-owned. In fact, IE 6 usage outpaces that of the latest versions of Mozilla Firefox, Google Chrome, and Apple Safari ... combined.
With Gartner now predicting that fully 20 percent of organizations migrating to Windows 7 will experience difficulties because of web site compatibility issues, the time to act is now. To date, I've primarily stuck with Microsoft's solutions, which seem to be both broad and deep. And let's face it, no one knows more migrating to new Windows versions than the software giant and its close partners that implement the relevant solutions regularly. That said, there's always been something bothering me, out on the edge, about Microsoft's approach to web site compatibility issues. And this past week it finally occurred to me what that was.
It's too complex. While your web developers race to bring your sites into the 21st century, you're expected to deploy desktop virtualization solutions that let you run an IE 6 side-by-side, sort of, with IE 8. In these solutions, IE 6 is actually running in a virtual machine and exposing, or publishing, the app so that it appears to be working with the native OS, and not inside a separate desktop.
There are several ways to implement such a scheme, but we can divide them very neatly into managed and non-managed, where managed solutions like Microsoft Enterprise Desktop Virtualization (MED-V) are deployed in a domain and non-managed solutions like XP Mode and Windows Virtual PC are deployed in smaller environments. They work. And Microsoft provides very powerful deployment and provisioning capabilities around MED-V. But they're also pretty complex, especially if what you're looking for is a way to automatically ensure that your users utilize a modern browser 99 percent of the time, but only access IE 6 when absolutely required.
There are other ways to solve this problem, of course. Google offers a tool called Google Chrome Frame which offers a way to manually add the Chrome rendering engine to older IE versions, rendering their various problems moot. But in order to take advantage of this solution, you'd have to add special code to all web pages for which you'd prefer to use the older IE renderer, which is itself a lot of work. You're going to be updating those IE 6-specific pages anyway, right? What you really need is a way to utilize them with IE 6, automatically, until they're updated, but use a different browser the rest of the time.
This is where Browsium Unibrows comes in. Put simply, this solution allows you to migrate to Windows 7 (with its bundled version of IE 8) and automatically utilize the IE 6 rendered only on those sites or pages where it is explicitly required, like the intranet. Otherwise, the safer IE 8 browser is used. And it seeks to buy you time while you perform the time-consuming upgrade to your own sites while not needing to hold off on the Windows 7 migration.
Unibrows is implemented like a browser plugin of sorts--it's an IE child process--and works automatically and seamlessly; indeed, your users won't even know what's happening under the covers and everything will typically just look and work normally. It's deployed via Group Policy or whatever software distribution method you prefer, occupies only a tiny 10 MB memory footprint (not counting whatever the IE 6 renderer needs), and can even fool the browser into working with incompatible, older versions of other add-ins like Flash and Java on a page-by-page basis. It's sort of a one-stop shop for web site compatibility, really.
Administration is rules-based, so you can easily specify which pages or sites require the IE 6 renderer. And once those page and sites are fixed, you can simply remove the relevant rules and users' browsers will revert to using the normal IE 8 renderer.
One concern I had about this system was whether it was sanctioned by Microsoft. After all, it seems that Browsium would need to somehow redistribute IE 6 bits in order for Unibrows to work. This was indeed the original plan, but Microsoft eventually required a license where the IE 6 bits are downloaded separately on install. But this is still a much simpler solution than Microsoft's own virtualization-based migration helpers. I have to wonder if they sense the competitive threat and are making things difficult on purpose. Browsium tells me that they have a great relationship with Microsoft, and its CTO is indeed an ex-Microsoftie himself.
From a functional perspective, Unibrows works a lot like IE 8's compatibility view, except that when certain sites are encountered they're rendered with the actual IE 6 renderer, and not a software emulator. But it's a safer version of IE 6 than is IE 6 itself; the Unibrows version utilizes a separate protocol handler so it can't be exploited as can IE 6. It's also very compatible. ActiveX controls run as they do under XP and IE 6, not as they do under Windows 7 and IE 8, but only when you want them to. This behavior, too, is manageable.
Interested? Unibrowse is currently in a closed beta, but they're taking sign-ups and plan to ship the final product, along with a downloadable eval version, by the end of the month. And it's going to be inexpensive: $5 per seat per year. Since it's in essence a temporary solution--you are¬ going to upgrade those sites, right?--that might be a one-time fee, too.