Microsoft Live Mesh Overview - The Technology
(Page 2 of 4 )
As with all important software applications, this one has a codename: "Horizon." But what is hidden under these seven characters? Well, in the initial phases many taught that Microsoft is trying to offer something similar to a joined service featuring Windows Live SkyDrive and Windows Live FolderShare. What turned out to be a preliminary assumption has a grain of truth. Live Mesh is an environment, a platform that's said by the developing team to let multiple devices synchronize with each other.
The concept was to create a system that can eliminate the trouble of installing new drivers on each device, and let users interface between each other; multiple users should be able to access multiple devices. For average users this can be reduced to the controlled flow of data between devices with the help of a centralized system which is also capable of monitoring stats, perform not just file synchronization but also application synchronization.
At a first approach Live Mesh can be perceived as a two way feed channel, a RSS extension. Perhaps you remember the appearance of the Simple Sharing Extension (SSE) for Atom and RSS. From this has evolved the use of a bidirectional feed called FeedSync, which deals with the synchronizing of data across the Internet and also resolves conflicts that may pop up.
The key word for FeedSync is multi-device, as this works regardless if you are using your PC, laptop, and in future Mac, phone, and so forth. It's also worth remarking on that Microsoft completely ignored all the stuff already in use and just started from scratch. This approach lengthens development time but also let them rethink every part of the services, and if necessary revise/write them according to new situations.
Bidirectional synchronization is realized first between the website and Microsoft's cloud, the cloud and the client, and eventually between each of the devices. But the options do not end here at the level of feeds; this is only the most obvious to users. The same operation is possible for applications. You modify a sub-feed, make the mesh part of it, and update to the cloud.
For this, imagine software as formed from feeds of feeds. The application is a mesh object, while there are sub-feeds that are custom objects serving the application. For example, something like this is a word counter used by the application.
For developers this means much more. It's a platform. Just as for Windows the shell (start menu, and everything related to the explorer.exe) is in contact with the user (however the shell is just a tiny part of Windows), the synchronization is just the part that is in direct contact with the user. But Live Mesh means much more than that.
You can see Live Mesh with a user's eye as something that enables rich applications to get the settings across devices, or with a developer's eye as an arbitrary web site that extends its function across a large number of devices.
If you are a developer, the good news is that you may develop an application with a technology you are familiar with, and if you also manage to develop a piece of it that enables it to be "meshed," or uploaded to the server, the application will update itself.

(Courtesy of Microsoft)
At the base of Live Mesh stands cloud storage (see cloud computing if you are unfamiliar with the concept), the management, service and provisioning and computational fabric that other Microsoft Live services use. On the highest level is the same identity with which you are already familiar if you have ever seen/used one of the other Live products.
The Developer Stack is what all developers are eager to discover, so they may write their new project accordingly. However Microsoft said that all software applications can be made Mesh "compatible," or that at least a workaround will be made available; the method remains a secret.
The Developer Stack consists of the Live Mesh Framework (shortly Mesh FX) and the software that runs both on the cloud and the client devices, namely the Mesh Operating Environment (MOE). The open platform means that it can be implemented with every device regardless of the environment used. On paper (and on your monitor's screen) this looks good, but for the moment only Windows XP and Vista is supported. Mac OS support is supposed to be coming soon, but as for Linux, who knows?
Also, Microsoft promised that you can use more than just what we have in the beta, namely the .NET platform, or as it is now more commonly known: Silverlight. I have a feeling that the recommended data sheet papers will bring up Silverlight as the platform that will work best with Live Mesh; after all, Silverlight was also created by Microsoft.
But to continue with the subject, Live Mesh wants to be open for all developers (not just for those who use .Net) and at the same time cross-platform and cross-browser. Its resources are based on RSS, HTTP, REST, ATOM, JSON, and the previously mentioned FeedSync. Web 2.0 and all the "social" networking it brought weren't forgotten either.

(Also Courtesy of Microsoft)
We can only be glad about the decision that Live Mesh was written so that the Web version and client version use the same code. If you wonder what language to learn if you want to recognize the interior code let me tell you: C#.
The bad news is that, despite the fact that Live Mesh was launched for users already, developers are invited to wait because Microsoft promised that the developer kits will be released at the Microsoft Professional Developers Conference (PDC): October 27-30, 2008 at the Los Angeles Convention Center.
Next: The Way It Turned Out >>
More BrainDump Articles
More By Gabor Bernat