As an implementer of a Facebook-compatible API server, we’re taking a look at fbOpen, Facebook’s recent open source effort. I wanted to share some initial analysis that compares fbOpen with Facebook and with the Ringside Social Application Server. Let me get the caveats out of the way right up front. I realize the following:

 

  1. fbOpen is young and it is intended to be focused on Facebook application developers.
  2. Facebook very likely has non-public APIs that are used to operate Facebook.
  3. Ringside serves a different set of users from either and has its own extensions.

 

Okay, with all that out of the way, here is the score card for APIs:

fbOpen: 19-

Facebook: 92

Ringside: 98+

I give fbOpen a “-” because even if a certain API is implemented, it may not actually do anything. It also may have a hard-coded implementation (APIs that touch the social graph generally behave this way). I give Ringside a “+” because every time our code base grows or a new application is developed, we add new APIs. In fact, I’m pretty sure that new APIs have been introduced since I tabulated this data.

The difference in number of APIs between fbOpen and Facebook itself is easily explained by the developer orientation. Even the no-op methods are only unimplemented because fbOpen doesn’t provide a full user experience. Most of the other missing APIs in fbOpen are related to Facebook core applications that are not present in fbOpen (Marketplace, Photos, Page, Groups, and Notifications). It may seem strange to refer to these as “applications”, but that’s exactly how Ringside implements these features and those applications are tied into the same APIs on a Ringside instance.

The differences between Ringside and fbOpen are a little more complex. There are Facebook Platform features that the current beta version of the Ringside platform does not yet provide (specifically friend groups and API batching, a total of 3 APIs). So Ringside is not (yet) a proper superset of fbOpen.

Out of the 92 Facebook Platform APIs, Ringside implements 41 of them and provides 57 “Ringside-exclusive” APIs. Interestingly, many of the unimplemented APIs support applications that Ringside does not provide (like Marketplace; Data, except for user preferences), similar to the omissions in fbOpen. Likewise, the Ringside extension APIs primarily either support additional applications that we provide (like SocialPay, Ratings, Favorites, and Items) or support administrative or additional access to the core applications that Facebook does not provide (like Comments, and several additional Admin methods).

If you see any errors in this analysis, please let me know. Also, please contact me if you’re interested in the raw data, which I retrieved from the Facebook Client Library for PHP, the Facebook Open Platform, the Facebook API documentation on the developer wiki, and the Ringside Social Application Server download on SourceForge.

Update: I have published my comparison spreadsheet here: fbOpen API Comparison

Advertisements