From Members perspective:
- They use them to dress up their profile pages with everything from maps showing what countries they’ve visited to outfits from a retail site to favorite YouTube videos.
- They send virtual cocktails and gifts to each other, share reviews of favorite books and movies, and play poker together among numerous other things.
From Developers perspective:
- Many of the developers of these applications are entrepreneurs looking to start new businesses while others are expanding existing ones.
- The applications, which are inexpensive to create, have the potential to become a large source of revenue and customers for those companies that can successfully mine Facebook’s 30-million-strong community.
- Companies are using a host of business models. Some, for instance, are selling advertising around the applications, while others promote their own products and services on Web pages shown to users of their applications.
- New entrepreneurs entering the arena are bringing with them applications that are more sophisticated and can engage users more often and for longer periods of time.
These two sites serve completely different purposes:
developers.facebook.com is for news, documentation, resources and tools. It’s the official home of all Facebook development reference material, and you don’t need a Facebook account to access this site.
facebook.com/developers could be considered a “control panel” for developers. It looks a lot like a page for a Facebook group – there’s a “latest news” panel, a discussion board and a list of members – and it’s where you manage the applications that you are creating. You need a Facebook account to access this site, and you need to access this site to create Facebook applications.
http://apps.facebook.com/wikimono/page?page_gid=9 – Knowledge base API created by one of the developers.
Facebook applications don’t live on Facebook’s server. Instead, they live on their developers’ servers and are called by Facebook whenever a user enters them.
Procedure of creating an application:
To get started, following is required:
A Facebook account
- A server running PHP 5 that can be accessed from the outside world via URLs
- Facebook’s client library code, which you can download from the Facebook Developers Resources page.
Initial three steps are:
- Enter the name of your application into the “Application Name” field. This will be the display name of your application.
- Read the terms and conditions and check the checkbox to indicate that you have read and agree to the terms and conditions.
- Click the “Optional Fields” link.
Optional Fields:
Support Email – This will be automatically filled in with the email address that you use to log into Facebook. This is also an email address that will be made available to your users for support calls.
Callback URL – the code for your Facebook app doesn’t live on Facebook’s server; it lives on your server. Fill this field with the URL for the directory in which your app will reside.Your server name – XYZ.com
Name of the directory created on server – facebook
Application name – Test-app
example of Callback URL – http://xyz.com/facebook/Test-app.
Canvas Page URL – Within Facebook’s navigation system, your app will be accessible from some subdirectory of apps.facebook.com/XXX. You need to provide a unique name for that directory.
Only letters, dashes and underscore is allowed for the directory name. No numbers allowed.
For example: http://apps.facebook.com/XXX
Use FBML Vs. Use iframe -
These are the Pros
1. For FBML pages, Facebook sometimes does not call your server and displays an error message blaming it on you. For IFRAME, if the outside Facebook page gets called, your IFRAME page will always be called. (Common issue – server timed out error)
2. Within an Iframe, developer can use any JavaScript, CSS, AJAX, and Flash you like. You can even make the Flash auto-play.
3. If you have existing code, it will be easier to go with IFRAME (although it may not match Facebook’s look & feel)
These are the cons
1. You can’t use any FBML tags. To display a thumbnail of a friend becomes much more complex (you have to get the name and image file yourself, instead of just passing in the uid in a tag). In short, development using FBML is far simpler than Iframe.
2. If your IFRAME page is longer than the browser, it will display the scrollbar in the frame. However, FBML pages place the scrollbar on the overall page, which is more intuitive for users.
3. There are many more bugs with IFRAME because less developers are using it.
4. Facebook gives you a choice for canvas pages: either FBML or IFRAME. But the profile page can only be FBML.
New window will open
5. One advantage of FBML could be that the page would load faster, the browser doesn’t need to download all the duplicate css and javascript to do collapse and auto-complete.
Application type – Website or Desktop app
IP Addresses of Servers Making Requests – Requests from IP addresses other than the ones listed in this field will be rejected.
Can your application be added on Facebook? – Application can be added to a user’s Facebook account.
Terms of Service URL – This is an URL on your server where the “Terms of Service” page for your app lives.
Developers/ Co-developers name – Logged in developers name is displayed by default. Friends can be added as co-developers.
Icon – Displayed in the left menu of Facebook if the application has been added in the user’s profile.
On click ‘Yes’, in response to ‘Can your app be added on facebook?’ two new areas appear on the screen.
Installation Options:
Post-add URL – This is the URL that the user is redirected to after installing your application. Enter your full Canvas Page URL. For example, http://apps.facebook.com/Test-app.
Application Description: You can put a brief description of your app here for the benefit of users who are considering adding it.
Post-Remove URL: This is the URL that the user is redirected to after removing your application
Default FBML: This is the default content of the application if it hasn’t been set by your app
Default Profile Box Column: This specifies which column of the page your app should live in when first added by the user.
Developer Mode: This specifies whether only developers of the application are allowed to add this app.
Integration Points:
Side Nav URL: This is the URL for the app if a link to it is to appear in the side navigation.
Privacy URL: This lets you specify a link for a privacy configuration page for your application.
Help URL: This lets you specify a link for a help page for your application
Private Installation: Checking this box disables News Feed and Mini-Feed installation stories for your application.
After you click the Submit button on the New Application page, My Applications page will be displayed as shown below:
Downloads: Once the application is created, developer should download platform client library.
Platform Components:
FBML V1.0 (Facebook markup language): Evolved subset of HTML with modified elements for FB API. Valid HTML elements are also predefined by FBK.
FBML tags
- User/Groups
- Profile Specific
- Embedded media
- Tools
- Visibility on profile
- Deprecated tags
- Misc
- Forums
- Message/ Wall attachment
- Notifications and alerts
- Status messages
- Editor display
- Page navigation
- Dialog
- Wall
- Dynamic FBML attributes
- Visibility
- Mock AJAX
- Forms
- Require Login
- FBJS
- FBJS DOM object
More info @ http://wiki.developers.facebook.com/index.php/FBML
FQL (Facebook Query Language): FQL is a way to query the same Facebook data you can access through the other API functions, but with a SQL-style interface.
More info @ http://developers.facebook.com/documentation.php?doc=fql
Facebook API structure/ Integration points for API:
- Product Directory – Application name and description
- About – Application details page
- 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.User Dashboard – This is where users manage their own content within an application or see information about another user’s content within that application.Settings – User settings for a particular application.
- Profile – Members Facebook profile Profile Box – Shows most recently updated information.Profile Action Links – Quick links to added applications.
- Privacy Settings – Member 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.
- 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 – Members can send a message with an attachment for any one of their added applications.
- 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.
- Notifications – Facebook will only let you send 10 notifications at once and only 20 a day for each user. Notifications can only be sent to friends of the user.
http://wiki.developers.facebook.com/index.php/Notifications.sendDevelopers have discovered a way around for this limitation
http://www.facebook.com/topic.php?uid=2205007948&topic=12404
Points of API integration to Members profile:
Just before adding any application, the following options are displayed,
Allow this application to…
- Know who I am and access my information (Mandatory to add any application)
- Put a box in my profile
- Place a link in my left-hand navigation
- Publish stories in my News Feed and Mini-Feed
- Place a link below the profile picture on any profile
Measurement criteria for Facebook applications:
Facebook Application Directory limitations:
Registration can take anywhere from a few hours to a few days
- The search engine doesn’t work, or seems to be refreshed only every few days (e.g., your newest application might not be fetched by the search engine even though it is already in the directory)
- The “Recently popular” applications, which is the default tab any user sees first, are chosen following a popularity algorithm that is not fully published yet.
- ‘Daily active users’ is actually the no. of unique visitors from the previous day.
- Check the Top 100 apps on Appsaholic




