Third-party application compatibility: Operation virtualization The final pillar of Vista rejection has always been its spotty support for third-party applications. The combination of UAC and a newer, more complex kernel meant that many legacy applications broke under Vista. And while the blame for at least some of these failures could be laid at the feet of the ISVs -- for assuming their products would always run in an Administrator-level security context -- the fact that they broke under Vista, yet worked just fine under Windows XP, ensured that the black stain of incompatibility was Microsoft's to bear alone.
With Windows 7, Microsoft's third-party application support has improved significantly. Not only has Microsoft benefited from vendors updating their software to work with Vista's new security model, they've also had the opportunity to better diagnose where legacy Windows XP applications failed and to write new compatibility shims for the more troublesome characters. And for the truly problematic programs, Microsoft has an ace in the hole: Virtual Windows XP Mode (VXP), which provides a fully virtualized Windows XP image for running these applications in their native environment.
I've written at length about my misgivings toward VXP. For starters, I would have preferred a solution based on Microsoft's App-V application virtualization platform, if for no other reason than it would have allowed legacy applications to run with full fidelity, as opposed to screen scraped from a Remote Desktop Protocol session (the core of the VXP integration model). Still, VXP is compelling in that it provides a fully licensed copy of Windows XP that you can run alongside your Windows 7 Professional, Enterprise, or Ultimate license. And it's free.
Bottom line: Windows XP remains the Gold Standard for application compatibility, a fact Microsoft has fully embraced with Windows 7. Customers can expect a better compatibility experience with the new Windows, and when they do encounter an application that refuses to behave under the native runtime, they can always fall back to Virtual Windows XP Mode.
Developer tools support: The pause that refreshesWhen Windows Vista shipped, Microsoft hoped it would usher in a new era of managed code, and the company updated its developer tools accordingly. For example, it shipped Visual Studio 2008 with a host of tools and templates for enabling cross-OS development of .Net applications, secure in the belief that the client landscape would soon be populated by managed-code capable systems running the .Net Framework.
Of course, things didn't work out quite the way Microsoft planned. And while the company's developer tools remain as popular as ever, most professionals are using them to write ASP.Net applications or legacy code in the aging Visual C++ language. After all, who wants to maintain a Windows Presentation Foundation application that requires the deployment of 250MB of supporting framework code before it can draw its first window? Just ask the Paint.Net folks -- it's not a pretty picture.
So Microsoft's utopian dream of moving away from the Win32 API once and for all died with Vista. But of course .Net remains very much the ultimate goal. Like Vista before it, Windows 7 ships with the latest incarnation of the Framework -- specifically, Version 3.5 with Service Pack 1 (Vista shipped with Version 3.0). However, unlike with Vista, Microsoft is actively downplaying the whole "next generation" storyline in favor of emphasizing Windows 7's improved legacy compatibility. Given Vista's woes, you can't really blame Redmond for trying to shore up the base.
If there's a silver lining to all of this, it may be lurking inside two of Windows 7's accessories. The Paint and WordPad programs both sport Microsoft's Ribbon UI, which is now accessible to developers as a component they can reuse in their own applications. Thus, depending on how successful Windows 7 is in displacing XP, you may see a surge in .Net development activity as ISVs scramble to remake their products with the new Windows look and feel.
Bottom line: Windows 7 is no better and no worse than Vista in terms of developer tools support. However, given the popularity of the beta version, Windows 7's ultimate success in driving the post-XP migration may allow it to achieve what Vista couldn't: making .Net the new development standard for Windows applications.