Hitting a moving Target
Things move fast in the IT world: Oracle spit out a new version of their database every couple of years, Microsoft keep…. well actually the less said about Microsoft the better to be honest, and as for Apple……
I’ve been coding away on my Wordbooker Plugin since the tail end of last year. I had great plans for version 1.8. I was going to add internationalisation and completely rebuild comment handling from the ground up as its not really working properly.. Hey I coded it in a day and bolted it onto the existing code so what else would you expect…
So I’d got all these plans worked out in my head and then along came Facebook and their developer conference (F8) who shoved a huge great spanner into the works.
Now for those who have never tried programming against the Facebook API you wont know just how annoying it is. It is rather like trying to nail jelly to the ceiling : Facebook quite happily change the API on the live site without telling anyone which breaks things. Go on.. how many times have you seen the “Oops, something seems to have gone wrong” message? Well developers get that too – or rather they get calls that suddenly return no data, or incorrect and incomplete data, or error codes they’ve never seen before.
People file bug reports and Facebook go and change the documentation and then deny its an error. Or Facebook fix the bug and everything is fine for a few weeks then it re-occurs which suggests a lack of a proper test and release process. The worst one I’ve seen is a bug which apparently “fixed” itself with Facebook representatives saying they did not know what had caused the problem or why it was now working again. The PHP files they provide don’t even have version IDs in them so you can’t tell if you’ve got the latest version, or worse still : you can’t determine the version of the files that another WordPress plugin might have installed – so your code doesn’t work because the version of the Facebook files they have installed doesn’t have the function, or class, you need for your code to work.
So any way, along comes F8 and a whole new way of interfacing with Facebook : The Graph API, and along with that came a new data model and a new data permissions dialogue, and a new Data policy. Everything new and shiny and the statement that “On June 1, 2010, we’ll automatically transition all Facebook Platform applications and websites who have not yet migrated.”
Sounds good doesn’t it. Apart from the fact that no-one at Facebook has explained how you can use the new Data permissions dialogue with the “old” API, and everything I’ve tried simply comes back with meaningless errors, and from what I’ve read other developers have experienced the same problems.
So I guess I could just convert my application over to the new API couldn’t I, that would make things easier wouldn’t it? Ahhh…………..actually I can’t because Facebook haven’t actually written the PHP API libraries yet – well not to the point of supporting “offline” access, which is what my application relies on. Actually that last bit says a lot about Facebook : They announce a whole new API and a whole new data structure, but the only way to access it is hand crafting your own CURL statements and running a “live” Facebook session. Talk about the right hand not knowing what the left is doing….
Madness
June 8th, 2010 at 1:56 am
I just wanted to say thank you for putting hard work into dealing with all of this. I can’t imagine the headache, but truly appreciate what you offer everyone. So yeah, my FB comments aren’t making it back onto the blog posts…but you know what… I’m still grateful for what you’ve done so far and don’t mind patiently waiting for the next version. Thanks for all of your hard work. An awesome bit of integration.
June 8th, 2010 at 4:48 pm
Bret, thanks for the comment. Comment handling is a pain but I’m hoping to be able to spend a good amount on time on Thursday working on the code to get it working properly.