The small portion of time I spend maintaining a Facebook app that my company supports is without doubt the most unenjoyable, tedious, soul destroying time I spend on anything.<p>What isn't outright broken is ugly, poorly documented, highly fragile (works one minute then fails, then works again for no reason), unreliable (occasionally major parts of the API just break during upgrades with no notice), full of arbitrary and unexplained constraints (how many invites / notifications / emails etc. you can send all have built in limits per day after which they just stop working) and if nothing else, it's just ugly as all hell. Layering FBML on top of HTML and then trying to work with FBJS is a hellish way to construct a UI.
APIs aside, I'm really struck by the lack of professionalism on behalf of the Facebook employee the author mentioned.<p>I'm friends with several Facebook employees and several times I've seen this type of behavior (mostly through notes that the employees share to gripe about what they perceive to be an obnoxious userbase). One of the more inappropriate exchanges I remember was where a user sent an admittedly hostile complaint to Facebook and the employee sent back an even more hostile response - in which he mentioned that he had checked out the user's profile, noticed he was a Christian, and then proceeded to mock him for it.
That pretty much sums up my experience with FB's APIs thus far. Very little documentation, even to the point where it's hard to figure out what the APIs even do. Little to no support for languages other than PHP.<p>It's sad too. If they could put out a working (not even decent, good or usable, but working as in compilable) C# wrapper for any of their APIs, I'd have all of my apps using FB to some extent. As it is, it's just a time sink.
My thoughts on Facebook Connect in code:
<a href="http://dwadwa.com/connect/test.html" rel="nofollow">http://dwadwa.com/connect/test.html</a><p>Actually, I like the comment box, took all of a minute to get it to work. But like the author, I worry about the monoculture.
I've also had some pretty terrible times working with the FB api.<p>To find the silver lining, it made my app better. Being forced to deal with frequent errors and service interruptions caused me to think carefully about error handling, and that work benefited every piece of my app.<p>I was cursing facebook's name though, every step of the way.
So I find this interesting in that it flies in the face of a couple common thoughts.<p>The common mantra is to release early, release often. Now I admittedly don't know how often FB is releasing, it seems like the crux of the complaint that they released too early... and the fix isn't to release more often (at least at the author's implication.)<p>Would he honestly rather they hadn't released anything at all? How would you feel if this were your app? I mean, the critiques seem well-formed, I just don't know if it's symptomatic of having waited for fixes that aren't coming or not.