RDN Directions
Live Mesh
Microsoft envisions a world where all the user's Web devices share and synchronize information among themselves, with the Internet as the hub.
Make no mistake -- the Microsoft technology known as Live Mesh is full of promise. Don't let the fairly pedestrian nature of the present offering put you off, because in the longer term, Live Mesh is poised to do some truly big things.
It all comes down to vision. Microsoft envisions a world where all the devices that a user employs to connect to the Web come together to share and synchronize information among themselves, with the Internet as the hub. Applications will no longer be installed on your PC or your phone, but instead will be installed on your Mesh, and will be available from any device linked to your Mesh.
Sounds very interesting, right? It should also sound very familiar. This isn't Microsoft's first attempt at defining a platform for connecting users to their data via the cloud. In 2001, Microsoft launched Hailstorm, with the promise that it would enable users to "access, for example, an individual's calendar, contact information or documents, from any app, device or service connected to the Internet." The .NET Framework was launched with similar aims. This time, however, Microsoft is acknowledging the reality that the Web, and not the PC, is the hub for users' digital lives, and that makes Live Mesh very different.
The ambitions for Live Mesh may be large, but the current reality is far more humble. The preview version of Live Mesh synchronizes files between devices, gives users the ability to access those files via the Web, and integrates with Windows' remote desktop capability to let users access their PCs from anywhere on the Web. That's useful, but hardly revolutionary. Also, the initial preview has a pretty narrow view of what constitutes a "device" -- Windows XP and Windows Vista. Mac support is promised in a later preview, as is Windows Mobile. But in 2008, can you really say something is a Web technology if it only runs on Windows?
Questions in the Mesh
So when looking at something like Live Mesh, you have to separate the vision from the current reality. Microsoft, like many companies, doesn't make this easier, speaking of some capabilities -- like the ability to take a Mesh application offline -- in the present tense, even though they're not available yet. But setting aside its current status, there are some important questions to consider about Live Mesh.
First, there's the concern about lock-in. Although it's built on a number of open technologies, such as RSS, Atom and JSON, Live Mesh is decidedly a Microsoft platform. Once a developer builds an application on top of Live Mesh, they're beholden to Microsoft in perpetuity. At one time, that wouldn't have seemed like a deal-breaker. Millions of developers have built Windows applications, happily making that trade-off. But having experienced the freedom of Web development, in which no single company controls their core platform, will those developers be willing to go back to the future? My Magic 8-Ball says "reply hazy, ask again."
In addition, although pieces of Live Mesh compete with offerings from companies like Apple, Adobe and Google, Microsoft is really in a race with the entire Web. Browsers are getting offline storage through an update to the HTML standard, technologies like Google Gears are enabling AJAX applications to run offline, and rich Internet application (RIA) technologies like Flash and Silverlight are giving browser-based applications more and more desktop-like features. Most significantly, the number of places where the Internet is completely unavailable continues to shrink. Given ubiquitous connectivity -- a stretch for today, but in a few years, maybe not -- why would users want to synchronize anything instead of just accessing data directly in the cloud?
Then there are the usual business questions that surround any Web technology: Will Live Mesh be ad-supported or subscription based, or some hybrid?
Meshing with Silverlight
Finally, it's unclear exactly how Mesh applications will move from cloud to PC to device. Moving data from place to place is one thing -- moving application code is another. Somehow, Live Mesh will need to abstract the considerable differences between all those devices. My bet is that although Microsoft will demonstrate Mesh applications written in all kinds of languages and technologies, Silverlight will end up being the preferred format because it already provides a cross-platform runtime that's supported by Microsoft's tools.
Developers are a savvy bunch, and they can tell the difference between promise and reality. As was the case with the launch of Hailstorm and the .NET Framework, it will take time for them to tease out what's really happening in Live Mesh. Only then will we know whether Live Mesh is the next .NET Framework, or the next Hailstorm.
About the Author
Greg DeMichillie analyzes and writes about Microsoft's development platform and tools for Directions on Microsoft, a research firm dedicated to tracking Microsoft. He was previously the group program manager at Microsoft responsible for the overall design and feature set for Visual C# and C++. A founding member of the C# language team, DeMichillie was a key contributor to the initial design and development of .NET.