Facebook's new Graph API is a RESTful way to create new applications that might just get you access to an audience of 400 million users. This and more from the F8 conference.
If you are a web application then it seems the way to woo developers is to have a conference. Hard on the heals of Twitter's Chirp conference comes Facebook's F8, the third of its annual developer conferences held on 21 April 2010 in San Fransisco.
The key announcements at the conference are designed to make it easier for people to use the site to gather information that might be stored in a distributed fashion across multiple sites. Facebook uses the term "social graph" to mean the interconnections between users and what they care about and its aim is to make the graph more usable. There are two key developments - Social Plugins and The Graph API.
The first idea is that the social graphic can be manipulated using social plugins - i.e. browser plugins that allow the user to add stuff to their Facebook page while they are getting on with other, unrelated stuff.
It all sounds quite exciting but when you actually look at what is on offer it isn't so revolutionary. Most of the plugins announced at F8 sound like extended "bookmark" buttons:
- Like Button
lets users share pages from a site back to their Facebook profile with one click.
- Activity Feed
shows users what their friends are doing on a site through likes and comments.
gives users personalized suggestions for pages they might like on a site they are visiting.
- Like Box
enables users to like a Facebook Page and view its stream directly from your website.
- Login with Faces
shows profile pictures of the user's friends who have already signed up to a site in addition to a login button.
shows profile pictures of the user's friends who have already signed up to a site.
lets users comment on any piece of content on a site.
- Live Stream
lets users share activity and comments in real-time as they interact during a live event.
The idea is that web designers and developers will add the buttons to their sites and make it easier to work with Facebook.
What is attractive about the Facebook social addins is that they seem to be well implemented and well integrated into the Facebook system - and Facebook has a lot of users. What is less attractive is the fact that they only target Facebook and ignore the other social media and news sites such as Twitter, Digg etc. Facebook has just made bookmark button clutter even worse.
The Graph API
The second big idea announced at F8 is the Graph API this implements a REST-like system for retrieving objects. A URI such as
Of course all of this access needs some security and Facebook is using OAuth 2.0. You have to register your application to get an appID and code. These are used to make a request to the user for authorization. As long as they agree to provide the data your application can continue. The need for authorization is likely to make things work not quite as smoothly as they would if all data were freely available - but users do seem to care about their privacy!
The REST-like API also includes the ability to POST data to the graph. At the moment you can write to the users feed/wall, post comments, write a link and so on. This makes interactive apps possible. You can upload photos and events and search. There is also a push update service that will inform you app when something changes. For example you could launch an event and keep track of people signing up to it.
The full API is documented at http://developers.facebook.com/docs/reference/api/
With 400 million Facebook users it is hard not to start thinking up ways of using the new API to tap into that audience. Some other news that might help you put this into context:
Facebook credits, i.e. a virtual currency, is being developed - release date unknown.
Microsoft and Facebook are working together with a facility to share Office documents.
The rules that restrict applications from storing data for a maximum of 24 hours is being lifted.