timandkathy.co.uk

Cal Henderson - Building Flickr

“Ten reasons to love Web 2.0”

  • Flickr is awesome! It certainly is…
  • Web 2.0 - kinda awesome…
  • Flickr 2.0 is 2 years old on Tuesday!
  • About 2 million users - many passionate ones
  • The developers are passionate about what they do
  • Passionate developers make for passionate users
  • User wants vs user needs (recurring theme here…)
  • Don’t listen to your users - they say what they want but don’t really want them
  • Give them what they need and they’re more likely to be passionate

10 things:

  1. Collaboration.

    • Flickr used to be a MMORPG, but became MMOPS (Massively Multiplayer Online Photo Sharing)
    • Putting photos on web sites isn’t new
    • The social network sharing is, though
    • Collaborative metadata
    • Add tags to my own photos, but also to my friends'
  2. Aggregation

    • Slice the data in interesting ways
    • latest photos from everyone, from your contacts etc.
    • slice by tag, geo-location, “interestingness”
  3. Open APIs

    • web services APIs - SOAP, REST, XML-RPC etc.
    • What’s the point? They needed it for Ajax-based apps. Eating. Own. Dogfood ;)
    • Do read-only stuff first: RSS etc
    • Do read-write later - provide API and data-storage, let others build the UI. E.g. Fastr - a game.
    • If you don’t provide an API and people want your stuff, people will screen-scrape instead.
  4. Clean URLs

    • No need to expose the guts of the app anymore
    • Expose the logical structure from the POV of the user
    • mod_rewrite under Apache is the easiest way (maybe…)
    • URL hacking is an alpha-geek thing to do, but people do it.
    • They mustn’t change. If a URL links to a resource now, it should link to it forever.
  5. Ajax

    • “remote scripting” / “remoting”
    • Could really be called ‘A’, as it’s not necessarily about XML or even JavaScript, just asynchronous requests.
    • All of the Ajax on Flickr uses the Flickr web service APIs
  6. Unicode

    • i18n - comes first, l10n comes later
  7. Desktop integration

    • All happens through the APIs
    • Not just desktop apps, browser apps too e.g. bookmarklets
    • Interaction via e-mail - great for uploading from mobile phones
  8. Mobile

    • “next year - the year of the mobile” - said every year since year dot
    • Modern phones use decent browsers though, which supports XHTML-MP 1.0
    • Still limited by small screen size, so rethink the content and the interface, not just re-present the same content as the desktop browser site
    • Still limited by small screen size, so rethink the content and the interface, not just re-present the same content as the desktop browser site
  9. Open data

    • Import and export of data
    • RSS gives me the latest 10, say, but doesn’t provide access to the entire dataset
    • The API lets them do this
    • The more you make it easy for people to leave, the more they’re inclined to stay
  10. Open content

    • The data is owned by the user, not by the service provider
    • Various Creative Commons licenses can be applied to define how other may use your stuff