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:
- Product Directory
- About
- Left Nav
- Facebook Canvas Pages
- Profile
- Privacy Settings
- News Feed
- Alerts
- Message Attachments
- Requests
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.

Profile Action Links
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.

