will meyer

Nerd of multiple disciplines. Father of boys. Employee of Spotify.

On Facebook, Widgets, Apps, and APIs

There's been no shortage of discussion on Facebook of late -- Facebook as the new Google, Facebook vs MySpace, etc. etc. -- and their overall strategy deserves some discussion, to be sure. But you've read all of that by now. As with any great period of hype and furious activity, there are also by now some misconceptions about what you can actually do with Facebook from a practical perspective. I obviously have no idea what I am talking about, but here are some observations after writing some Facebook code (for Cruxy) for a little while now, and why I think all those Facebook apps in your sidebar aren't what is going to matter.
facebooked

In general, the power of the Facebook platform is NOT in the Facebook-resident applications, but in the non-Facebook applications that use Facebook services. There has been some discussion on whether Facebook apps are widgets, whether they offer better extensibility than MySpace (here, here, and here are some good examples), and related. There are some good thoughts here. Personally, though, I think the compelling point isn't that Facebook is a new platform into which you can inject dynamic application content (widgets or otherwise). It is that Facebook offers a platform API that you can use to build social networking functions into your own, separate, application. This is clear, but this is not what everyone is talking about. Even though Facebook is the cat's pajamas right now, and yes it's a cool destination that a lot of people go to, over-time it'd be hard to imagine a single destination where everyone in the known universe would go to use all kinds of disparate applications integrated only though their set of "friends". Social networks, over time, are inherently too interested-oriented for this to be a viable model. The brilliance in this overall move by Facebook is not as a super-extensible, friend-to-all-developers application container, it is in its ability to, through the APIs and not just through hosted canvasses, offer a core social-networking library to web developers. How relationships are managed, navigated, etc., is value Facebook can add. Being a one-stop shop for all of your application needs is interesting at the moment, but not going to be the long-term success of Facebook.