
In this third and final installment, Senior Developer Kevin Malone shares his thoughts on Facebook’s workflow improvements from a tech perspective.
What are they going to break this time? That’s probably the question most Facebook application developers were thinking at the start of the f8 2011 conference. When it comes to Facebook, change can be scary. While users of Facebook get all worked up over interface changes, those of us who build applications on top of the Facebook platform have legitimate concerns. Namely, did the changes break our applications? Unfortunately, it happens more often than anyone cares to think about.
Thankfully, this post isn’t about what Facebook broke. It’s about what they have made better. Facebook has introduced a number of changes that will make the lives of developers a bit easier.
Platform Documentation
All platform documentation has been updated. With clients increasingly asking for Facebook applications or integration into their web properties, we need documentation that accurately reflects and describes what can be accomplished using the platform. If we’re to push through new and compelling uses of the platform, we need a place to validate the functionality we would like to create. Only time will tell if the documentation will remain current.
As part of this change, the top 5 related questions from the Facebook-specific version of StackOverflow are included in every page of documentation. For those of you who aren’t developers, StackOverflow is an invaluable resource for getting answers to development related questions, and Facebook recently partnered with StackOverflow to create a Facebook-specific version of the site.
Developer App updates
The Developer App allows developers to create and manage new applications. Some of the updates to the Developer App outlined below have been rolling out over the last month or so, but they were officially unveiled at f8.
Let’s not be friends
Previously, users who were given roles on an application (admin, developer, tester, insights user) had to be friends on Facebook. This created an extra step to adding and assigning users to different roles. Previously, the user with the role of application admin (or developer) had to first friend the user. That user then had to accept. Once both users were friends, the application admin could then assign the user a role. Now, there is no requirement for users to be friends on Facebook in order to jointly work on an application. This greatly streamlines the development process, saves colleagues the discomfort of getting more personal than they might like, while reducing time spent curating personal profiles.
User groups
You can now add Groups to any role within an application. If you don’t have a Group already created, you can create one right from the Developer App. If you already have Groups created from previous applications, those Groups can be easily added. This makes it nice if you have a team of people that always develop or test your applications. You can create the appropriate Groups and manage those Groups like you would with any Group on Facebook. By adding a Group to a role, you don’t have to add each person individually, eliminating the risk of leaving someone off the list.
Test users
The ability to create test users is essential to testing the functionality of any application on the Facebook platform. For example, how would you know if the code you wrote to crawl a user’s social graph is working if you don’t have any users to test against? For obvious reasons, you wouldn’t want to add real users to an application that is in development.
Developers have been able to create, manage, and add test users for a while now, but it had to be done using the test user API. Now, developers or application admins can create and manage test users through the application settings within the Developer App.
Before the introduction of the ability to create test users (and I’m sure it’s still happening now), people would create fake accounts for testing applications. However, be warned, Facebook is actively searching for fake accounts, and they will be removed as they are found. You can’t blame them, either. Fake accounts are also created for spamming, and we can all get behind a more safe and secure Facebook.
Where am I going to host this thing?
![]()
One of the first things a developer needs to know is where the application will be hosted. Whether it’s for QA or production, every application needs a home. In a few simple steps, you can now add Heroku application hosting directly through the Developer App. If you don’t have an account with Heroku, one will be created for you as part of the setup process. You can choose the development environment you want to use: PHP, Node.js, Python or Ruby. As part of your application hosting, a Git repository (version control) is created and a sample application is installed on your site. You can be up and running in a couple minutes. Even if you don’t end up hosting your production-ready application on Heroku, it can be a great resource for hosting the QA version of your application.
While these updates may not be as high profile as the new Timeline or News Ticker, they are key to simplifying the process of developing on the Facebook platform. The quicker we can get our apps out, the better it will be to refine and iterate on them.





