Live Mesh: A Developer's Dream?

Microsoft's new software-plus-service initiative could mean a host of opportunities for programmers.

Microsoft's new Live Mesh offering could be a developer's dream.

The software giant's broad strategy to enable users to sync data and applications from all of their devices in tune with a cloud operating environment could be just the boost developers need, enabling them to write their application once and target it to multiple places.

Meanwhile, as individuals embrace a world of devices and the company's device mesh vision, and as businesses embrace cloud-based services and server-service symmetry, developers will need platforms and tools that span seamlessly from cloud to server on the back end, and from PC to browser to phone on the front end, said Ray Ozzie, chief software architect at Microsoft.

In addition, according to Abhay Parasnis, Microsoft's product unit manager for Live Mesh, from a developer level the Microsoft Sync Framework is a key technology for developers, with its flexible APIs and framework model.

"What mesh does today is it's a model built on protocols," Parasnis said. "We want to make sure developers are not pinned into a choice of writing for the Web or for custom environments."

Microsoft supports the mesh's "whole client support model through FeedSync," he added. The entire synchronization capability is built on FeedSync, which developers can use to talk to the mesh via various APIs.

Joe Wilcox speaks out on Live Mesh. Read what he has to say.

"You can write AJAX [Asynchronous JavaScript and X M L], JavaScript, or take the product features of .Net, including Windows Presentation Foundation, for rich interactive experiences," Parasnis said. At the lowest level, "you can talk to Mesh with REST [Representational State Transfer]."

Yet, for JavaScript developers, Microsoft will provide a JSON (JavaScript Object Notation) representation of mesh. "Or for a .Net developer, we give you a set of managed APIs so you can write applications in managed code. We want to enable any kind of developer-Ruby, Python, Ruby on Rails ... and we'll support ATOM, JSON, RSS FeedSync, whatever," Parasnis said.

He said developers typically are forced to make hard choices, such as whether to write their application for the Web, "where they will have reach," but they might need to give up some experiences, or they can write applications with rich experiences that are device-bound. However, "mesh gives developers a real choice. They don't have to pick one or the other," Parasnis said. "They can program to mesh and deploy to the Web or to devices."

For instance, the Live Folders feature is one of the "platform experiences" Microsoft is providing with the Mesh launch, he said. Essentially, the Live Folders scenario can only be experienced in a rich client environment. "But using the base mesh programming model, we deliver a client-side run-time or 'mesh operating system,'" Parasnis said. On top of that are managed APIs for managed code such as C#, "and through FeedSync we've made it accessible to APIs in the data center," he said. "As a developer, I can write my application and, simply by changing a URL, I can make it be a Web application, or if it's a rich client app we can use local storage."

Live Folders will enable users to take any of their data on a Windows PC and make it part of their Web mesh, "and all that stuff becomes seamlessly available to any device" in your mesh.

Microsoft plans to start with 10,000 early users. "We'll get this tech preview out and then work with the community to define the platform," Parasnis said. "This is the best example of what we talk about with our software-plus-services strategy."

However, to be truly successful with it the initiative, Microsoft has to build a broad ecosystem around it, Parasnis said.