The Facebook API is a great thing. Since Facebook's launch of its API, we've seen some incredible applications and tools developed that help us connect and socialize. Likewise, we've seen a growing number of high profile companies create their own Facebook applications as well as some thriving companies generating millions with their own, original Facebook applications and games.
But what about the developer or team building these things? Well, one developer has decided that the frustration of Facebook API is just too much, which leads to an interesting point. Is developing apps on APIs and systems that are seemingly in a constant state of flux such a good idea?
Imagine building a house on a foundation that shifted around every few months. You'd constantly be working to maintain things. Well, according to Ryan Waggoner, that's what it's like building an application on the Facebook platform.
Now, I'm not encouraging everyone to drop their Facebook apps because things get a little hairy as the Facebook crew makes up their mind on what works best. Instead, maybe take in to account that, when using APIs like this, that you are not in control of the data. Furthermore, be ready to jump through a few hoops to keep up with the changes. As any Twitter app developer will tell you, when things break, rarely do people blame Twitter's change in an API or authentication method. Instead, they place the blame on the app and move on to a competitor.
Also, if you're developing an API, try to keep developers like Waggoner in mind. Keep everything as best documented as you can (code and response examples, as best practices dictate) and try your best to support older methods, within reason. While your changes may be faster, richer, and more secure, you may be royally breaking a popular app.