April 28, 2009

Windows 7's 'XP mode': Right idea, wrong technology

Why Microsoft's decision to implement a VM-based legacy compatibility solution is a dumb move

Well, it finally happened. After years of patching and tweaking the Windows runtime to preserve backward compatibility (and placate its perpetually cranky customer base), Microsoft has finally said enough is enough. With Windows 7, it's putting the legacy Win32 API genie back in the bottle -- or more precisely, tucking it inside a custom-integrated virtual machine where it, and its notoriously hard-to-kill XP underpinnings, can coexist peacefully alongside newer, hipper versions of Windows.

It's a great idea, on paper.

[ Find out why Microsoft's own App-V would be a better solution to support the XP legacy. ]

Keeping the proverbial east (legacy) and west (managed) sides of Windows separate while allowing users to seamlessly access both environments is a feature that has been on IT wish lists forever. Unfortunately, by taking the VM route -- Microsoft is bundling a tweaked version of Windows XP with SP3 inside an improved Virtual PC image with a kind of coherence-mode rip-off -- Microsoft is ignoring other technologies that might have proven a better fit for the role.

I'm speaking, naturally, of application virtualization. The capability to isolate legacy applications into their own separate, virtualized runtime environments has long been one of the major selling points for this product category. And few vendors have as much experience and technical competence in this segment as Microsoft. The company's App-V platform is one of the pioneering application virtualization products, with thousands of successful installations.

With App-V, there's no need for a clumsy VM with its myriad integration and configuration management headaches. App-V virtualized programs run at or near native speed, with full fidelity, yet their impact on the system is negligible: All registry and file system modifications are sandboxed, keeping the local environment clean and immune from DLL hell and other legacy Windows baggage.

It's an elegant solution, and it begs the question: Why isn't Microsoft using App-V as opposed to shoehorning a copy of a XP into a slow, bloated VM that uses a bunch of screen-scraping smoke and mirrors to make it look like a program has been "integrated" with the local desktop?

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

Trial

Free 30-Day Desktop Virtualization Trial

Download a free 30–day trial and experience how XenDesktop delivers a pristine, on–demand desktop experience to users on whatever device they choose, while cutting IT complexity and costs.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »
PatrickS 28-Apr-09 4:40am
1 reply
Back in late January, in "APP-V, MED-V, and missed opportunities," you complain that Microsoft isn't making App-V and MED-V available to the general public. So they add MED-V to Windows 7 (XP Mode is essentially MED-V), and you complain about that. We use both App-V and MED-V here, and I can tell you after sequencing several hundred applications that the average user would not be able to understand App-V. Sure, when you only have to run setup.exe and everything sequences fine, it's all gumdrops and lollipops. But if something has to be added or deleted to the .SFT or .OSD, my mom is not going to be happy.
Randall C. Kennedy 28-Apr-09 7:40am
1 reply
Patrick, I, too, have sequenced a fair share of applications - both with App-V and its competitors (VMware ThinApp, Xenocode, Citrix) - and I disagree that it's a cumbersome process. Rather, it's the clumsy Sequencer utility, which is a case study in poor UI design, that trips up many shops. Furthermore, I'm not advocating the use of the Sequencer as is, but rather taking the core of it and automating the process with a library of pre-configured templates to ensure that the right bits get put in the right places. Microsoft already does this with its various compatibility "shims." It shouldn't be too hard to leverage their intimate knowledge of so many applications to create the necessary library of App-V customizations for known problem apps. Again, my main point here is that Microsoft took the easy way out with "XP Mode," and that they have both the technology and the expertise to do so much more than just screen scraping a VM and puking the disjointed pixels all over the Windows 7 desktop. RCK
PatrickS 28-Apr-09 9:19am
1 reply

I don't disagree about the sequencer interface. I'm talking about the act of sequencing when apps are written in such a way that they don't lend themselves to sequencing. Perhaps we're from different environments. I work at a college, and we see app after app that doesn't lend itself to sequencing or sequencing easily. Apps that require some local SQL-type server (MSDE, Pervasive, whatever) to store user data, apps that don't like being on anything but C:, etc. Some of the apps we have are in house apps written by people who are now retired and/or deceased. I doubt Microsoft has shims for everything.

Again, I'm not talking about the UI. It just seems easier to me, having used App-V and MED-V, to get something to work in a VM than to work in App-V. You're basically just installing it in a regular Windows environment in MED-V's case, and App-V requires a little IT trickery at times.

BrandonLive 28-Apr-09 9:40am
1 reply
Plus App-V doesn't do anything for legacy compatibility since it's still running on the same host OS. It can't help you install XP-only drivers, can't depend on XP only functionality or quirks, privilege levels, etc. App-V is great for isolating apps or packaging them for xcopy deployment. But it wouldn't make any sense to suggest that it could fill the role of a VM.
Randall C. Kennedy 28-Apr-09 10:02am
1 reply
Brandon: Re: custom drivers, well, neither does XP Mode - at least not hardware drivers in the traditional sense. Remember, the world that an XP Mode app sees is the world that the virtual machine presents to it. There is little or no correlation between the emulated devices provided by the VM and the actual hardware of the physical PC. So if you need to run some application that requires a driver to interact with a specific piece of physical hardware (those archaic copy-protection dongles come to mind), you're out of luck.
Also, note, that the emulated environment is itself far from perfect. There are thousands of scenarios in which a kernel mode driver or Windows service will behave just fine in the *real* world but freak-out under a VM. Case in point: Code that uses high resolution timers. Under VPC 2007, they cause the VM process to chew-up 100% of the physical CPU!
Bottom Line: Relying on a VM to bridge the gap between versions os a bit of a Faustian bargain. There are so many quirks and potential limitations to this approach that I fear Microsoft is about to open a veritable Pandora's Box of new and complex support issues. Better an imperfect solution with well understood limitations (App-V) than this kludge they're assembling for "XP Mode."
RCK
realtek1 28-Apr-09 4:53pm
The bottom line is that all the big players in the application virtualization space use misleading verbiage to make their product seem like the Holy Grail. What we need is true application to operating system compatibility. What they all pitch is application compatibility and when pressed, they change their tune and introduce you to the concept of application “co-existence” after acknowledging that app compat isn't a reality in their product. Med-V is the closest thing to actual app compat I've seen and if XP Mode is truly a trimmed down version of Med-V... will be a better basket to place your eggs than App-V alone. Of course, if you own MDOP... you have both.
monkeyjohn 28-Apr-09 7:32am
Not to speak out of turn since, unlike previous poster, I don't have hands on exp with this tech but... here's an idea: if we're just talking about installing a simple LOB app, then there are many solutions. But some of the legacy stuff that needs to be supported here involves complicated software with many custom bits, in some cases proprietary hardware or at least hardware no longer supported with WDDM drivers (think POS systems, airport kiosks, etc.) and some VPN/network drivers that need "their own" network card -- they won't share a network stack (think CheckPoint secure VPN client which insists on installing a shim under the other network bits and interferes with other networking features by design/security). Just a thought.
tonysebion 28-Apr-09 10:21am
For the "Enterprise Desktop" (the name of the column), I'd have to agree with the author - this feature will more than likely be disabled on most all of their end user desktops and the recommended path will likely be to implement and use App-V with legacy applications that must be run under Windows 7 that can't run natively or be replaced by a Windows 7-compatible piece of software. For power home users, however, this feature sounds perfect as-is. It can be really hard to review all Windows features taking in account every type of Windows user and implementation. When inexperienced light users, power users, users with special needs and large enterprise customers all run the same operating system, hearing how they review features reminds me of the parable about the blind men and the elephant! http://en.wikipedia.org/wiki/Blind_Men_and_an_Elephant
breakall 28-Apr-09 11:30am
1 reply
App-V is a way to stream an application to a desktop. The benefit is that I can stream an application designed for one operating system to a machine running another operating system. However, that application must still be running on the OS it was designed for; i.e. there is a machine (virtual or otherwise) running the required OS that the application runs on top of. In the new XPM solution, that machine is an XP virtual machine running behind the scenes - transparent to the user. Since you don't like the transparent VM solution, are you suggesting home users have a Terminal Services server that their legacy apps would run on, streamed to their desktops via App-V? This makes no sense.
Randall C. Kennedy 28-Apr-09 1:00pm
Breakall: App-V no longer requires a streaming server. In fact, Microsoft has made a point of emphasizing how App-V is now a general purpose virtualization solution. You can sequence an application and then deploy it like any other program using an MSI package, etc. The client has been entirely decoupled from the server. Do some research and see for yourself. RCK
vistablog.at 28-Apr-09 2:19pm
Just a question, could it be, that Mr. Kennedy has no clue or insight into technology? App-V (while a wonderful software distribution method) does NOT solve compatiblity issues with the OS. The XP Mode does - since the XP mode is the client component of MDOPs MED-V - so does MED-V. App-V solves compatibility issues between apps.
fourthletter 28-Apr-09 2:39pm
Surely the point of using MED-V in stead of App-V is that you can use usb/serial devices with xp drivers as well as installing old apps. D'oh ! maybe ask a friend what they think before you write an article you missed a hole in your logic we can all drive a bus through!
gratefulEd 28-Apr-09 4:13pm
I think you are missing the point. Do you think that the people who are screaming for XP are technically savvy or capable? They want the "full" XP experience, they actually do not want W7, that is the hump they are trying to get over. This is for the masses not the business community. Businesses need hardware upgrades for W7, compatibility appears to be pretty good, it is the stigma of Vista and the lack of confidence in W7 that forces this move. That is why you get the whole package.
davidlewis7 28-Apr-09 8:33pm
From 6 months of beta testing to 9 full years of using Windows XP Pro, I intend to keep it and the hard drive it is on intact and running on my main computer. However, I am running the Beta and soon to be RC1 of Windows 7 Ultimate, and I assure you, when it is released, if it is within my power to afford it, I will also run a dedicated hard drive just for it. As for intermingling the two, I see no need for this. The things I love most about XP Pro have little or nothing to do with my new infatuation with Win 7. I DO believe Win 7 will be the greatest offering Microsoft has made to date, and may easily be the base and model for all OS for years to come. Properly implemented, this OS will offer the base for all home communications, automation and security(of the home). Follow me, people, see what I have seen, and you will be as impressed as I am !!

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Today's Headlines: First Look Newsletter

Find out what will be news for the day, with our first-thing-in-the-morning briefing.

©1994-2009 Infoworld, Inc.