FB seems to have a two tiered developer program. There are the peons, the guys forced to toil away trying to figure out how to make the stuff work by doing exactly what is described in the blog. And then there are the anointed: the big companies or YC-related startups that enjoy special access to FB employees to get the answers they need.<p>For now it doesn't seem to really be harming FB. They enjoy extreme growth and developers are pulled to their platform because of their enormous gravity. Over time, however, it is really not sustainable. If they want to be a platform they should start acting like a platform and that means making sure their APIs are documented properly and developers have a way to seek out information they need. Microsoft, whether you like them or not, does a great job of this.
This is so, so correct. I've been doing Facebook stuff for a few years now, and this rant is just the tip of the iceberg.<p>Other favorites:<p>* They accidentally flipped the switch to a new authentication mechanism overnight to a beta with no documentation. It took them over 48 hours to realize and fix this mistake.<p>* At one point I was asking for JSON and intermittently getting back XML instead. Apparently JSON parsers can't parse XML. Who knew?
I've just been playing with the Facebook API for a toy project (submitted here: <a href="http://news.ycombinator.net/item?id=1743486" rel="nofollow">http://news.ycombinator.net/item?id=1743486</a>), and utterly agree - the documentation is not even barely adequate.<p>The other irritating thing is when you eventually discover that there's a bug, the best response you see is "Hi, sorry this is a known issue" with no resolution date or even rough idea of whether it'll be fixed in the next year or not.
I'm more of a season fb dev, since I only play with the API from time to time, yet I've managed to suffer with their docs every time I try to do something.<p>Recently I've found another problem - public user data being visible to users, such as birthday, hometown and current location is not available through te Graph API as well as REST old one. Of course they're documented as available <a href="http://developers.facebook.com/docs/reference/api/user" rel="nofollow">http://developers.facebook.com/docs/reference/api/user</a> and accessible by visitors, but not by API. I've found this case in lots of posts on the forums and bugtrack, f.ex. <a href="http://bugs.developers.facebook.net/show_bug.cgi?id=8376" rel="nofollow">http://bugs.developers.facebook.net/show_bug.cgi?id=8376</a> marks this bug as fixed, yet there's a new one <a href="http://bugs.developers.facebook.net/show_bug.cgi?id=12090" rel="nofollow">http://bugs.developers.facebook.net/show_bug.cgi?id=12090</a> with the same case.<p>While I need it mostly for side projects, I pity the ones whose FB app is core for their business, f.ex. this comment:<p><i>Do we have a fix for this solution?
In spite of so many people facing the problem why is this issue not addressed
till now?<p>Can someone answer these questions? Our application is totally based on the way
Facebook gives the location info and most of the time we get the location info
as NULL.</i>
If they can't provide the support we need with their limited resources (someone mentioned on Reddit they had only 6 people on their platform team), they should at least let us pay $250/yr for a "premium developer" account, and have that enable us access to a developer helpline or something.
Carl Sjogreen, who leads the platform PM team, commented that good changes are coming:<p><a href="http://www.sethcall.com/blog/2010/09/30/facebook-api-does-not-care/#comment-82465562" rel="nofollow">http://www.sethcall.com/blog/2010/09/30/facebook-api-does-no...</a><p>I am really quite pleased he took the time to address the post. Let's hope he can succeed.
Just about the only thing you can use at all is the javascript api. And only because you can use firebug to throw a million things at the wall and see what sticks.<p>...and for the love of god don't use facebook for user auth. The API will mysteriously go down without warning for hours at a time.<p>This is one of the reasons I left my last job. Facebook was crucial to the business strategy, but it's miserable to work with.<p>At least twitter's api is easy to use.
I'm utterly astonished that there is no way of getting a full list of fans of my own page. FQL? No. Graph API? No. REST API? No. Screen scraping? No! If you have more than 10000 fans, then not even the web displays them (page 100 = page 101 = page 102...)
I have a humble request for all of you developers who are building facebook apps. Please create an open source project (or a forum with all the tricks you are discovering) so that everyone doesn't have to reinvent the wheel. Basically, please collaborate your efforts to create a more reliable unofficial API documentation for FB.<p>Ryan Waggoner wrote a similar post like this a few days back (<a href="http://news.ycombinator.com/item?id=1731427" rel="nofollow">http://news.ycombinator.com/item?id=1731427</a>), so this is clearly bugging a lot of people. Please collaborate your efforts if possible.
The poor documentation is an inconvenience, but the real problem is how often the functionality of the API changes (ie: breaks) without anyone at Facebook noticing (or perhaps just not caring).<p>I remember constant problems with authentication and sharing APIs. How do you not have tests for those?<p>Facebook is still way too cowboy.
There was definitely a cultural problem at facebook in terms of how they were treating the developer community. The copious unanswered critical issues in the forums among other things sent a very clear message that FB has other priorities.<p>Judging by the comments left by newly hired FB staff on <a href="http://news.ycombinator.com/item?id=1731427" rel="nofollow">http://news.ycombinator.com/item?id=1731427</a> and on this post, maybe that attitude is finally turning around. But I personally really feel burned by my experience working with the facebook platform. Their deficiencies cost me a lot of money, and caused a lot of stress due to blame and doubt applied upon my team by skeptical clients. When it comes to Facebook, I'm going to have trust issues for a <i>long</i> time...
A co-worker who had to work with the Facebook API in a previous job had this to say about it. <i>Working with the Facebook API is like poking yourself in the eye with a fork, repeatedly.</i> It is interesting to see the problems he described confirmed and explained in more detail.
On the contrary. I think Facebook cares very much about developers. They do not want to give developers enough tools to create enduring products, because this would kill their walled garden, in a variety of ways.<p>The biggest way is they don't want to make it easy for you to get your data out of Facebook. Any robust, well-documented API would have to enable that.<p>In some ways this is even a good thing. A small number of compromised accounts can give access to most of the data on Facebook.