Essential Facebook Development

Build Successful Applications for the Facebook Platform
Put your website on Facebook, or put a bit of Facebook on your site. This book shows you how.

Late last year The Economist magazine came out with an update to their special report on social networking. One of their earlier predictions that had been proved wrong (so far) was that, rather than users joining more and more niche networks, the more significant players in social networking had increased their memberships. For why this was happening, the authors of the report noted three things Facebook was doing; Facebook was continuing to offer new ways for users to share ideas. It was creating a platform for developers to build on top of. And finally, it was developing ways for users to take their Facebook data with them to other sites. In this book, readers will learn how to create applications that do all three.

Essential Facebook is divided into three sections: an introduction that covers how Facebook works, a second section that gets into developing an actual application, a third section on using Facebook Connect and the Facebook JavaScript Client Library to integrate Facebook into an external website; and finally closing with a section on how to measure the success of your application, improving performance, spreading and monetizing your application.

Facebook’s API is a lot more in-depth than, say, GoogleMap’s or Twitter’s. Essential Facebook covers both the technical and the administrative sides of developing for Facebook, which is crucial because you are playing on Facebook’s platform with rules that are enforced by contractual and technological means. A good example of this is how Facebook’s systems manage messaging (an application communicating with users and users of your application communicating with others). Facebook’s defence against “bad” applications relies on three factors: contractual (all applicants must agree to follow the terms of service and the Statement of Rights and Responsibilities), various technical safeguards ranging from limits on resources consumed to sand-boxed versions of JavaScript, and finally, there are the users themselves who can report application misbehaviour via links Facebook adds to emails and other parts they control. Facebook no-doubt learned from other social networks how it’s essential to protect users’ trust, so these are here. As an aside, pick up Julia Angwin’s Stealing MySpace for a look at how another company learned a lot of these lessons the hard way.

See also  Drupal's Building Blocks

Once you understand the process, Facebook also provides a lot of tools to make your work easier. For instance, FBML (as you can guess, an XHTML-language with various extensions) is a template language that makes it very easy to develop applications that fit into Facebook’s look and feel without needing to write a lot of JavaScript. The book’s layout is very clean with plenty of code examples, screen-shots and references to make this process quite easy for a developer familiar with PHP and HTML. There is a “Compliment” application that the authors use to take readers through developing an application right from setting up a developer account, through development to deployment. Reading through the book, I got the impression that Facebook has put a lot of work into making development as easy as possible. Having recently finished reviewing a book on OpenSocial, I get the feeling that Facebook’s API has been in development a bit longer as it seems like things are simplified a bit.

Overall the book is an excellent introduction to developing Facebook applications and using the Facebook Connect library. It covers Facebook’s developer tools, markup languages, as well as the rules that applications must follow. Developers comfortable with PHP should be able to create simple applications quite quickly after reading this book.