As many of you know, Microsoft made a lot of changes in Windows Vista (and by extension Windows 7) that can break older applications. Since breaking applications is not a good thing for a new OS, Microsoft is addressing legacy Windows application compatibility via something called "Windows XP Mode" for Windows 7. XP Mode isn't really a "mode" at all—it's actually a fully functioning Windows XP virtual machine that runs in the background where legacy Windows apps can run. Microsoft has gone to great lengths to hide this from the average user, with the experience being that applications running in the XP VM appear to seamlessly integrate with native applications running on Windows 7. While XP Mode isn't necessarily the most elegant solution to the legacy application compatibility problem, it does solve the problem and it does provide a solution where any application can work in a Windows 7 environment.
What's interesting is that while Microsoft is struggling for a solution to make old Windows apps work on new Windows, the whole IT world in general is having conversations about the future of Windows apps. A lot of people are wondering whether Windows apps will even exist in the future, and people are talking about HTML5 and rich internet apps and SaaS and corporate app stores and all sorts of ways to deliver non-Windows applications.
This got me thinking: Is Microsoft in danger of Windows becoming the "XP Mode" of the future cloud-based app world?
Everyone can agree that Windows apps will never 100% disappear. (After all, even today we have 16-bit apps that people still use. Heck, we have mainframe apps that people still use!) But in a world where apps are delivered on demand and via new architectures, what is Windows' role? If Microsoft isn't careful, the whole concept of "Windows" will be relegated to a middleware compatibility layer for legacy applications.
We already talk about how we use 32-bit Terminal Servers based on Windows Server 2003 to deliver 16-bit apps to "new" environments. We all know how we can use XenApp or Dazzle to deliver Windows apps to iPads, Androids, and all the other new platforms out there.
There's a battle going on now for the hearts and minds of the developers. Apple wants things done their way. VMware wants apps to be developed for the cloud via SpringSource. Lots of folks want apps developed for HTML5 delivery. And Microsoft is struggling to convince Windows developers to use their same dev tools to port their apps to Silverlight and Azure. None of these application platforms require Windows. Sure, the notion that Microsoft has to change their business model is not new. But in this new app world, where exactly does Windows fit in? Is there any viable future where Windows is not relegated to the datacenter, demoted to an eternal role of delivering old apps? (Even Microsoft's arcane device-based licensing schemes can only keep Windows around for so long, like labor unions resisting technologies that eliminate jobs.)
How soon will this happen? Three years? Five? Then what?