Resources

Anatomy of a Facebook Application

A Facebook application can take on many forms. However, to fully utilize the suite of integration points and deliver a full user experience, we recommend using the following application structure:

Below you will see all these various components as they are applied to our own Photos Application. It should be noted that none of these pages are mandatory but the more you include in your application the richer the experience becomes (for example, no one is going to install your app called "Lefty" that is only a left nav link)

Product Directory

Many users may find your application by browsing the Facebook Application Directory. This is where beautiful imagery and concise, descriptive text pay off.

About

The about page tells users about the application and is accessed from the Facebook Application Directory. It should inspire users to install the application.

Left Nav

Applications can have their icon and name added to the left hand Facebook navigation. This will link to that application's homepage.

Facebook Canvas Pages

Facebook Canvas pages are presented within the Facebook frame and can either be FBML or an external html site presented within an iframe.

Home

An application's homepage is accessed from the Facebook Left Nav. Ideally this homepage would aggregate friend data to create a page worth coming back to quite often. For example, the photo homepage shows your friends' recently created albums.

User Dashboard

The user dashboard is usually accessed from the top right drop-down menu in the user's profile. This is where users manage their own content within an application or see information about another user's content within that application.

Profile

The Facebook profile is the online representation of the user's real world identity. We have included many integration points on the profile. This enables you to empower the user to express themselves through your application.

Profile Box

The profile box is usually the place to show the most recently updated information or the most recent actions of the user. This information should reflect how the user would want to represent their identity through your application on their profile.

Under a user's photo in their profile you can display a quick link to more info about that user's presence within your application. You can install these links even for users who haven't installed your application; have added your application (or, in the case of the profile of a user who has added your application, it will show up for all viewers).

Privacy Settings

Users will be able to set who can see your application's profile box from Facebook's privacy page. Any other privacy settings you wish to incorporate should be built into your application's privacy/settings page.

News Feed

Applications can access News Feed and post stories to it. Each user has a maximum number of News Feed stories that they can see from all applications. Once that maximum is reached they will no longer see any more application stories during that sweep. For example, the Photos application publishes News Feed stories about photos your friends have uploaded recently.

Alerts

Applications can send notifications to a user through email. The user of the application who triggers this action must approve of the email, and users can opt out of receiving the email for any application that has ever sent them emails.

Message Attachments

Applications can create attachments that appear in a dropdown menu on the message composer. When the user selects that action, content is fetched and placed inside an attachment box below the message text in the composer.

Requests

Applications can create requests that show up at the top right of a user's homepage. These requests are usually initiated by a user's friend and often require the user to take some form of action. An example of this in the Photos application is a photo tag request confirmation.