The core of Facebook’s big f8 conference today is centered around the idea of an Open Graph, a map of people’s relationships and their connections to all objects and content on the Web. That means Facebook can not only map who you’re friends with, but it and other applications interacting with the social network can also graph the restaurants, books, movies, news articles and cities you like.
The company is positioning this Open Graph as a fundamentally different way of thinking about the Web compared to how Google has mapped it via hyperlinks over the past decade. And it’s a big trend that’s emerged from the last two weeks of major product announcements from Twitter and Facebook — namely, how do you organize this mass of real-time behavior and sharing by content type and display it in a social context?
That’s more sophisticated than status updates and simple media sharing. When you “like” or post a status update about a band, Facebook and Twitter want to know in a structured way that you might be referring to your favorite music group. They don’t want to scrape it from imprecise language in a status update.
Facebook’s concept is far more ambitious than Twitter’s, however. Twitter is adding metadata to tweets. Facebook is trying to add socially intelligent metadata to the entire Web — this is a move that puts Google in its crosshairs. Google can use its gobs and gobs of data to infer what Web pages are about, but it has so far failed to execute on any of its social projects and therefore doesn’t really have a good idea of how these pages matter to real people.
From a technical perspective, Facebook is treating all people and things (like these movies and restaurants) as objects. Then it’s mapping out the links between them, based on what people say they explicitly “like.”
A page at graph.facebook.com/username shows a person’s public profile in JSON, a format that’s readable by other applications. If people publicly reveal their movie preferences, you could go to graph.facebook.com/username/movies and see their favorite movies.
You can also do things like call events through the URL graph.facebook.com, and then you can call for metadata to see who was invited, attending or declined — if that information is public.
Facebook is providing suggestions for how to label objects (pictured above). That’s so you don’t run into a problem where one developer calls a bar a ‘Bar’ while another calls it a ‘Pub,’ creating confusion when applications try to interact with each other. This is very different from how Twitter launched Annotations last week, a way of tagging and organizing tweets. Twitter has provided no guidance on how to structure terms yet.
About six to eight months ago, Facebook engineers at the company began thinking about how to redesign the company’s application programming interface. The older API offered 20 different ways of interacting with it, growing ever clunkier over time.
“We wanted to come up with a model that didn’t have this structural flaw,” said Facebook engineer Mike Vernal. ”One of the deeply held beliefs on the platform team was to make this API tactile — to make it so that you could play with the API without having to read documentation or deal with anything other than the underlying data.”