Microsoft is a devices and services company these days. But the way the company (and most of its customers) build software still revolves largely around desktop tools.
There are forces inside Microsoft working to change that paradigm, however.
In a video clip from a July 17 "Future of Software Engineering Symposium" held in Redmond, Wash., one former Microsoft researcher shed light on efforts inside the company to get more teams at Microsoft to write software and services in the cloud. (Thanks to @h0x0d for the tweet with the link to the video.)
A year and a half ago, James Larus, the father of Microsoft's Singularity operating system, and Galen Hunt, the head of OS research in Microsoft Research, started an initiative called "Cloud Build," Larus told conference attendees. Larus said Cloud Build was "an attempt to get developers to write in the cloud, not on the desktop." He noted that Google "does this already."
Instead of meeting opposition, Larus said developers in Microsoft were excited about the idea after reading an internal white paper Larus and Hunt wrote on the topic. Many on product teams across the company wanted in on the research action, he said.
The sentiment was that going cloud would accelerate the software development process. "Artifacts" and tools could "live in the cloud," Larus said. And testing and statistical analysis would be naturals for a cloud-first approach, he added. Cloud development would promote code reuse and make it easier for everyone to run on a common platform, Larus said.
Wolfram Schulte, another Microsoft researcher, built a team "outside Microsoft Research to build this out," Larus said.
Schulte, according to his bio on the Microsoft Research site, is heading up a team called Tools for Software Engineers (TSE). TSE "is creating a future where Microsoft's software engineering systems are considered best-in-class industry wide," according to the TSE page on Microsoft's site.
There are two current TSE projects, according to the site:
CloudDev - bring all of the positive network effects afforded by cloud computing to the practice of software development at Microsoft. Provides cloud-based build, test, and analytics services to product groups across Microsoft. The first short-term objective is to shorten the continuous integration cycle time - the minimum time required for a typical source code change to move from check-in to compiled and unit tested binary.
CodeMine - provide the right data, at the right time, in the right context for making engineering decisions. Building a Software Analytics Platform for Collecting and Analyzing Engineering Process Data at Microsoft.
"TSE has combination of world class engineers and leading software engineering researchers. Our customers are product groups like Windows, Windows Phone, Office, Azure, Xbox, Bing, SQL, Developer Division, Dynamics, and others," the page said.
I asked Microsoft if any current research projects, such as the Orleans cloud programming framework (on which Larus was the lead) were related to TSE and/or the Cloud Build work that Larus outlined. The Halo team at Microsoft has used Orleans to build services that are hosted on Windows Azure. A company spokesperson declined comment.
Microsoft also is doing other work revolving around the cloud and software development. Its Team Foundation Service is hosted on Windows Azure. And the Windows Phone team has used "cloud compilation" techniques to make the Windows Phone operating system and applications faster and to help with porting apps to new versions of the Phone OS.
Update: Microsoft also is reminding its MSDN subscribers this week about their recently updated Windows Azure benefits, hoping to entice more external Windows developers to go the cloud route, too.