The ubiquity of Facebook is hard to ignore. It started as a local service that helped college students connect and has expanded into a worldwide phenomenon with millions of users accessing Facebook and associated applications every day. The size of the Facebook audience makes it a compiling platform for developers as does the versatility of the site. There are a wide range of applications already being used on Facebook and the possibilities for new applications are limited only to the developer's imagination. So let's discuss some of the basics when it comes to building Facebook applications.
In the Beginning
Any developer who is hoping to write or install Facebook applications must first have his or her own Facebook account and then must install the developer application. Facebook's developer application allows you to create, monitor, and configure applications. In addition, you'll need to secure yourself a server as Facebook applications run form the developer's server. The benefit of this is that you can write the application in whichever language you know best. For the sake of simplicity, examples in this article will use PHP but the process is the same regardless of the language you use.
Once you have your Facebook account, have downloaded the developer application, and have your server ready to go, you'll be ready to start developing your own applications. Still, having a bit of understanding of the Facebook platform will help you during the creative process. First and foremost, the fundamental components of Facebook are clearly outlined on their developer site. Essentially, the platform is made up of three parts: API, FBML, and FQL. Of course, APIs determine the ways in which you can connect to and interact with Facebook. FBML is the custom Facebook markup language which has basically been modeled around HTML. While similar to Coldfusion or ASP.NET and associated tag-based syntax, FBML helps you to define the pages of your application specifically for the Facebook Platform. And finally, FQL is the Facebook Query Language which is also a customized developer language for Facebook that is based on SQL. FQL is especially useful when there are no helper methods in the API but can also be used for tags in FBML giving developers an incredible amount of control over the details of their application.
Facebook Development Tools and Resources
Like any development applications, Facebook features a range of tools and resources that can help developers in a number of ways. Apart from the core documentation, tools can also help you debug raw API calls or tweak the FQL. With Facebook resources you'll find a collection of libraries for PHP and Java as well as links to other libraries like ActionScript, Cocoa, Coldfusion, .NET, Perl, Python, and Ruby. In addition, Facebook has an ever-expanding community wiki that can help answer any questions you may have about the details of developing Facebook applications. Because Facebook is a fairly complicated social media network, pages often feature layers upon layers of detailed information and it is certainly in the best interests of the developer to become familiar with FBML and API. Indeed, FBML and API allow you to manipulate a lot of this information so a more in-depth understanding of these tools and the terminology used on the site. Experienced Facebook users, for example, will know the difference between the News Feed and your Profile page and so should developers.
Step-by-Step Guidelines for Creating an Application
At this point, let's discuss briefly the stages involved in building a Facebook application. Of course you'll need to get the Facebook Developer Application to begin but from here there are some basic principles that should help guide you through the process.
1. To begin setting up a new application select the "Set Up New Application" option in the developer application. You'll want to name your application and you'll also need to accept the Terms of Service. Your API key is used so that Facebook can recognize your application and your application secret are used so that Facebook can authenticate your requests. Choose a secret that is easy to remember and also difficult to hack as you would with any online password.
2. The next step involves configuring a number of settings before starting to write code. Under the "Edit Settings" section you can enter support and contact information, including your email address.
3. A callback URL is required and this would need to be the address where your application is stored on the server.
4. A canvas page URL is also required and this tells us where your application is stored on Facebook. Developers typically want to match their canvas page URL with their application name so that it's easy to remember for users. This URL must be a minimum of 7 characters long and can include only letters, dashes, and underscores.
5. Next, Facebook will ask you wherever your application can be added on Facebook, obviously you'll want to say "Yes."
6. To continue developing your application click "Save and Continue."
While these are the most basic steps for creating a simple application, configuring your application to your host still needs to be completed. Neverheless, experienced developers will find it an extremely straight forward exercise to develop Facebook applications. The process is streamlined and simple so as to encourage the addition of new, interesting, and interactive applications from a broad developer community. Regardless of culture, language, or location applications can be easily uploaded for the enjoyment of the massive Facebook audience.