Facebook Needs a Developer Sandbox
October 29, 2007
While Facebook has done its best to offer third party developers a simple method for integrating applications, the social network has focused most of its effort on simplicity of use, accessibility of data, and component availability and diversity. While the efforts put forth by the Facebook team are commendable, there is an undeniable need for improvement in application testing opportunity.
Currently, the “Developer Mode” checkbox in an application’s setup prevents non-developers from accessing an application. However, this is only useful for new applications currently in development. Facebook does offer various test consoles, but these are only useful for unit testing at best. There is no means by which a developer can perform a rigorous test when changes need to be made while allowing Facebook members to continue to use the application’s current stable version.
Furthermore, while Facebook did introduce test accounts for testing applications a little over a month ago, these accounts are essentially useless due to the fact that they can only add applications that are already in production. And, considering that most serious developers never test code changes in production, having test users only available in production makes little sense.
The only alternative to developer accounts is to create fake user accounts and adding them to the application’s developer team. Unfortunately, because Facebook is intended to represent a real-world social graph, creating a fake member account is against Facebook’s terms of service.
Given these two major issues in the development process, Facebook needs to create a sandbox (e.g.: sandbox.facebook.com). Ideally, the sandbox will allow developers to maintain identical canvas URL’s for accessing an application (e.g.: sandbox.facebook.com/favorite-games/ would correlate to apps.facebook.com/favorite-games/). In addition, developers should be able to create multiple testing accounts that have access to these applications in order to test application changes.
By creating a developer sandbox, bug fixes and enhancements will be isolated, and the development process will be simplified tremendously. End users will have an improved experience with applications that utilize this sandbox as intended, and Facebook will receive greater positivity from news and media outlets surrounding its development platform.
Comments
8 Responses to “Facebook Needs a Developer Sandbox”
Got something to say?




I’m with you 100%.
Amen to that!
[…] know that Matt Huggins wrote an article addressing the same issue, his suggestion of a sandbox would be perfect for a Dev repository. I was […]
Hello. And Bye. :)
Its really a very helpful link with 100% accuracy.
Thanks
She was not amused, it seems. ,
I develop applications for websites and use the following process:
Development and testing on the Dev Server. When a release is ready it will be updated to the Production Server via SVN or some such method.
This works well for me and I would assume most developers use some similar process.
So, why don’t you just create 2 App profiles in FB?
1. The test profile that points to your Dev server (Sandboxed)
2. The production profile that points to your Production server
Then you develop on the Dev server. The sandboxed application (1) which is used for testing cannot be accessed by any users other than developers so you can test it. You can even give friends or other developers access to test it by adding them as developers in the profile.
When you are ready for a release do so as normal which will update the app code on the production server. Your users accessing the production profile (2) get the tested update.
Seems like it will work ok for me. It’s what I’m planning to do.
Anyway, my 2c worth.
Further, the problem with having to make 2 profiles could be easily fixed by FB developers.
Simply make every App setup have 2 callback urls. One sandboxed and one live.
I don’t think FB need to do much else, the dev and versioning is our responsibility which we handle on our networks.
All FB has to do is merge the 2 profiles into one in the site where we set it up.
Anyway another 2c worth…
Someone owes me 4c! :-)