What about future versions? There's no doubt that, eventually, Microsoft may try to target Vista exclusively. However, finding features and functions that Vista supports and XP doesn't is not as easy as it sounds. Remember, much of Vista's "newness" is only skin deep. In fact, outside of DirectX 10 – which is exclusively a Vista technology – there's no valid reason for excluding XP from the supported platforms list of any new application.
Of course, this may change come Windows 7, the feature set of which is still very much in flux. However, nobody's arguing that you should stick with XP forever – just that you can stick with it for now and potentially skip a Windows generation without incurring any real pain.
Decision: Windows XP is still, and likely will remain for some time, the compatibility bar for new Microsoft applications. If and when Microsoft attempts to create an exclusive Vista tie-in, the company will need to articulate some valid technical reason – one that stands up to scrutiny from the IT community – for not supporting Windows XP.
Round 8: Third-party software compatibility
When Microsoft first started marketing its next-generation desktop OS project (Vista), it trumpeted a number of foundational technologies that were destined to usher in the next wave of killer applications. Some, including WinFS, fell by the wayside. Others, including Windows Presentation Foundation (WPF) – which was quickly back-ported to Windows XP when developers balked at the idea of Vista exclusivity – have proven to be nothing more than the extensions to the .Net Framework. In fact, when Microsoft made these pronouncements, those of us "in the know" (software developers and programmers familiar with the intricacies of .Net coding) had a good laugh. Nobody in their right minds would produce any complex piece of traditional, fat client software using the sluggish, bug-ridden .Net Framework, let alone a set of even buggier and less proven extensions.
A year later and you'd be hard-pressed to name a single commercial WPF application. In fact, I can't think of any third-party applications, outside of a few DirectX 10-specific games, that run better on Vista, never mind requiring it. Whenever Vista-specific development work has been done, it's usually been to fix problems created by the introduction of UAC. I personally spent several hours in Microsoft's compatibility lab at last year's TechEd conference working out UAC kinks that were affecting my own applications. In such a climate, where Vista is the outsider and represents a tiny fraction of the installed base, targeting it exclusively is tantamount to committing commercial suicide.
New applications that do ship are still typically native Win32 applications, written in C++ using tried and true technologies such as Microsoft Foundation Classes (MFC) or Application Template Library (ATL). This, for better or worse, is the state of third-party development for the foreseeable future. And, of course, these applications all run great on Windows XP, and will continue to do so for a long time to come.
Decision: ISVs go where the money is, and right now that's still the generic Win32 API (plus MFC/ATL) running on the range of Windows platforms. The only exceptions to this rule are tools or utilities that target Vista-specific functions such as the new boot loader and sidebar widgets. The risk of missing out on important third-party application functionality by sticking with Windows XP is next to nil.
Round 9: Developer tools support
As a commercial Windows software developer, I try to stay current on the product cycles for Microsoft's developer tools. Specifically, I like to keep a close eye on the evolution of Visual Studio. Visual Studio is my office for much of the workday, and I'm always looking for new and better ways to get things done faster and with less debugging.