Today, Microsoft announced a series of APIs ahead of next week's MIX08 event. Key details were disclosed in a blog post by David Treadwell, Vice President of Windows Live. Today's announcement covered five new Live APIs, developer tools for supporting web APIs, and the overall technical architecture of the Live family APIs (currently comprising over 20 APIs). Over the past two to three years, Microsoft has increasingly used MIX as a foundation for showcasing its cutting-edge technology platforms.
* **AtomPub**: One of the most notable official announcements is that "Microsoft has invested heavily in creating a unified protocol for open services based on the Atom format (RFC4287) and the Atom Publishing Protocol (RFC5023)." This started with the Windows Live Spaces Photo API, moved to their application-based storage service, and then to Astoria ADO.Net Data Services, along with "a few more surprises coming at MIX." Since Google’s GData (also based on Atom), this means that the REST model underpins the web services of the two largest web API providers. Of course, "the devil is in the details," and as time goes on, we'll see how these implementations differ, as vendors inevitably diverge in their approaches.
* **Windows Live Messenger Library (WLML)**: The most significant news here is a new JavaScript API built on top of the Windows Live Messenger platform (formerly MSN, with over 300 million users), which allows websites to create customized chat experiences. You can find more details about this API [here](#). The screenshot below shows a customized application on the right displaying the same chat content as the standard Messenger on the left. This API supports all core Messenger features such as text chat, user status, images, and contact list management. The security model using Windows Live ID ensures that applications on websites will never have access to the user's password. This library works fully with Internet Explorer and Firefox on both Windows and Mac platforms. What are the limitations? It allows for one million free users per month. Note that this is a much more powerful interface compared to the current Windows Live IM Control.

* **Windows Live ID Delegated Authentication**: This latest API and web control provide third-party applications with a secure way to access a user's Windows Live data according to fine-grained permissions defined by the user—specifying what can be accessed and for how long (see [here](#)). To use this service, developers must first register to obtain an application ID. When a user wants to access their Windows Live data, the application ID provides runtime support ("request-response" process). This gives the program a "response token," which returns a "delegated token" that the application uses to access the given Live API and methods. These tokens need to be refreshed by the application when they expire. This will be an important API within the Live platform, as many services will depend on it. The slide below demonstrates the interaction between this service and a photo API.

* **Windows Live Photo API**: This is a major upgrade to the Windows Live Spaces Photo API. This API enables third-party sites to build photo applications on top of Windows Live Spaces. Given the large user base of Live Spaces, this API allows developers to access billions of images—approximately 4 billion photos. The API now supports both WebDAV and AtomPub models. It lets you upload, download, and delete photos; create, edit, and delete albums. One change in this API is that third-party developers no longer need to store or host images but can still manage image metadata, offloading storage to Microsoft's services. Note that it uses Windows Live delegated authentication, where users grant read or read/write permissions via proxy authorization for photos.
* **Application-Based Storage API**: Details of this will be released next week at MIX, but it is described as "an experimental API that allows application developers to store small amounts of state/configuration data in Windows Live data centers." This API includes an AtomPub service, enabling developers to call it through ADO.NET Data Services or other AtomPub-compatible tools. The practical value is that if an application has tens of thousands of users, it can offload storage responsibilities to Windows Live.
* **Finally, but not least**, there is an update regarding Silverlight streaming, which now includes support for WebDAV. New sample code is provided on mslivelabs to help developers get started, including updates to their existing Tafiti application (PW Aggregator Profile) along with source code.