Related topics

Offline Silverlight and Live Mesh under the microscope

Microsoft Live Mess?

Mesh data lives in feeds, typically exposed as Atom or RSS feeds, enhanced with Microsoft's FeedSync extensions. A MEWA is a Mesh object that can manage one or more data feeds. If you are using the Live Framework client library for .NET or JavaScript, this is wrapped as a DataFeeds collection which is a property of the current MeshApplicationService. You can store any kind of object in a data feed, including file attachments.

The confusing aspect is that multiple users of an application might share the same data feeds, or they might have their own isolated data feeds. As far as I can tell, this is how it works. The boundary of data feed sharing in a MEWA is an app instance. This is special Mesh jargon, not the normal meaning. In other words, if multiple users are running the same app instance, they get the same data feeds, but if they have a different instance, they get their own data feeds.

A user may also have several instances of the same application, each with its own data. The normal pattern is that each user gets a new instance; but a feature of the Live Desktop is that users can invite others to share their application. In that case, the same instance gets shared.

The use case Microsoft gave at PDC was for an online video store. The application lets users browse the available videos, with data coming from the vendor's central database. However, users can also designate favorites, which are stored in a Mesh data feed.

A user can share an instance with their friends, at which point they all see the same list of favorites. Microsoft intends a MEWA to be able to exploit the power of that trendy thing, the social graph, on the assumption that your connections are stored in Windows Live. Nice try, needs work.

A MEWA is a great idea, but as it stands there are a number of problems. Yes, it is a CTP, it is desperately slow, the documentation is half-baked, the support forum is poor, and few understand it. But all these should improve as the product evolves. More seriously, the product is deeply tied to Windows Live, which will make it a hard sell for many.

Silverlight Desktop

A Mesh-enabled Web Application runs on or offline, with automatic data synchronization

A MEWA will not run unless you are signed in with a Live ID, whether online or offline. The automatic synchronization is all very well, but getting fine control over how it works appears to be difficult in the current CTP. There are also privacy issues: who would want to give an online retailer permission to read all their contacts, for example? Further, few trust Microsoft to do cross-platform properly.

I should mention that there are other kinds of Mesh applications, such as pure web applications that access a user's Mesh, or conventional desktop applications that code against the local or online Mesh environment. These approaches offer greater control, but lack the easy deployment and automatic online and offline features of a MEWA.

Adobe has a huge head start with AIR, and it looks as if Microsoft has a lot to do before this Mesh stuff will be release-ready. Ultimately, though, I suspect Microsoft is being too ambitious, trying to wrap offline Silverlight, data synchronization, authentication and social programming into one single piece, as well as promoting its Live brand.®

Sponsored: Today’s most dangerous security threats