Elance Blog

How to Create a Facebook Application

No doubt you’ve heard a lot about Facebook, and you might have even read Anita Campbell’s most recent blog post about why you should think about Facebook as a potential marketing channel. But how would you even get started?

We asked Usman Akbar (username: inexpensive222), an Elance provider and experienced Facebook Application developer, to create a primer on the Facebook API and Facebook applications so that you can hit the ground running when you find and hire a developer to create a unique, branded Facebook Application for your business:

In May 2007, Facebook launched the Facebook Platform which allows software developers to create applications deeply integrated with Facebook. Over 20,000 applications have been built on the Facebook Platform to date, 140 new applications  are added daily, and more than 95% of Facebook members have used at least one application built on Facebook Platform.1

When working with a provider to create an application, knowing the basic application structure and its components will really give you a leg up on developing a fully-integrated application that can deliver more user satisfaction and a good experience. A good application structure should be comprised of following components:

Scoping and Marketing
1. Application Type
The Facebook application may be either a desktop or a web application. When choosing the application type, ask yourself the question of whether you want the Facebook member to download something onto their computer or to interact with your application on the web.

2. Application Title
One of the first steps towards developing an application is to choose the application title. You’ll want to pick something descriptive, unique and interesting. In some cases, Facebook members may be choosing to use your application solely based on the title.

3. Newsfeeds
Newsfeeds are part of the overall Facebook experience and a way for members to keep up to date on what other members are doing on Facebook. Newsfeeds are displayed on a Facebook member’s home page.

Fortunately, Facebook applications can be designed to generate Newsfeeds using the Facebook API. This is critical functionality to build into your Facebook Application because it supports the viral nature of your application … it allows you to get more customers for your application.

To take advantage of the Newsfeed functionality, first, you have to decide the events and/or actions that generate the Newsfeed item. You’ll want to identify actions that are interesting for members to receive news about, so ask yourself, is this action newsworthy? Would I want to know if my friend did this?

Once you have identified the action items for the Newsfeed, the next step is to finalize the Newsfeed title, body and images. There is limited space in the newsfeed headline item -- 60 characters with one <a> tag allowed – so you will need to create a pithy, eye-catching, relevant headline. You have more space in the Newsfeed body -- 200 characters with tags <b>, <a> and <i>, and you can have up to four images in the Newsfeed.

4. Minifeeds
Minifeeds are user updates displayed on the user's profile page. The Facebook API provides two methods for generating Minifeeds – templatized and non-templatized. This is like the Newsfeed, but appears on an individual’s profile page, and is visible to friends on their home pages as Newsfeeds.

With the templatized method, you can have a title and body template for feeds.

In the non- templatized method, you do not have a template and any feeds generated for the user are only visible on his or her profile and are not distributed among the friends.

Both methods have title and body character limitations and only four images can be used. Facebook aggregates feeds generated within 24 hours and distributes them among the application user’s friends.

5. Requests/Invitations
One of the key pieces of functionality within a Facebook application is the requests/invitations function. This function, when developed well, can accelerate the word of mouth marketing of your application. Requests/invitations are generally generated by the users and message other users. Each user is limited to 20 requests/invitations per application per 24 hour period.

6. Notifications
Related to requests/invitations is the application notification. Notifications are sent by an application to a user's notifications page in response to user activity within an application. The Facebook API provides a method to generate the notification. Again, this is a key way to accelerate the viral nature of your application, so you’ll want to spend time on the copy of your notifications.

Please note, notifications sent to the notifications page for non-application users are subject to spam control.

7. Emails
In addition to notifications, requests and invitations, Facebook applications can also send email to application users using the Facebook API. Because you can only use <p>, <a>, <br /> tags in the email body, you’ll want the copy of your emails to be compelling and straightforward.

8. Spam
Spam is an issue for some applications on Facebook, and if your application generates spam, it could be blocked from users.

The way Facebook application spam is measured is by the number of notifications sent from your application to non-application users. Normally, the spam meter is green. If the spam meter goes to red, then the application is blocked for a short time and a first warning is generated. If the spam meter goes to red a second time, the application is blocked for 30 days.

Given this, you’ll want to think carefully about how your application functions so that it generates relevant, timely content for application users and is not obtrusive to non-application members.

9. Visual identity
16 x 16 Graphic for Icon (shown in left menu):
To market your application, you need to provide a 16 x 16 sized icon graphic to be displayed in the applications section present in left menu. This is a very small sized graphic, so simple graphics work best here.

