In the world of Facebook development with Python there are two major choices. minifb and pyfacebook. They both suck in their own unique and special ways.
First off, developing and integrating with Facebook itself is hard enough. Hire some tech-writers, guys. Actually, hire more of them and delete your wiki. It is far too cluttered and disorganized to be doing much good.
Second of all, if you’re not in PHP, you’re already a half-step behind. It looks like the PHP libraries + integration are pretty good, well tested, well documented, etc.
Between minifb.py and pyfacebook you have a stark gap.
- minifb doesn’t do enough, and facebook’s documentation doesn’t bridge the gap.
- pyfacebook tutorial is really a django tutorial
The Facebook API makes sense (it really does, mostly). facebook.bar.doBlap() is what you want to call, you do some sig=, verify=, blah blah, and you’re good to go.
MiniFB gives you just enough to do that. It’ll sign requests and verify signatures and that’s about it. Everything looks like: call( “foo.bar.doBlap”, blah, blah );
PyFacebook is more along the lines of the facebook-client.php library. It’ll import a bunch of calls into the python namespace, so you can do: facebook.foo.bar.doBlap( blah, blah ); In addition, it does all the right collapsing of GET/POST/COOKIES and generally makes it more comfortable to work with Facebook.
This is great in theory, but again there is a huge documentation gap with far too much “magic” that goes unexeplained. Facebook’s documentation is self-referential and assumes you intimately know every aspect of how Facebook works already. Add to it that PyFacebook spends about 99% of the time on how to wire it up to Django and you have a recipe for fail.
I want MiniFB++, which is conceptually as simple as PyFacebook, but doesn’t suck so hard in the documentation aspect. I cannot over-emphasize the craptitude that is the documentation of pyfacebook and facebook in general. Amplified by the fact that every n00b is tweeting in the echo chamber about facebook facebook python pyfacebook, twteeeeeT! and nobody’s actually saying anything.
All apologies to the PyFacebook peep(s?) … I will be more than happy to write my own series of tutorials on things if I can ever get up the learning curve.
My recipe to fix things:
- a PPT that explains the major working components of everything facebook (with non-lolcat pictures)
- a Facebook “authentication in several nutshells” page (session, api, auth_token, permissions, site callbacks, canvas callbacks, fbml, fql, etc)
- PyFacebook example code that says: “Hello Robert!” with no friggin django magic (including login, app permissions, etc). As simple as the desktop example, but for the web.
Back to “work”.