Microsoft made a flurry of API-related announcements today in advance of next week's sold-out MIX08 event in Las Vegas. The key details are outlined in this blog post at dev.live from David Treadwell, Corporate Vice President of Windows Live Platform Services. Today's news covers five of their Live APIs, development tool support for web APIs, and a bit of insight into their overall technology strategy for the Live family of APIs (they currently have over 20 APIs). Over the past couple of years Microsoft has increasingly been using MIX as a launching ground for their online platform technologies (see our MIX07 coverage here).
- AtomPub: Perhaps most notable overall is the official statement that "Microsoft is making a large investment in unifying our developer platform protocols for services on the open, standards-based Atom format (RFC4287) and the Atom Publishing Protocol (RFC 5023).". They're starting with the Windows Live Spaces Photo API, their Application-Based Storage service, the Astoria ADO.Net Data Services, with "a few more surprises in this area announced at MIX". Since Google's GData is also Atom-based, this means two of the biggest web API providers are both supporting the same underlying REST-based model in their web services. Of course the devils in the details and over time we'll see how the implementations will inevitably vary across vendors.
- Windows Live ID Delegated Authentication: This updated API and new web control give third-party applications a secure way access users Windows Live data while giving users granular permission of what can be accessed and for how long (see API our Live ID profile here). In order to use the service developers must first sign-up for an Application ID. They then supply this at runtime when a user wants to access their Live data (the process of "requesting consent"). At that point users are sent to a Windows Live login page or iframe where they login and grant access based on function and/or time. This gives the app a "Consent Token" which in turn contains a "Delegation Token" which can be used by the app to access specific Live APIs and functions. These tokens expire and need to be refreshed by the application. This will be an important API in the Live platform stack given how many other services will leverage it. The slide below shows the interaction between this services and an app using the Photo API.
- Windows Live Photo API: In a major upgrade to their Windows Live Spaces Photo API. The API lets third-party sites build photo applications on top of Windows Live Spaces. Because of the large size of the Live Spaces user base, the API gives developers programmatic access to 4 billion photos. Underneath the covers the API now supports both a WebDAV and an AtomPub model. The APIs let you upload, download and delete photos and to create, edit, and delete albums. One of the changes to the API and photo hosting model is that third-party developers don't need to host or proxy the images but instead can manage the photo metadata but leave the storage and serving to Microsoft. And note that it uses Windows Live Delegated Authentication in which users delegate permission to read or read/write photos on a site-by-site basis.
- Application Based Storage API: Details on this will be released at MIX next week but this is "an experimental API which allows application developers to store a small amount of state/configuration data in the Windows Live data centers on behalf of a user. This API has an AtomPub service end point so developers will be able to call this using ADO.NET data services or other AtomPub compatible tools. The real value kicks in here if an application was to have hundreds of thousands of users as the storage is offloaded to Windows Live infrastructure."
- Last but not least are updates to Silverlight Streaming including WebDAV support as well as new code samples at mslivelabs to help developers get started including an update to their existing Tafiti app (our PW mashup profile) along with source.