Simon Willison: Ajax and the Flickr API

  • Flickr: totally buzzword compliant (“Social software, Tags/Folksonomies, Web Services, Ajax”)
  • The developers said: “we wouldn’t trust a service with no export option”
  • Don’t want to build an export tool
  • Built an API instead – let the users build an export tool
  • No-one’s built one yet, though they have built loads of other cool things
  • Related tags browser
  • Flickr upload tools: iPhoto plugin; various Linux ones; FlickrFS – virtual filesystem for Linux!
  • The ultimate geo-spatial mashup! magic tags in photos: geo-long, geo-lat, geotagged XXX

Web services
* Lets software talk to other software over the web
* SOAP and XML-RPC – magic function calls
* REST
* Flickr API calls made by sending named parameters to an endpoint
* Required: method, api_key
* All data is expected to be UTF-8, if not, it’s converted from iso-8859-1
* Public, private and authentication-dependent methods
* API Explorer
* Community API kits in various languages

Scrümjax! (Flickr’s own buzzword)
* Inline editing – titles, descriptions, tags
* Notes
* Misc. niceties
* All uses the public web services API!! (Martin: this is SOA on speed…)
* They’re eating their own dogfood :)
* Firefox LiveHttpHeaders extension is useful for debugging Ajax apps.

Benefits of adding web services to apps
* User trust
* External innovation & creativity
* Encourages better app design
* XMLHttpRequest and REST make a great combination
* www.flickr.com/services/
* If you only want read-only, there are also RSS feeds

Audience questions
* What percentage of usage is via the API? Not sure, but Flickr is the biggest user of its own API.
* How much load is introduced by exposing the API? Absolutely loads, as some queries are really expensive.
* How has the API design evolved? Simon’s only been there three weeks, but he thinks the API has been there from very early on.
* Server-side tech? PHP/MySQL (!). Loads of caching used, plus some java to distribute photos between servers. Performance-intensive stuff in C/C++.
* Organizr uses the API? Yes, but the XML-RPC version.
* What stops someone building their own site on top? API keys, and Ts&Cs

This entry was posted in Computing, Internet, Web 2.0. Bookmark the permalink.

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

3 Responses to “Simon Willison: Ajax and the Flickr API”