After releasing its API – Application Programming Interface – in beta 6 month ago, Facebook has just announced this week the launch of FQL: Facebook Query Language.
I’m sure the developers, programmers and database administrators among the readers will have noticed – with reason – the name similarity with the infamous SQL, the Structured Query Language also known as the universal language of all databases.
As Ari Steinberg explains on the Facebook blog, FQL was created to make things a bit easier on the company’s database while enforcing Facebook users’ privacy settings in any applications developed by third parties with Facebook’s data:
With millions of users and billions of friend connections, photos, tags, etc., Facebook’s data doesn’t exactly fit into your average database. And, even if it did, we still have to carefully apply all of those complicated privacy rules.
Facebook Query Language would have to take those SQL-style queries from developers, figure out what data they’re actually looking for, figure out if they’re allowed to actually see the data, figure out where the data is stored, and then finally go and get the data to return back to the developer. I knew building FQL would be hard, but that’s why I couldn’t wait to do it.
The FQL playbook is available online.
I haven’t heard yet about any institution using the API to integrate Facebook into homegrown web services targeted to prospective or current students, but I’m pretty sure some smart developers are working on it right now.
If you are one of those, I would love to hear about your project.
I asked the Yale 2011 site development team if they had thought about integrating their site with facebook via the API at all and said that it was investigated but not included for the current iteration but was still under some pondering for the future–something like that, I think. Given the time between the introduction of the API and the launch of the site for this year’s class, pretty understandable, though they did say there’d be surprise changes coming perhaps before RD…