In my shower today (if you don’t know me well enough to know that most of my creative juices run in the shower, well, they do), I suddenly realized I don’t know how to make Facebook apps, and if there is one thing that I wish I could do, it would be making Facebook apps.
So here is the How-to guide to finding enough good How-to guides that would lead me to making my own Facebook apps.
1. Google “how to make facebook apps“
I thought about ending this tutorial there, which would be pretty humourous. But then I’m actually interested in the Facebook platform.
2. Poke around
and find out what schools like Stanford are doing with there staggering tuition money:
Only 100 students enrolled? There must only be 50 computer science major in Stanford. Them and 50 commerce kids.
3. Don’t forget to read the blogs
And you can find some dude’s blog about making Facebook apps. Too bad this guy already took the spotlight in the blogosphere; if this post of mine came just a year earlier, I could have been cashing in theoretical dollars.
No matter, let’s see what Keebler has for us.
Basically, there are three main areas inside Facebook that your application can play with:
- Facebook Canvas pages which let you embed your content on a page inside Facebook accessible from the left-navigation
- A Profile Box which sits on your profile page and is visible by all your friends
- Your news feed which appears on your profile page, and is visible by your friends on their home page
You can build a Facebook Application using just Canvas pages without ever touching the API. All you need are basic HTML skills and a server. Using the API requires some programming knowledge and the handling (and storing) of a session key on your side.
And he goes on to talk about the components of Facebook that the app can play with. Cool, but what do I do first? Do I download something?
And his mentioning of me needing a server is pretty unnerving. What if I don’t have a server? No server = no Facebook app? Let’s keep looking.
4. Take a deep breath and look at the official developer’s site
And you’ll find assurance in the well-positioned “Get Started” page that it’s easy!
But then I remember that WordPress said installing it is easy too, famously easy, even, but just take a look at the domain of my blog right now and you’ll know that I’ve failed at installing WordPress on my machine.
From their description, it does seem superbly easy. It wants you to “just add the Developer Application to your Facebook account. Then download the client library of your choice, open your favorite development environment, and you’re ready to go.”
Let’s see where I’m ready to go.
5. Add the Developer Application
I’m not expecting this step at all. I thought I would be required to download some programming language like Ruby on Rails or PHP, or some proprietary programming environment.
I dunno what this does in terms of my privacy (I have a natural dislike for application invitations, and so far I’ve only installed Who Has the Biggest Brain cuz I wanted to beat my brother (but couldn’t), and Texas Hold’em cuz I wanted to beat my friends (which I did)), but it certainly conveys an undeserved friendliness, as if creating a Facebook app is as easy and fun as playing a hand of poker.
6. Download the client library of your choice
Oh, so here is the PHP that I was expecting. By “your choice” I think they meant PHP 5, because I don’t see an alternative here.
As a comp sci major, perhaps I shouldn’t be paranoid by the lack of an installer executable… but I am!
I’m thouroughly confused by the content in this zip, as I am always confused by those open source projects that don’t come with an installer.
So I ran back to the cozy Facebook page that pretends everything is handy-dandy.
Here’s the content of ReadMe:
Welcome to the Facebook Platform!
You can just grab the libraries out of the client/ directory and start building
your own application. It will probably be instructive, though, to first get
our sample application up and running so you can see exactly how the library is
meant to be used.
We’ve created an application called Footprints that utilizes a lot of Platform
functionality while remaining fairly simple. If you don’t want to set it all
up you can still check out the code and see it in action by going to
To get Footprints running on your own server, you’ll want to first open up the
“footprints/config.php” file and modify it with your mysql database
configuration. Also, create the necessary table in your database as described
in the same file.
Next, go to http://www.facebook.com/developers/apps.php, where you’ll
register for an application. In the account creation page, set up your
callback URL such that it is the directory on your web server that corresponds
to the footprints/ directory of this package (if you loaded the callback URL
directly, it would display this package’s index.php). In the same page, you
may also want to register for a framed page URL. You can also set up some
default FBML – ours is set as follows:
<fb:if-is-own-profile><br />Hi <fb:name uid=”profileowner”
firstnameonly=”true” useyou=”false”/>! This is the default FBML as specified
in Footprints’ account configuration page. This will get replaced the first
time you get stepped on.</fb:if-is-own-profile>
Finally, copy the API key and secret key from the developers account page into
your config.php file. Now go to http://apps.facebook.com/<your-frame-url>/
and you should have Footprints up and running on your server!
NOTE: If you only have PHP4, we’ve built a modified version of the client
library to work with that. Use the files inside the php4client directory
instead of client. You’ll need to download simplexml44 and extract it into the
php4client/ directory to get it to work – you can get it at:
7. Give up take a indefinitely long break because you don’t have a server.