Windows 7: How to prepare apps for IE8

Microsoft's Windows compatibility expert, Chris Jackson, says simple changes make many apps ready for Windows 7 and Internet Explorer 8

Companies are moving to Windows 7 for better security, improved productivity or simply to get away from the aging XP as it moves out of support.

But that shift to Windows 7 also means migrating from Internet Explorer (IE) 6 to IE8 and dealing with line-of-business web apps that may not have been touched in years.

Although research suggests apps designed to run with IE6 often break badly in IE8, Chris Jackson — the technical lead of Microsoft's Windows Application Experience SWAT team — says simple changes make many of them ready for Windows 7.

Since Jackson is an expert in the field of Windows application compatibility, ZDNet UK asked him what goes wrong the most, what can be fixed and which third-party apps cause the biggest problems.

Q: How do you wean businesses off IE6? What difference does Windows 7 make?
A: People don't actually like IE6. They do like the fact that their apps work. Everyone is suddenly realising: "Hey, when I get Windows 7, Windows takes IE8 along for the ride and I wasn't thinking too much about it and suddenly I'm concerned that there's not quite enough info for me to really understand my risk".

Is this a migration issue or is it more of a web development project? Is it the IT team or the development team that needs to work on this?
There are some knobs you can turn to get more apps working but when the knobs are done turning you probably also need someone to go in and change some code.

But the IT team needs to have some sense of how hard it is. So when a developer says: "That's a 17-week project", you can say: "Actually, it's one line of code, and I think you ought to be able to get that done in less than 17 weeks."

What's the first step in preparing for the switch to IE8 with Windows 7?
The number one best practice is to understand why you want IE8. You ask people: "Why are you going to IE8?" They answer: "Well, because I want to go to Windows 7."

If you've never stopped to think about what in IE8 is driving you, you're going to do one of two crazy things. Crazy thing number one: when the going gets tough, you're going to say: "I give up, I don't really want it, let's figure out some way to keep IE6 around forever". This is the browser that no one actually wants.

Also, when it comes to tough compatibility decisions, if you don't know why you're going, you won't know which way to lean. If your primary motivation in going to IE8 is for the security features that you get, then turning off those security features is probably not going to be your number one motivation when it comes to fixing a problem — you'd probably prefer to go in and fix that code.

Can enterprises minimise the web app migration issue?
You probably don't care about a lot of what you will discover out there being used. When we look at what we did at Microsoft going from IE7 to IE8: the apps we decided we cared about represented four percent of the total apps in the organisation. That's all we tested.

For the other ones, we said: "This may work, it may not — but if it doesn't, they'll just call the helpdesk and they'll fix it through the normal process, just like stuff that has bugs today." It all has bugs. There's a line in the sand. Beyond here, we're going to care about it.

Those four percent, if those were down for a single day — big problem. Outlook Web Access goes down? That's a big problem at Microsoft — email goes out for two hours and the company gets up in arms. And everything else below the line in the sand, I'm not going to care about.

The next thing is deciding what you're going to do with...

...the app itself. This seems to be obvious, but I've run into people not doing it a lot. Question number one: Do I need support for this app? If the answer is yes, is that version supported? If the answer is no, buy a new one.

Because I need support, so why am I even going to bother testing what I have? If I don't need support I have some options — I can go configure it, I can go into the website and do some coding on it or I can use virtualisation as a stopgap, some gaffer tape to bind it together if there're plans to retire it soon. The ultimate backstop remediation is virtualisation, which is just actually run it on IE6 on a compatible operating system.

So companies can configure IE to avoid changing the code for some of their web apps?
We have nearly 1,500 group policies available to configure IE8. The one with the most impact is the site-to-zone assignment list. The number one biggest challenge I come to when I work with a customer is they have the local intranet as '' — and the browser doesn't know where you work.

It looks at that fully qualified domain and drops you into the internet zone, which opts you into IE8 standards, which opts you in to all the enhanced security we apply in the internet zone. Put your intranet sites into the local intranet zone.

You want to configure your environment to maximise the compatibility of the sites you have today, which means getting them into the compatibility view that is most compatible with your apps.

How realistic is it to use virtualisation to solve these migration problems? Don't you just end up keeping IE6 and losing the IE8 advantage?
MED-V [Microsoft Enterprise Desktop Virtualization] provides a really good user experience. When you go and type in the address bar of IE6 or you navigate inside the window to go somewhere that doesn't have a policy defined to use IE6, you go back to IE8.

You have to have enough space [on your PCs] for the VM and you have to have MED-V — which is part of MDOP [the Microsoft Desktop Optimization Pack you get in Software Assurance]. If you're using XP mode, you have to train users not to go to these sites and hope they're not using the admin account to go to bad sites in IE6.

What do companies do about technologies used in web apps that you just can't migrate to IE8? What about Oracle Forms 6i and the Jinitiator plug-in?
Oracle has come out and said: "We are never making one that works; as long as Microsoft is making money from a new operating system, we'd like some money too." The long- term strategy is to upgrade because Oracle is never going to fix it. In the short term, you can look to virtualisation technologies to keep it running on a supported platform, but no one is going to run Oracle forms unsupported.

It's Oracle; it's SAP. These guys all have compatible versions, but getting to the latest version of Oracle is a 12 to 18-month project costing $3m (£1.95m) and [when I'm upgrading to Windows 7] I'm already in the middle of one 12 to 18-month $3m project — I don't need a second one.