What comes after S+S? A truly unified client-cloud platform

Microsoft Chief Research and Strategy Officer Craig Mundie's current priority No. 1 is to help the Softies, customers and partners understand the changes necessary to program and use computing resources in the form of a composite platform -- i.e., the cloud and the client as a single unit.

Many consider Software + Services (S+S) to be Microsoft's way of keeping its PC-software money-making machine afloat while the cloud-computing waves come rushing in. But that view ignores the reality that it actually doe makes sense to run some applications and/or pieces of applications locally, and others off-premise in remote datacenters, according to Microsoft's Chief Research and Strategy Officer Craig Mundie. Mundie keynoted the Technology Review Emerging Technology conference in Cambridge on September 25. Mundie presented a more technical and in-depth version of a talk I heard him give at the company's Financial Analyst Meeting in late July. In that talk, a transcript of which is available on Microsoft's Web site, Mundie showed off proof-of-concept demos of a variety of technologies that show off the natural-user interface and multicore computing power that Microsoft officials believe will be at the center of the computing universe in the coming years. While Mundie's talk was fun, it was my conversation afterward with him that gave me more food for thought. Mundie's job is to help the company prioritize where it is investing time, people and resources to be successful in the period three to 20 years out. Mundie's current priority No. 1 is to help the Softies, customers and partners understand the changes necessary to program and use computing resources in the form of a composite platform -- i.e., the cloud and the client as a single unit. This composite platform is more than "just" S+S, Mundie said. Currently, in the Microsoft world, services are more of an adjunct to locally installed software. (Think Windows Live Messenger or Office Live Workspace as examples.) In the not-so-distant future, Microsoft will be providing a programming model and tools that will allow developers to build applications that are designed, from the get-go, to span the client and the cloud. (Mundie wouldn't spill the beans on announcements Microsoft is teeing up for its Professional Developers Conference in late October. But Microsoft officials are slated to detail "Zurich" cloud programming services, the Live Mesh software development kit and the first Microsoft-developed Live Mesh applications that will be designed to straddle the client and the cloud at the conference.) "There will be a set of things that are done on the client, and another in the cloud. At the PDC show, we'll show some of the necessary pieces," Mundie said. Mundie acknowledged that Microsoft "is still figuring all these things out as we go along."

He said the company has been slowly and quietly delivering technology elements that are part of this composite platform framework over the past few years. He pointed to the concurrency and coordination (CCR) and decentralized software services (DSS) runtimes that are currently embedded in the Microsoft Robotics Toolkit as an example of one such technology. Robotics -- and the automated front-desk receptionist application that Mundie demonstrated again this week -- are examples of how Microsoft is introducing to market distributed and concurrent computing technologies required by composite client/cloud scenarios without disrupting the existing legacy base, Mundie said. Another example of the kind of composite application/scenario that will mix client/cloud resources is the "first life" immersive navigation experience that Mundie demonstrated to Wall Street analysts in July and the EmTech audience today. I know there are a lot of doubters out there who've pooh-poohed Microsoft's S+S strategy. I actually thought it made a lot of sense, in terms of helping Microsoft preserve its software legacy and its users, their software base. I've noticed more and more vendors -- Cisco, VMware, Google and others -- increasingly adding on-premise software elements to their "all cloud/all the time" line ups. It wasn't until today, though -- when Mundie went deeper about how offering more offline software capabilities on phones and PCs would help users (especially ones in emerging markets and with "occasional" connectivity) to use services even without constant Internet access -- that I felt that mixing the cloud and the client was more than just a rationalization strategy for Microsoft. What about you? Do you think unifying the cloud and client is more than just a way for Microsoft to try to hold onto the past? Do you agree there are some applications that don't make sense to run as "cloud only"?