As Messenger Connect is a single API for the whole range of Windows Live services, it replaces previous APIs like the Windows Live ID SDKs (Client Authentication, Delegated Authentication, and Web Authentication, the Windows Live Contacts API, and the Windows Live Messenger Web Toolkit. Although Messenger Connect replaces the previous APIs and SDKs, it still offers all of their functionality.
Applications previously had to use one of the different Windows Live ID SDKs to perform authentication, depending on the scenario. Instead of having different SDKs to perform authentication, Messenger Connect incorporates OAuth WRAP as a single authentication mechanism for all types of applications. While OAuth WRAP is, in concept, similar to Windows Live ID Delegated Authentication, it does not require any server-side cryptographic signing. Furthermore, it provides applications with a unique static identifier for a user, similar to Windows Live ID Web Authentication. This allows developers to incorporate authentication into their applications without having to implement the whole process of authentication and user profiles by themselves. Applications previously incorporating Windows Live ID Client Authentication have to show a web browser component that exposes the same authentication page as web applications.
Applications can access the Windows Live user data via the REST API service in a consistent way and use it to retrieve the data in multiple formats including OData, AtomPub, JSON, RSS, and XML. This is similar to the REST service found previously in the Live Framework CTP. The major difference is however, that the REST API service now provides access to Activities, Calendars, SkyDrive Office Documents, and SkyDrive Photos in addition to only Contacts and Profiles. Although the Live Framework included a Mesh component and even an equivalent Sync component was shown at PDC 2009, no Sync component is included in this beta version unfortunately.
The REST API service provides applications access to the following user data:
- Profiles – Provides access to a user’s profile data stored within Windows Live. Applications can access the profiles of the authenticated user, his friends, as well as of any other user that gave consent to the application before. While applications can read all of the user’s profiles, applications can only update a user’s personal status message.
- Activities – Provides access to a user’s Messenger social activity feed (previously known as the What’s New feed). Applications can not only read and write activities to a user’s activity feed, but also read activities performed by their contacts.
- Contacts – Provides access to a user’s social graph by allowing reading and writing to a user’s Windows Live address book. Furthermore, the address book is available in the Portable Contacts format as well. Like the Windows Live Contacts API, Messenger Connect provides access to contact categories as well.
- Calendars – Provides full read and write access to the user’s calendars, so that applications can help users manage their time or add application specific events to the user’s calendar.
- SkyDrive Office Documents – Provides access to read from and write to Office documents stored on a user’s Windows Live SkyDrive.
- SkyDrive Photos – Provides access to read from and write to albums, photos, videos, and people tags stored on a user’s Windows Live SkyDrive.
In addition to the MWT features, Messenger Connect also provides a Chat control that allows web sites to incorporate (the often requested) chat room functionality. This control allows users to chat with other users currently visiting the same web application. Another great improvement is the introduction of the so-called Messenger Context, which provides a more simplistic interface for common Messenger functionality like detecting a contact’s online presence or a user modifying a personal status message.
Web Activity Feeds
Web Activity Feeds allow applications to host RSS 2.0 or ATOM feeds with social updates from users on that site. Windows Live automatically pulls down these feeds and incorporates them in the Messenger social feed.
With this major overhaul of the Live Services APIs, we are thrilled with the options developers now have to incorporate Windows Live services into their applications. It is good to see that the set of available services finally expanded, but unfortunately, there is no Sync component and no support for groups. Many people requested an API for SkyDrive in the past, and it is good to see that developers can finally access photos and documents on SkyDrive.
In the next couple of weeks we are going to publish a series of posts on this topic, so stay tuned for more!
Check out the revamped Windows Live Developer Center for more information on Messenger Connect. If you want to explore the capabilities of the Messenger Connect UI Controls or REST API service immediately, and without writing any code, you can check out the Windows Live Interactive SDK. You can download the SDK bits here and additional samples are found here (including PHP samples!). If you have any questions regarding Messenger Connect, you can ask them in the Windows Live Messenger Connect forum.