BB30
Oct 29th, 2008
Live Services: Building Mesh-Enabled Web Applications Using the Live Framework

Speakers

Arash Ghanaie-Sichanie
Mesh-enabled Web applications are Web applications that run on multiple devices – the Web, PC, and mobile. Data for these applications is synchronized between all devices, and the application is available both online and offline. This talk described how to build these applications. / Mentioned Technologies
  • Live Services
  • Live Framework

Mesh applications are added to a user’s Mesh via the Mesh desktop. In a demonstration using the Blockbuster Web site, a video preview application was added to the user’s Mesh desktop via a link on the Web site. Once in the user’s Mesh, the application was also available on the PC desktop where it could run in offline mode. All changes made to video favorites information were synchronized between the Web and desktop version of the application.
Mesh applications are developed using Silverlight or JavaScript. With the SDK installed, it is a simple matter to create a Mesh-enabled application using either of these languages, and push this application into Live Services via the Live Framework. The Mesh application has full access to all Live Services from all devices, and during the talk this was demonstrated by creating a simple application that adds a string of data to a Live Services data feed. The application was pushed to the Mesh from Visual Studio, and the application appeared both on the Mesh desktop and on the PC desktop. Both versions shared the same data feed, and the version on the PC desktop ran with the network unavailable.
The talk covered a number of other aspects of Mesh-enabled Web applications:
Authentication
Mesh-enabled Web applications are pre-authenticated, and are authorized only to access data in their own Mesh objects, and only user data that the user has specifically granted it access to. A more sophisticated scenario was demonstrated in this talk where the Blockbuster Web site containing the link to the Mesh application is given a security token by Live Services (after querying with the user) allowing it to also access the user’s profile data.
Sandboxing
Mesh-enabled applications run in a sandbox environment with no access to disks, networks, etc. They require explicit permission to view private Live data – this permission must be granted by the user on a per object basis, and permission can be set to expire after a period of time.
Auto-update and Versioning
Mesh ensures that all devices have updates made to the application (this auto-update is optional and can be disabled by the user). Mesh can also manage multiple versions of an application.
Application Catalog
The application catalog is a single global location for distributing Mesh-enabled Web applications. An approval process is required to be added to the catalog – this process was not covered during the talk.

List of demos

A quick lap round a Mesh- enabled application / A demonstration of the Blockbuster Web application (no code) / 10 min into session
Build a live Mesh application / Create a Mesh application that persists data into the Mesh. / 21 min into session
Web site authentication delegation / Demonstrate the code required on a Web site to launch a Mesh application using the appropriate authentication. / 49 min into session

Conclusion

This talk demonstrated how to build collaborative, social applications that are available both online and offline using the Live Services Framework. The key takeaways from this talk were:
  • That Mesh-enabled Web sites extend Web sites to desktop
  • That Mesh synchronizes applications and data
  • That all application can benefit from the Live Framework
  • That the user remains in full control of their applications and data

David Watson

Solution Architect, Microsoft Services Australia Solution Development Center