I recently signed up to the LOVEFiLM DVD and Blu-Ray rental
service. For a small monthly fee you can rent films from their
extensive library which they post to you. You can also stream
content, either from the web or to a device (currently both my Sony Bravia TV and
my PlayStation 3
are able to receive VOD (video on demand) from LOVEFiLM.
However, the developer in me also noticed they have a development API which is free to use (once you have signed-up and agreed to the T&Cs). The API is based around simple HTTP REST requests and can return results in XML, JSON or HTML format. The main snag is that all requests require OAuth authentication, which can be a pain, as I explained in a previous post about using the Twitter API. However, once you have gained access, the actual API is quite extensive, albeit not particularly well documented at the current time.
Currently I've developed a couple of web-based apps using the API:
The first one displays a list of films I've previously rented and also films that are in my rental queue. It's based around a .NET and C# library that makes the REST requests and then returns the results as either XML or XSLT. I've then written some XSLT extensions for Umbraco (the CMS that powers this site) that allow me to take the XML and transform it using XSLT into HTML.
The second one provides a real-time search of the entire LOVEFiLM movie catalogue. It provides some basic filters (genre and format) to limit results. However, the main feature it adds is direct links to IMDB, Rotten Tomatoes, Metacritic, Wikipedia etc. to find out more about the film. I find this useful as it lets me check out all the reviews and opinions of films I potentially want to rent in one place. This code, whilst using the same base C# classes, also uses LinqToXml to transform the returned XML into strongly-typed .NET objects (for easy databinding to .NET controls).