Keep Everything in One Place: Everywhere
Give Microsoft a problem, and you'll soon find them developing multiple solutions. Take synchronization. We've already covered the Synchronization Services, but there are many other teams working on this problem.
Mesh Window One potentially interesting development in this space is Live Mesh. Live Mesh is part of Microsoft's Software as a Service (SaaS) push, and an example of cloud computing. The technology is Beta, and in limited release, but definitely seems to hold promise. Live Mesh consists of code running on your computers, as well as services "in the cloud". Currently, the only clients supported are PCs (either XP or Vista), but clients for Macintosh and mobile are promised. The install is less than 1MB, and it takes about a minute to install. You'll also need a Live ID (formerly Passport) to access the service.
At the moment, Live Mesh really only supports two primary features. First, it enables the creation of multiple synchronization folders. Anything put in one folder is shared across all devices you connect to your mesh. You can add members to the folders, and define who has access to each folder independently, assigning permissions as needed (at the moment, it only supports adding multiple owners, but I would imagine a more granular security model will be added before general release). In addition to having the content available on each device, the content is also accessible using the "Live Desktop" view, which you can access using any Web browser. A "news feed" provides a history of changes made to these folders, and the files stored in them.
The second major feature of Live Mesh is an enhanced version of Remote Desktop, enabling you to work on a remote computer as though you were at that computer (see figure at left where I am accessing the Web-based desktop from a remote desktop). Those two features form a strong foundation, however: the ability to store data on a remote cloud, and synchronize that data across multiple machines and platforms is useful across many application scenarios. For example, a sales force automation application could use Live Mesh to distribute the application, keeping it up-to-date as it changes. Individual agents' sales or messages could then be stored and shared across multiple machines (perhaps a laptop when on the road and a desktop when in the office). If the agent needed access to another machine, they could use the remote desktop functionality to access machines back at the office (perhaps a shared demo machine). Teams could use Live Mesh to collaborate on a document or project, even working on the project while offline. Alternately, applications could leverage the news feed to monitor changes made across multiple clients or applications.
The API for Live Mesh is not publicly available as of this writing, but Microsoft has released a video demonstrating some of the features they are proposing. Some of the interesting features include:
- Live Mesh uses XML (more accurately, the Atom Publishing Protocol) to communicate with the services. This means that any platform that can create and manipulate XML could participate in a Mesh cloud.
- To save developers from having to hand-code XML for their own applications, there will be a set of classes for use with any language that supports the .NET Framework.
- Live Mesh applications will support offline access, and auto-updates.
- Just as with the data stored in the cloud, the applications will also be available from the Web-based desktop.
Live Mesh doesn't hold many new features yet: it seems to only duplicate features that are already available elsewhere (FolderShare, Remote Desktop, even Groove). However, with the addition of the SDK, and the fact that you will be able to easily integrate working with your Mesh using your own applications means that it is definitely a technology worth watching. If you haven't already signed up, get on the waiting list for both your Mesh desktop, and the SDK now.