Connection, network, file synchronization. These words may be the most important ones in the near future. We passed the days when having many devices was a luxury possible only for a few select people. Having many devices can be both a blessing and a curse. Probably the main challenge with such devices is synchronizing your data across all of them. Many solutions for this issue will arise eventually, but one of the first is Microsoft’s Live Mesh.
Contributed by Gabor Bernat Rating: / 2 September 09, 2008
Unless you are really young, you probably remember when buying a PC cost a fortune and owning one was a privilege only for a few, mainly big companies. However, technologies evolved, and systems became better day by day. Prices dropped, the Internet emerged, and PC ownership became affordable for almost everyone, which brings us to the current state we all know.
Our life is migrating step by step to the online world and we are arming ourselves with a multitude of devices so we can keep up with the fast world in which we live. Currently the vast majority of us have a couple of portable devices (laptop, smart phone) and at least one if not a few systems (Mac, PC); media players (Zune, iPod) also became very popular.
Having so many devices could make it a real hassle to synchronize all of them. Microsoft Live Mesh promises to resolve this issue. I'm sure that if you fit the scenario I described in the previous paragraph, you've already wondered why you need to perform the same application installing task for each one of those devices. Why do you have to waste hours configuring a network, or even worse, to create a synchronized group?
Fear not. The programmers at Microsoft have thought about you, and after announcing in March 2008 that they are working on it, in April they launched the first beta for a small group of people -- to be exact, for Microsoft this means 10,000. The first clues about how this machinery will work were pointed out in some keynotes by the head of the team working on this: Chief Software Architect Ray Ozzie's. On April 22 the beta was launched, giving us some tips as to how the end result will work and on what technology it is based.
Ozzie is well-known for his experience with network-related problems. He worked for Iris Associates, where he created and led the development of Lotus Notes. Before Iris, he contributed to the development of Lotus Symphony and Software Arts' TK!Solver and VisiCalc, and was involved in early distributed operating systems development at Data General Corp. In 2005 Microsoft acquired Groove Networks, a company formed by Ozzie in 1997, and with it the popular Groove.
Throughout this article I'll present first the concept the Live Mesh, what it is, how it works, and also point out some information we know about it that might be of interest to developers. First I will cover the theoretical part, which is probably more crucial for developers, and follow up from the perspective of a user. Empower yourself with courage and patience, and read the next page.
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.
The launch of the first beta in April meant much more than just presenting the possibilities and Microsoft's hopes regarding this new product. It also brought the first live use of the product. On the invitation of channel 10, two members of the development team (Noah Edelstein and George Moromisato) presented the capabilities of Live Mesh. Because the video is quite long, let's sum up briefly what we have.
First, you may access Mesh in two ways. These include the "Notify"-er (software that you can download and install) or simply from a normal browser at the http://www.mesh.com/ website. As an identifier you will need your Windows Live ID. The browser option is a little slower, but it is assured that it will work from anywhere regardless of firewalls or similar issues.
(Also Courtesy of Microsoft)
The Mesh-Bar is a "fly-out" adjunct that provides you with notification and statistics, and activity updates over your Mesh. Your Mesh is signified by the "ring." This is nothing more than all of your devices placed in a circle-like environment, forming a ring. Every device that you have in your Mesh will be present here, and you can use them throughout this circle.
A little more practical example is Live Remote. Through this you can use any of your devices that are turned on from anywhere with an Internet connection, and be able to work on it just as if you were sitting in front of it. Imagine working on your masterpiece picture stored on your home PC on the go from one of your mobile devices -- and all of your work will be synced to all of the devices in your "ring" without having to even think about it.
Live Desktop will let you do so, as represented by what you get when you enter in your browser the magic URL: mesh.com. The only current limitation we have is the 5 GB cloud space. This means that you can only upload and sync 5 GB, however you can synchronize your files only throughout the devices, not the cloud. For now it all goes up to the cloud, but in the long term Microsoft plans to change that.
It's clear that Microsoft Live Mesh plans to redefine our way of life in the future and the whole process of how we imagine cross-platform applications. If something promises so much we should be able to define it briefly, so if you are asked tomorrow what Live Mesh is, you will be able to answer without presenting all of the properties of the project.
I think the best definition given that explains it simply and shortly belongs to Mary Jo Foley (at ZDNet) who said that the subject of this article is none other than
"A Software + Services platform for synchronization and collaboration."
Just when you think that we finally have some hard facts, I need to remind you that lately Microsoft tried to create a merger with Yahoo. That deal is said to be dead, but if it should come back to life, there is no telling what will happen with the project that Yahoo is working on which is similar to Live Mesh, namely the Yahoo! OS.
From many points of view, Mesh looks promising. When the 5 GB limit is removed, hosting services will suddenly face a huge threat to their existence. Live Mesh after all would be very practical to use for uploading information to a web site. Online email services such as Gmail and Yahoo made web users comfortable with storing information online. Microsoft's Live Mesh, if it works as advertised, seems like the next logical step.
Since Live Mesh is still in beta, however, this is simply speculation about the future, and remains a mystery. But don't wait for it to happen. Express your thoughts about this subject here on the blog, or even better on our friendly community at DevHardware Forums.