I had the opportunity to attend Facebook’s f8 Conference and I was simply blown away by what they are doing. The tone of the conference felt very much like the 2nd JavaOne conference: a hugely growing platform with many eager super sharp companies and developers using it to change the world. I’ve known Bret Taylor since he started FriendFeed and he was simply amazing as the second keynote speaker. It’s clear that he has had huge impact on Facebook and I could easily see him becoming CTO. It’s taken a while for me to gather my thoughts together on all the different aspects of what they announced, but here it is.
I think the biggest announcement is a combination of announcements, so let’s start with the top-down view. What Facebook can now do is be the gatekeeper for all aspects of personal information. If you like a movie, song, restaurant, article, person…whatever…on a 3rd party site like imdb.com or yelp.com, that site will notify Facebook. Then Facebook will update your profile in real-time! That itself is simply amazing, that the profile you statically filled out on sign-up and never revisited is now real-time with you. But wait, there’s more. Applications that you have added can subscribe to your profile and changes, and will be notified, typically in less than a minute. In fact, they will try up to 5 times and keep the callback for up to 24 hours.
Now, Facebook will be the place that every web site will publish information to. Move over Google, no need for a search engine for user data all over the web as it will be centrally stored on Facebook, conveniently (mostly) hidden from the public including Google. And if you want to find out information about a user, you’ll need to talk to an app that the user has installed. What does this mean for big game companies like Zynga? They’re just about to be worth even more, as they will have the real-time updates on hundreds of millions of people, and that’s worth a lot. Another interesting take away was that many noteworthy issues were barely talked about. For example, Docs.com is Microsoft Office online for Facebook users. Move over Google Docs, 400 million Facebook users can now use Office, however there wasn’t (barely) any mention of this in the press.
Now I’ll get into a bit of the technical details. They announced three main technology developments: 1) the Graph API, which is a much simpler interface to all Facebook user data; 2) the open graph protocol, a mechanism that allows web sites to publish information of users interests to Facebook; 3) Social Plugins, simple one line additions additions to web sites that allow use the open graph protocol.
The Graph API is the heavyweight of the announcements in terms of technical change. The main part is that all Facebook “things” are now first class objects with their own URLs. I and all of my “things” like friends, comments, wall posts, pictures, likes, have their own URL. My public information is at “http://graph.facebook.com/david.orchard“. Now you can find out all the information about the thing represented by the URLs by attaching ?metadata=1. http://graph.facebook.com/david.orchard?metadata=1 returns a lengthy structure with links to everything that I connect to, like “friends”: “http://graph.facebook.com/david.orchard/friends“. If you then try to see who my friends are, you are then led to another part of the announcements. Facebook is standardizing on the OAuth 2.0 specification for security. Thus you’ll need OAuth 2.0 credentials from Facebook to access my information. This guarantees that I have authorized you and specifically your application to see my data. Which also leads us to the Yet Another Facebook Privacy Furor (YAFPF).
By default, all apps you have installed can see all of your data. In fact, if you go to a 3rd party site, by default they can see your data to customize your view. You may go to a 3rd party site and see information about you much to your surprise! You have to specifically disallow the applications AND there is no “select all” to make it easy for you to not share your data. Further, if you disallow the app from your data but your friends don’t, the app can still see your data. This is shown in http://news.cnet.com/8301-31322_3-20003185-256.html. One (not-so) funny site has shown CEO Mark Zuckberg’s personal calender including where/when he’s at functions you’d think were private, like birthday parties and baby showers: http://blogs.sfweekly.com/thesnitch/2010/04/want_to_meet_mark_zuckerberg_h.php. Moving back to the graph API, because the profile information is now changing in real-time, they have provided a mechanism for web sites to receive real-time updates to the profile information. I think this is simply amazing. I asked a question about errors in the update callback, and they said they will try up to 5 times over a 24 hour period. I am boggled by the amount of data that they may end up storing. Imagine 10s of millions of people liking a particular movie and dozens of applications per user have subscribed to the users. And that’s just one piece of data that Facebook is now collecting.
Social Plugins are a very simple way that a web site can communicate with Facebook about a user’s actions. The best known will be the Like plugin. It’s a single line of code into an HTML document, though it has to be used in conjunction with the Open Graph Protocol.
Open Graph Protocol
The Open Graph Protocol is a specification for how to add Meta tags to web pages to describe them. An example is a page about a movie will have the title, the movie type, image, the canonical URL for the movie. Then if the user uses the Like Social Plugin, that information is sent to Facebook and your information is updated in real time. The specification is being developed on opengraphprotocol.org and it is licensed under the Open Web Foundation’s license. That is a very good thing. However, it seems that whenever something has “open” in it, it doesn’t mean what they think it means. It appears that Facebook will decide exactly what is in or out of the specification. Personally, I’d call this a “Freely Usable” specification rather than “Open”.
The Semantic Web community appears quite excited about this specification. Much of it is based upon the RDFa specification, which is how to put Semantic Web information in HTML documents. However, the specification runs into all of the known and expected problems with it’s design. If I like a movie on the movies web site and imdb.com, how are these treated by facebook? There is two likes, of two different URLs on different web sites. What exactly is identified when I say I like a movie? It could be the movie in general, but what if I like the director’s cut but not the theater version? In fact, there is no way of saying I don’t like something. The lack of a no is a typical design in these kind of assertion systems fwiw. There is also no way of undoing a Like from the web site, though you can update your information in facebook. I don’t think that Facebook cares too much about these issues because acquiring the coarsest of data is a big win for them. Also interesting was how underwhelming some of the announcements were.
There was almost no mention of Mobile at the conference. I didn’t go to the one Mobile talk and much of the tweets about it were about people leaving the talk because of lack of content. That’s very disappointing to a company like us that wants to extend Facebook apps into mobile devices.
As a company, we care a lot of about virtual currencies. Facebook Credits are still an invite only program. The credits announcement was pretty much a non-announcement. As in, here’s what we’re doing, send us some feedback. I did like that they are providing many payment mechanisms, but they have only one offer provider. We saw no screen shots that would show that using Credits is as easy as Apple’s in-app purchases. And finally, there was no mobile mention of Credits. Personally, I don’t think that Credits will ever be usable on the iPhone because Apple won’t want to give up their 30% vig.
Facebook had previously announced they working working on Location. The lack of mention of Location at F8 has given Foursquare, Gowalla and other apps at least 6 months reprieve. Unlike the poor guy I met from feedback.com or the folks from Twitter…
Insights is the Facebook analytics tool that was announced. Many of us were hoping for something similar to Google Analytics. Daily users, new users, time on site, exit pages, entry pages. Very little of that was introduced. And that’s not even counting the very useful Google custom events. Another interesting perspective on http://siliconangle.com/blog/2010/04/23/facebook-insights-not-scary-and-not-effective-yet/.
Facebook has done an amazing job of setting itself up to be the conduit for personal information. They’ve deprioritized everything else in order to roll out their amazing platform changes.