PC World covered Garter's pronouncement that "Windows is broken." I tried to join the fray of comments, but the input box limited me to 1,000 characters. So I'm posting my response here, and hopefully PC World's moderators will let me post a link to this as a comment.
Here's what I think.
I've been a Microsoft Windows developer for nearly 20 years. It seems to me that we Windows developers are caught between opportunity and exploitation. We know Windows has a lot of issues ... believe me, we do! At the same time, if you are building a business tool or application, and you intend to maximize your revenue, you had better consider Windows as your target platform.
What about Windows Vista? What a nightmare! Not necessarily because it broke everything, but because we didn't jump on the bandwagon when Microsoft started talking about using the right directories for working files (all the "certified for Windows" stuff)10 years ago.
Once User Account Control arrived with Windows Vista, installing and running applications depended on following those rules. Is Vista S-L-O-W? Not if you have the latest multi-core processor with lots of memory.
It really is hard to fault Microsoft. They did what every other software company wants to do. They grew, became ubiquitous, and ultimately saturated the market. How do you make money after you've sold to nearly your entire population of customers, including international? Well, for one thing, upgrades.
But, what if people don't want to upgrade? Answer: you make them. You create a deliberate path that demands new hardware (and therefore new licenses), change the environment so that newer software won't run on the old machines, and add enough features to create a "Wow!" factor.
So now the hardware and software vendors have a continuous revenue stream ("Updated for Windows Vista"), and Microsoft collects the rent from everyone.
It amuses me that Gartner thinks that development times are too long. I'm sure Microsoft would like to sell a new version every year. It isn't only impractical; it ignores the constraints of inline updates to an aging operating system code base that at least "appears" to be backward compatible.
This has been a problem since the early days of Intel's architecture. Personally, I think the .NET initiative might create the kind of separation required to finally let go of the pure x86-aware applications.
More importantly though, updating software to work for a new operating system and planning rollouts of new systems are tedious tasks that distract from the core business of both software vendors and IT.
The longer Microsoft takes to polish a new operating system, the more time developers and IT management have to get their businesses and software ready for the transition. And yes, every new release of Windows reminds us that we would like to be less dependent on Microsoft and have more interoperability and options.
Cloud computing has a lot to offer; no doubt about it. The issues (aside from privacy, security, and availability) are not so much whether it is a good approach, but how to make the transition, and how to encourage the best software developers to create not one, but all, of the key killer applications for the new platform.
Before IT can give up the back-office systems of today, they need to be able to cost-effectively and truly customize, not just "virtualize." And they need a friendly, stable, and efficient desktop environment to work from that blurs the implementations that are local, on-site, and cloud based. (Remember all of the Java applets that just didn't quite look at home on Windows?)
All in all, I'm not sure that virtual storage, Web services, and application clusters don't present another opportunity for Microsoft. Google, Amazon, EMC, IBM, and Oracle all have designs on being the next Microsoft as the paradigm shifts.
And it will shift, even if not completely or permanently. This would be the time for the Microsoft development staff to create a next-generation operating system that encompasses all of the appliances available. And if they don't, I'll just outsource them and buy a better and cheaper one in a few years from China.