Many people think of Microsoft as a software maker, but it’s more accurate to describe the company as a platforms maker. Windows, Windows Server, Office, Internet Explorer, Xbox, Windows Media, Zune, SharePoint, and many other Microsoft products are actually platforms that developers can build off of to create their own custom solutions.
Microsoft's success as a platforms maker is unsurpassed, but it seems that in recent years developers have been ignoring some of Microsoft's most innovative platform improvements. Why is this?
The most egregious example of this, perhaps, is the Windows Presentation Foundation (WPF, formerly "Avalon") technologies that Microsoft first provided with Windows Vista. Back in 2003, Microsoft treated Professional Developer Conference (PDC) attendees with a peek at the underpinnings of the Windows applications of the future. It was a heady time, and we were shown resolution-independent scaling, automated and complex text flow, and other special effects that would be the hallmark of the post-Win32, post-Microsoft Foundation Class (MFC) world.
It was not to be. Today's Windows applications look identical to those from almost a decade ago, the only material difference being that the window "ornamentation" has changed due to UI differences between Windows XP, Vista, and 7. Developers have only slowly embraced .NET, from what I can tell, let alone later .NET-based technologies like WPF.
Part of the problem, of course, was the public reaction to Windows Vista. Though the OS is actually as broadly deployed in businesses as was XP during the same time frame in its life cycle, Vista has the smell of death about it, and virtually everyone I've ever talked to has described it in negative terms, regardless of their lack of actual real world experience with the OS.
That's not completely it, of course. Microsoft back-ported most Vista-era platform technologies to Windows XP, perhaps understanding they would be a tough sell otherwise. That doesn't seem to have mattered, however. I can't think of a major WPF application. (And no, The New York Times Reader and several Twitter front-ends don't count.) Most damning, perhaps, even Microsoft has eschewed these leading-edge technologies in its own applications. You'd think the Windows Live Essentials applications and the bundled apps in Windows 7 would be WPF example applications. They're not.
Instead, in Windows 7, we get minor additions to the Windows platform. The ribbon UI that first appeared in Office 2007 gets a formal unveiling in Windows 7, and, sure enough, Microsoft even supplies two sample ribbon apps, WordPad and Paint, to inspire developers. But these basic apps aren't exactly inspiring, especially when you compare them to the WPF apps we first saw six years ago.
Of course, the world is moving on as well, and as more cloud computing solutions arrive, the platform of choice inevitably becomes the web. In that market, there is plenty of room for improvement, since the web is relatively immature compared to traditional PC platforms like Windows. But the barrier to entry is also lower: It's much easier to create and deploy a web application than a Windows application.
And that, ultimately, is the problem, from Microsoft's perspective. On the web, Microsoft is lagging behind efforts from competitors like Google, not to mention emerging web standards like HTML 5. The platform momentum, put simply, has moved away from Microsoft's traditional products and into markets Microsoft doesn’t dominate. In some cases, the company is barely a player.
Does this affect you? Indirectly, yes. Anyone who has made a big bet on Microsoft technologies has a vested interest in the company's continued success. Obviously, success can be measured in different ways. But if you accept that the adoption of its platforms is an important barometer of Microsoft's success, it seems that the company has at least temporarily stalled.