Charlie O'Donnell over at This Is Going To Be BIG has a great post today about facebook apps and conversions. Aptly titled "Fuck Facebook Conversion: Be platform agnostic and use your own APIs", he makes the very valid point that facebook apps are your site, and we need to reject the notion that they exist to refer traffic to your "main site". He quickly encapsulates some of my favorite rants.
As Charlie puts it...
The whole idea that you have a "main site" is dead. Stick a fork in it.
Then he takes on widgets...
And while you're at it, stick a fork in the widgets, too--at least the way we're been creating them. Right now, most of the widgets that are out there are an attempt to squeeze the elements of a service into a neat little sidebar rectangle--a bottleneck created by one-way APIs, limited space, and underwhelming goals.
If you use APIs, your service/data/"site" can be anywhere you (or your partners) want - on your site, in facebook, on an iPhone, or embedded in another company's site.
The last of my favorite rants he brings up is that a well-constructed site is built on its own APIs - you are "eating your own dogfood", as it were. This was a key direction I pushed for at my last company; it was inconvenient when our partners did not have the ability to build as feature-rich an experience as we could.
Facebook is encouraging this by offering a platform that rewards applications built on APIs that offer the richest possible experience. I called their effort a "Reverse API" - the platform consuming the API is in fact dictating the protocols...but not, of course, the functionality. Offer more in the API, and people can build more in Facebook, on the iPhone, or anywhere else.
At Mashery, we find that a lot of potential customers come to us with an architecture that is primed to be turned into APIs, but is not quite there yet...there are features or methods open to the "internal" app that provide shortcuts or bypass security in ways that would be inappropriate for open APIs. This, of course, presents Mashery with an opportunity to provide our API infrastructure services.
Until your API offers the ability to build an experience equal to your "main site", Charlie says we are doomed "to have dinky widgets and namby pamby Facebook apps." Or, as one Alex de Jong says in the comments says, "Yes. And we're getting there the moment we let go of the concept of "a site".
We're also taking one more step - currently, we have a dashboard where people can add developer keys, set their limits, enable and disable access, etc. Just the kind of thing that should be an API for our clients. That is on our development roadmap near term, as our larger prospects are requesting...and we'll be rebuilding our own site and our dashboard around our APIs. It will take some time to get there. But when it's done, we'll launch our own developer program, Mashery-powered, of course.