64 x 64 Graphic for Icon (shown in product directory):
You also need to provide a 64 x 64 icon graphic which is displayed with the application name in the Facebook Product Directory. This is an opportunity for you to brand your application.

10. Application Description Content
You have to provide a description of our application. This information is displayed on the application add page when a user decides to add the application. 

This is your opportunity to hook your potential customers, so be sure to describe your application in a way that showcases the best features.

11. Application Support Email
The support email is the email address where you want help messages to go.

12. Application Contact Email
The contact email is used by Facebook to contact your business if there is any problem or important updates.

13. Application Post Add URL
This is the URL to which the users will be redirected right after they add the application. You’ll want to think about the copy and imagery on this page so that you clearly communicate what the Facebook member should do when using your application.

14. Application Post Remove URL
This is the URL to which an asynchronous call is sent by Facebook when users remove the application. Again, you’ll want to think about the messaging on this page to reduce churn on the use of your application. We can handle any action that we want to perform after a user removes the application.

15. TOS Page
You need to provide the Terms of Services page content for the application. TOS page describes the terms of usage for the application. You may want to work with a contract lawyer to draw up specific Terms of Service.

16. Help Page
You need to provide the Help page content for the application. You may want to work with a professional writer to develop clear and easy-to-understand help for the application.

Submitting the Application for Approval
Once the application development is completed and you have provided all of the necessary content, you can submit the application to Facebook for approval. Before submitting the application, it must have at least five users. Once the application is approved, it is searchable in the Facebook application listing.

A Few Final Tips
In my experience, a successful Facebook application has the following built-in features:

  • Include an invite page to increase the number of users adding your application.
  • Store the user's data when the application is added and update data upon removal.
  • Track each user’s invitations so that users who have already been invited, cannot be invited again for some specific period of time.


And to give your application the greatest chance of success, you should focus on seeding viral marketing by:

  • Sending a weekly email to all application users with updates
  • Sending an email on specific events and/or holidays
  • Publishing Feeds and a profile link
  • Implementing A/B testing by sharing different application layouts to different users. For example, you can send Layout A to 50% of the users and Layout B to the remaining 50% of the users and then decide which one is going to be more effective.
  • Adding counters and referrals to the public feeds and emailing links to track viral marketing
  • Collecting user statistics (added_date, removed_date, network_id, age, country code, etc) so you can analyze user data to target a particular audience. For example, we can look at how many users added the application on a particular day, or how many users from each network are adding the application, or which age group is more effective, etc.

Usman Akbar is the founder of PureLogics, a privately-held software company specializing in innovative full-lifecycle software development, solutions and consultancy services. The core capabilities are a full-range of scalable solutions and safety for growing E-Commerce applications, web development, social networks and back-end database engine work. We work collaboratively with clients, driving complex change initiatives that deliver real value within short time frames.

PureLogics has developed many Facebook applications, including Biotrend.

1.  Facebook Statistics



Do you know of any examples of actual code that are out there - tutorial wise - that could help the novice out who is attempting to do this? In particular, I've set up a nice application that pulls articles and titles off my blog and posts them to the application screen & the user's profiles who add the program. Where I'm hung up is how in the world to incorporate notifications / news feeds / mini feeds for the viral effect.

I've looked @ facebook's demos, but they are accessible (i.e. understandable) it seems only for those who are already proficient in php / programming.

Anywhere that explains in layman's terms how to set up the news feeds & notifications?


Hi Tim, i have not gone through any specific tutorial because facebook has written plenty of information on its site. have you looked into http://developers.facebook.com/documentation.php?v=1.0&method=feed.publi... , http://wiki.developers.facebook.com/index.php/Feed.publishTemplatizedAction and most importantly http://developers.facebook.com/tools.php?feed

i hope you will get all requied information in those pages and also test it using developer tools.

Last Year I was commisioned to help a fellow elancer to develope a facebook game, I'm not a programmer, I'm a Designer. This provider was clever, he hired me to design ALL characters, ALL animations and little bits of graphics for the game, then he outsourced another 'facebook developer' to put the whole thing together. I recon he saved a lot of money this way and it speeded deliver up as the work was divided between two providers. One who specializes in the graphic side of the job and one who specializes in the coding side of the job. His game was a success and I wish him all the luck.