Offline Silverlight and Live Mesh under the microscope
Microsoft Live Mess?
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.
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: DevOps and continuous delivery