I’ve been working with the Facebook Platform for a few weeks now, and I have built a few dozen applications on it. It’s been a very interesting experience so far, not only because I have access to millions of users immediately, but also because of the unique development environment that is offered to me right from the start.
Developing for the Facebook platform is very different from other environments that I have worked with, including vBulletin when I was building forums, and WordPress when I was working at b5media, a blog network.
vBulletin made it easy to create new pages powered by the system by simply including a particular file in the new files that you created. A few more steps were required to keep the whole look-and-feel of your existing design into new pages.
WordPress made it even easier to create new pages by creating them right from the administration interface directly in your browser, without requiring you to ever muck in code.
Facebook actually, in a way, makes development somewhat more difficult because the results that you get in your browser isn’t always what you intended it to be when writing the HTML for it, or in some cases, the FBML offered by Facebook.
Certain tags are banned, whereas functionality is unique in certain areas. For example, you can only have one link in certain places such as the title of every Mini-Feed item that appears in a user’s profile, and Facebook offers its own set of tags, called FBML tags, which do Facebook-specific things such as returning the name of the current user.
Some things that I enjoy about working on the Facebook platform include the fact that I don’t have to build an entire navigational system from scratch. I don’t have to create an application’s look and feel because Facebook already provides that. Any navigation that I introduce that doesn’t use Facebook’s default navigational system provided by FBML will more likely confuse users more than help them, because to them, they are still entirely within Facebook when using Facebook Applications, and nowhere else.
Another great thing with the Facebook Platform is that an authentication system is provided right out of the box, with users who have profiles that are already filled out with tons of useful information that can greatly richen their experience with your application.
It’s been interesting developing applications so far, and hopefully I’ll be able to reveal some of the stuff that I’ve built sometime soon!