Over the last year we have really dug our heels into the world of Facebook application development. Like so much of the internet, it it very much a wild west in Facebook land. As everyone knows, Facebook often changes layouts, formats, designs, and functions without much warning. In the early days of Facebook one of my favorite functions was your personal friend timeline. When you added a friend you also indicated the time and context in which you befriended that person (in real life). Based on that data a timeline of your life was generated that showed your life's timeline and the people you met along the way. I loved this feature, and one day a few years ago, it was gone. Bummer. Facebook's most recent change is to a new layout for fan pages. We have an application running that we are scrambling to test and modify, and that's just the problem. Facebook really does not have a real development environment. Sure, they have a sandbox mode for developers, but we need more than that. Typically we have 3 environments in our workflow, dev, staging, and production. The absence of a staging environment can be a real challenge, especially when reviewing an iteration with a client while the application is still in development. Boo. Top all that off with poor and out of date documentation, and you have a mostly unfavorable development workflow. My last gripe is with platform stability. While Facebook does not suffer from the prevalence of the fail whale like Twitter (will they every get it right), their are often bugs and quirks with the platform that are beyond a developers controls. When an issue arises I absolutely hate telling someone "it's a Facebook problem, we are waiting for them to fix it." In the middle of a lengthy campaign last week the Facebook Page Insights went haywire, and the data became inaccurate. There was nothing we could do. Mark Zuckerberg, if you are listening, HELP!
Posted by Matt Laufer at 6:29 PM