Saturday, February 21, 2009

Introduction to Live Services, Part 2: A Guided Tour of Live Services

In Part 1 of this article, we introduced Live Services and explored how it fits into Azure Cloud Computing. Now in Part 2 we'll take a tour of Live Services and get acquainted with the many services your applications can leverage.

Live Mesh and the Live Desktop
Live Mesh is a system for synchronization, sharing, and access of your data and applications. You go to
http://mesh.com first to sign up for a mesh, and afterward to access your mesh. You can add multiple devices to your mesh, which will soon include not only PCS but also Macs and mobile devices.




















Mesh also gives you a virtual desktop called the Live Desktop in which you can create file folders. You can move local files in and out of your Live Desktop manually (e.g. through dragging) or set up automated synchronization.
























You can try out Live Mesh and the Live Desktop at http://mesh.com/.

SkyDrive
SkyDrive is online file storage, currently providing 25GB of free storage per user. SkyDrive is password-protected and you can create personal, shared, and public folders and control who can access what.

You can try out SkyDrive at http://skydrive.live.com/.

Live Alerts
Live Alerts provides notification services. For example, you can get a notification about the weather or a new Live Mail message. Notifications can come to your desktop, mobile device, or email account. Live can detect where recipients are on the network and intelligently deliver an alert message.

You can sign up for and configure Live Alerts at
http://alerts.live.com
.

To program against Live Alerts, use wither the Windows Live Alerts for RSS Feeds or the Windows Live Alerts SDK.

Live Contacts
If you use Live Mail (Hotmail), Messenger, or Mobile Contacts, Live can make it easy for you to use and share your contact information--all under your control. There is a Contacts control you can put on your web sites that shows a logged in Live ID user their contacts and allows them to electively share some or all of them with your web site.

You can try out the Live Contacts control at
http://dev.live.com/mashups/trypresencecontrol/
.

You program against Live Contacts using the Contacts Control or the Contacts API.

FeedSync
FeedSync provides synchronization for the web. Just like RSS and Atom, FeedSync feeds can be synchronized to any device or platform.

You program against FeedSync using the Microsoft Sync Framework.

Live Messenger
Live Messenger is a well-known instant messaging system which includes a desktop IM client.

You can program against Live Messenger using the IM Control, the Presence API, the Messenger API, and the Activity SDK.

Photos and Photo Gallery
Live lets you store and access photos from Live users. Photo gallery is a desktop application that aids in getting photos off your camera, editing photos, and publishing them online.

You can download Photo Gallery at
http://download.live.com/photogallery.

You program against Photos and Photo Gallery using the Photo Gallery SDK o Photos Control.

Live Search
Live Search is not only a search destination on the web, it's also an API you can use to search your own content sources. Results can be output in JSON, SOAP, or XML.

There's an online example of Live Search at
http://simon.incutio.com.

You program against Live Search using the Live Search SDK.

Silverlight Streaming
Silverlight Streaming, as the name implies, allow media such as video to be streamed to Silverlight applications in a scalable way. Silverlight Streaming is cross-platform and cross-browser.

You can see a demo of Silverlight Streaming at
http://retail.mslivelabs.com/.

You program against Silverlight Streaming using the Silverlight Streaming SDK.

Live Framework
The Live Framework is the primary Live SDK. Along with it is Live Framework Tools for Visual Studio. It allows you to get at Live Services using the protocols that are common throughout the rest of Azure such as REST.

You can download the Live Framework and Tools only from Azure.com after signing up for an account, receiving a Live Framework token, and activating it.

Live ID
Live ID is a well-known identify system that is also adding support for Open ID. Integrating your web site with Live ID spares users from having to create and remember yet another ID and password. It's also possible to link Live ID to your enterprise Active Directory.

This is one area I've done some real development with. I've created several Azure-hosted web sites that integrate with Live ID for identity. It's a well-thought out system. You can see a demo that uses Live ID in the LifeTracks demo (
http://lifetracks.cloudapp.net) which is also on CodePlex.

You program against Live ID using the Live ID Web Authentication SDK, Live ID Delegated Authentication SDK, or Live ID Client Authentication SDK.

Live Spaces
Live Spaces let you define an online spot for sharing things like photos and messages. You can also add web gadgets.

This
video demonstrates interactively configure a Live Spaces space,
You program against Live Spaces using the Live Spaces SDK (there are multiple SDKs).


Live Maps (Virtual Earth)
Live Maps provides mapping and geospatial services, in 2 and 3 dimensions.
Live Maps can be accessed online at
http://live.maps.com/. An online demo of an application that integrates with Live Maps can be found at http://visitplanner.mslivelabs.com/.

You program against Live Maps using the Map Control or Web Services.

Web Gadgets
Web Gadgets are modular web areas you can add to web sites such as Live Spaces.

You program against web gadgets using the Live Gadget SDK.

Writer
Writer helps you write blogs and includes features such as spell checking.

You program against Writer using the Writer SDK.

Summary
As I present Live Services at user group meetings and other events, I find most developers are unaware that all of this exists and that they can take advantage of it programmatically. We've taken a grand tour of Live Services in this article to better acquaint you with the possibilities. The rest is up to you: how will you leverage the social layer of Azure in your applications?