But on July 10, during his keynote address at Microsoft's Worldwide Partner Conference in Denver, Ballmer came the closest I've ever heard him to admitting that Microsoft needs to change its course. And fast.
"Consumers expect a move in this (Web) direction," Ballmer said.
While enterprise users are still in the planning phase, home users, small businesses and developers are moving full steam ahead on taking advantage of Web-based services, Ballmer conceded.
Ballmer's talk was billed as an attempt to clarify Microsoft's Software Plus Services (S+S) strategy, and explain how and where Microsoft's resellers, solution providers, integrators and other members of its channel fit into that strategy.
Ballmer did touch on those topics during his keynote (which I watched via Webcast). He reiterated that Microsoft believes customers will want not just services, but on-premise software, too, for the foreseeable future.
But Ballmer also went a step further and explained how Microsoft is reorienting itself to move more of its assets to the Web.
Ballmer explained that Microsoft already is rearchitecting its core platform to be more of a Web-centric one. As he told the Partner Conference audience, "the programming model stays .Net and Windows." But beyond that, Microsoft is is redoing its products and business models from scratch.
In a nutshell, Microsoft is taking the datacenter infrastructure it has been building to support Windows Live, Office Live, Xbox Live and other Live services, and is making it the crux of the company's future products, all across the board.
Picture a typical Microsoft architectural diagram. At the base level is what Ballmer called "cloud services." These are the core storage, networking, computing and management and operations infrastructural elements that some have called the "Cloud OS." On top of that, envision a layer of "Foundation Services" -- directory, device management, etc. And on top of that, "Application Services," specifically productivity, collaboration, commerce, search and community services.
If you took Microsoft's Windows Server, its core server applications and its Office products and turned them magically from software into services, you'd get a diagram like Ballmer showed.
"This is an ambitious project for us," Ballmer told the partner audience.
Wow. That's an understatement.
But Microsoft isn't really starting from zero. The company already has layed a lot of the groundwork. Windows Live Hotmail, Windows Live Messenger, Windows Live Spaces, Office Live, Xbox Live -- they already run on Microsoft server farms. And they already make use of an increasingly common set of interfaces and software.
(Compare Ballmer's architectural diagram with the Windows Live development platform outlined by members of the Live team in January. They are almost mirrors of one another.)
Ballmer warned partners on Tuesday that the vision he outlined isn't something that's way off on the horizon. He characterized the platform and vision he outlined as something that will start being relevant within the "next year to two years."
Ballmer said he believes Microsoft will "lead in driving this generation of computational model(s) and user interface" as it has in the past. Priority No. 1 is making sure the transition to a services-based platform is "a successful one for our customers, our partners, and of course, for Microsoft," he said.
Microsoft is in a tough spot here. The company is trying to sell shrink-wrapped Windows Vista and Office 2007 software. In February 2008, it's set to launch a bunch of new software -- Windows Server 2008, SQL Server 2008 and Visual Studio 2008. It needs its partners to be jazzed about selling this stuff. And it needs customers to believe they should buy and upgrade to these new software products, and not simply wait for hosted, managed and/or Internet-based versions of these products.
If you were Ballmer, what would you do, at this point, to make sure not to cannibalize your existing software business while moving to more of a services-focused one?