Microsoft's Mesh Revealed—Sync All Apps And All Files To All Devices (As Long As They're Windows)

Ray Ozzie first hinted at it during a keynote speech last March. But tonight Microsoft is finally launching a preview beta of Live Mesh, a new Windows Live platform for syncing files and, eventually, applications across different devices. (Of course, for Microsoft, a beta means 10,000 people, so you have a pretty good chance of getting in if you sign up now—or not). Mesh is really a key element in chief software architect Ozzie’s efforts to make the Web the center of the Microsoft experience for consumers instead of the PC.

livemesh-side.pngMesh lets you set up a virtual desktop online, and connect different computers to it. Put any file into a Mesh folder and it automatically syncs between the online desktop and every connected computer. Select a file or folder and you can easily share its contents—photos, videos, music, documents—with any friend or family member. You can also remotely control a connected computer from the Live Mesh desktop. Right now, this works with any computer, as long as it is running Windows XP or Vista. But the longer-term vision is to truly make this work with any device. Mac and mobile versions are coming later this year. And eventually, anything from Xboxes and DVRs to digital picture frames and printers could be connected through Mesh.

A hundred of Ozzie’s engineers have been working on Mesh for the past two years. At launch, it may not seem like much more than a combination of Windows Live SkyDrive and FolderShare, but under the hood it is an ambitious platform play. Mesh is really aimed at developers. Not only does it provide a framework for syncing files between devices, it can also sync applications. The way it does this is by using a two-way RSS or Atom feed developed by Ozzie called FeedSync, formerly called Simple Sharing Extensions.

live-mesh-logo.pngThe basic foundation of Mesh is this feed-centric programming model. A Web developer can build an app using any programming language or tools he likes (Python, Ruby on Rails, Flex) and then sync it across devices and other applications using two-way feeds as the basic data and communication channel. The promise for developers, says product unit manager Abhay Parasnis: “If you Mesh-enable your application, we will let you extend it to other devices.”

Microsoft is offering a set of Mesh APIs that include storage services, membership, sync, peer-to-peer communication, and a Newsfeed feature that tells users the status of different folders and who’s accessed them. The same programming model works whether a developer is building an app for an offline device or for the Web

In many ways this effort is a counterweight to what we are seeing with Adobe Air or Google Gears, which are efforts to take browser-based apps offline. With Mesh, Microsoft is in effect reasserting the primacy of client-based applications. They need not be Windows-based, but I’m sure that won’t hurt. Developers can customize their apps for whatever device they originally reside on—whether it is a PC, a smartphone, or a set-top box—and then Webify them by syncing them to other applications across the Web. These apps could be more powerful than apps confined to a browser-like sandbox without giving up the connectivity of the Web.

One example given to me was a PC-based genealogy app that would update whenever a family member made a change on their computer. The problem with this example, and perhaps the problem with Mesh, is that there is already a solution to that synchronization problem. It is called Geni, and it is a Web app. What I’d like to see, though, is a Mesh version of Word or Excel. That could at least begin to answer the threat presented by Google Docs and other online productivity apps. Mesh makes ciient apps social by linking them together and to the people you know.

Intuitively, Ozzie understands the need for this shift in focus on the part of Microsoft. In a strategy memo to employees, he writes:

To individuals, the concept of “My Computer” will give way to the concept of a personal mesh of devices – a means by which all of your devices are brought together, managed through the web, as a seamless whole.

. . . Live Mesh, a new services platform technology that will also become part of Windows Live, further extends the Windows / Windows Mobile / Windows Live experience by bringing your devices together to work in concert with one another using the web as a hub, enabling:

Unified Device Management – Users will register their devices through a simple, web-based service. Once a part of a user‟s device mesh, whenever they happen to connect to the internet the devices “report in” to the service – e.g. for status, health, location, and to exchange/synchronize information. Mesh-aware device configuration/personalization will be done through the web, and full remote control of a device (e.g. remote desktop) will be available from anywhere.

Unified Application Management – Installation and management of “mesh-aware” applications on any or all devices, along
with their application settings and data, will be simple and transparent for the user. Individuals will now enjoy the centralized
cross-device purchase/deployment experience formerly available only within the enterprise environment.

Unified Data Management – Folders and files (e.g. documents and media) will be automatically synchronized and made available across any or all devices, as well as through the web. Because every folder can now have an extended web presence, even PC-based documents and media can now have a social mesh element to them.

If Mesh gets adopted, it protects Microsoft’s client- and server-based software franchises, while opening up new revenue streams for “meshing” other companies’ applications together. Don’t be surprised to eventually see Microsoft impose utility pricing for cloud computing services that support Mesh services such as storage, syncing, and messaging between users. But that won’t come for a while. First, it needs adoption.

Here is a reviewer’s guide, with screen shots following.


var scribd_doc = new scribd.Document(2603063, ‘key-1rpcbn9ibpcj475nuiex’); scribd_doc.write(’embedded_flash_2603063_ptoue’);