A recent report from Evans Data shows fewer than one in 10 software developers writing applications for Windows Vista this year. Eight percent. This is perhaps made even worse by the corresponding data that shows 49 percent of developers writing applications for Windows XP.
Such appreciation for history is not likely to warm the cockles of Microsoft's heart, especially when Linux is getting lots of love from developers (13 percent writing apps for it this year and 15.5 percent in 2009). The Mac? I don't have any equivalent data via Evans Data. But the Mac OS has rocketed by 380 percent as a targeted development platform, Evans Data told Computerworld.
The numbers don't get much better for Vista in 2009: 24 percent (compared with 29 percent for XP). That's a big step up from 8 percent, but is it a sign of momentum to come or just a temporary stopgap while developers wait until Windows 7?
Now to a certain extent this is disingenuous because people targeting XP are also targeting Vista. One of Vista's biggest problems is that they made almost all of the significant improvements in Vista available to XP users making Vista a moot point. Any Windows Forms or WPF application written for XP will run on Vista without modification.
(For those who don't know WPF stands for Windows Presentation Foundation and is the preferred way to develop Windows Applications now)
Yes WPF applications might look a little nicer on Vista because of the Aero Glass effect and the Anti-Aliasing but most users don't care about jagged edges or nifty see-through effects on their applications so its irrelevant.
But it does illustrate a bigger problem which is that the Windows Desktop Application market is drying up in many ways. Lets look at the different types of Apps out there and what has happened in the last few years...
Business/School Applications: To the extent that home users do use this kind of thing Microsoft dominates the market. So there's really no point to developers even trying for a piece of it.
Education: This market more than any has been decimated by the Web. A few cheap encyclopedias still remain but for the most part this market is dead. You do still have educational games but those developers have to sell to schools with broken down PCs meaning they are probably targeting Windows 98 still.
Games: There are still die hard gamers out there but for the most part the era of PC Gaming is dead. They might not be as powerful but consoles allow developers to have a set feature list to target which means console games almost always look better. Now that the major consoles support HD there's just not much reason to stick with the PC anymore.
Financial: There are still a few Quicken/Money users out there but my impression after an informal poll of the people around me is that most just use their bank's web site at this point. Plus with applications like Mint popping up the Desktop market for this type of thing will degrade even further.
Custom: There used to be a very robust market for custom applications used by small businesses and all of those were written for Windows. But as someone who knows a lot of small business owners I can tell you more and more of those applications are becoming hosted web apps. Small businesses usually don't have full time IT staff which means they've always relied heavily on the software manufacturer for support. Hosted apps make supporting these applications much cheaper for that manufacturer so this is just a natural evolution of the market.
To me that's a pretty grim picture for Microsoft. Add things like Adobe AIR into the mix (which allows developers to write applications that run on multiple platforms) and you have a dark road ahead for Windows desktop development.
Addendum: The article quotes ITJungle.com as saying Vista's increased security is driving developers away. They cite "Kernel-level access and User Access Control" as big issues. To me, that doesn't hold much water. Any Windows developer is going to be writing .Net applications by now and .Net applications are largely self contained. I don't see a lot of people needing "kernel level access". As for the new UAC restrictions I learned how to create a manifest after reading one article so I don't think that's such a biggie either (a Manifest is how you inform the system your application needs to run as elevated. If the user approves your application to do so that's all there is to getting around UAC)