Today, Microsoft announced the availability of the Windows Live Messenger Connect beta. Messenger Connect is a single API that enables developers to integrate social experiences into their web and rich-client applications using the Windows Live services. It consists of a REST API service along with a set of libraries for .NET, Silverlight, and JavaScript. Furthermore, Messenger Connect allows applications to provide RSS 2.0 or ATOM feeds to pull social updates from your site into Windows Live. Although participation in the Messenger Connect beta is currently only by invitation, you can apply for the beta here.
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.
Authentication
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.
User data
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.
Instant-Messaging
Messenger Connect allows rich web applications to incorporate Windows Live Messenger functionality, just as the Windows Live Messenger Web Toolkit (MWT) did before. It provides a JavaScript interface for instant messaging, full access to contacts management, presence, and conversation management. Developers can either incorporate general UI Controls that can be adapted through CSS and JavaScript, or use the JavaScript API to integrate the Messenger functionality deeply within their applications.
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.
Programming Libraries
Libraries for .NET, Silverlight, and JavaScript are provided. The .NET library leverages the WCF Data Services client library for handling the OData data. Any application using .NET version 3.5 or later can incorporate this library. The Silverlight library is built in a similar way as the .NET library but is only compatible with Silverlight version 4.0 or later.
The JavaScript library can be used by any in-browser application, but does not provide access to all of the services provided by the REST API service. In contrast, only the JavaScript library supports the Messenger functionality.
Conclusion
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!
More information
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.