Integrate with Facebook API ?

Assuming you are developing a custom web site.

Google has the data API.

For Facebook, the API is called the Graph API. Why graph ? Because it is social graph.

Ok. Cool.

The Graph API is not part of a SDK (software development kit), it is really more like an extension.

This actually translates into two things.
  1. If you are using Graph API, you have to go side by side with Facebook. Totally cut-off Facebook will not work.
  2. Integration not later, but from the beginning. This means that you have to think about integration from the beginning of custom web site development.
So, these are the things that you can do with Graph API.
  • Selection - Filtering and querying for information.
  • Introspection - Another querying feature.
  • Authorization
  • Publishing to Facebook
  • Deleting Objects
  • Pictures
  • Paging
  • Search
  • Real-time Updates
  • Analytics
However, bear in mind that the API will give you access and control of informations which you are entitled to; such as your friends' list. And you can't see your friends' extended friends.

Fair enough. And this also means that you need to login (get authorized) to do all these things. So, the Graph API will not provide any sort of super user experience.

Your web page is like a public page while facebook is meant for interactions, just like a corporate intranet.

So, what is the most practical application out of this ?

I am more fanatic if Facebook allows integration of modules (i.e events, walls, photo manamagement) to custom web sites which is not possible (at least for now).

It may seem redundant because Facebook itself is a content management system (cms) and if you are having content management system in your web site, then which one will be the core ?

This is what I figure.

Since you have to login (get authorized) to do things and you can't see things which you are not authorized to. And by allowing single sign-on to your custom web site, it presents an opportunity to break the social networking barrier; which is to share data of your friends to the world.

In other words, by integrating Graph API to your custom web site, now you can share information of your friends to the world so that those not 'connected' to your friends can now see what they are up to.

For instance, you can build a web site to consolidate birthdays of your friends and birthdays of not your direct friends into a single view.

The key is about presentation and sharing of personalized information to the next level.

Do you get what I am saying ?

Means that supposed you have 10 friends and you can only see 10 birthdays. Each of your 10 friends has another 10 friends. So how do you get to see these 100 birthdays ?

Build a web site and integrate Facebook's Graph API, then create a feature which will allow your 10 friends to publish their friends' birthday into a single location. Then now you can see the 100 birthdays.

So, to put things into practical perspective, your custom web site should become an account in Facebook (such as Soccer-Petaling-Jaya).

You will still need to build your own modules such as events and etc.