It’s a shady day today. It’s great being outside with the small rain, windy air & not too harsh sun. I feel it’s really a good time to take a break, after all the long days.. but now, instead, I return home to write this tiny article.
Facebook’s great success makes “FB developing” one of the technology “buzzword” today. When making a website, there’s a good chance (if not always) the customer will ask to socialize things up, and well, the certain solution is Facebook. And I can be sure that many of developers would be proud to call themselves “Facebook app developers”, a title which seems more shiny to non-technical buddies.
Well, actually, the inside is not that glorious. If you do not concern much about IT, you may not know that most people who call themselves “FB dev” actually have no relation to Facebook. They just use the API libraries that Facebook provides to build application on Facebook Platform.
And that APIs sometimes sucks.
(warning: technical stuff next)
Surely Facebook has invested some efforts in their APIs. But personally, I think it’s not good enough comparing to their big success. Facebook APIs is rather likely to change, their documents are not very-well organized, and sometimes, make developer’s life harder because of mysterious “bugs”. I myself once met a bug like that – which is named the total friend number.
If in any chance, you notice that your FB friend number increase or decrease(without adding or removing any friend), you will know what I talk about. And you may already find a friend which is in your friendlist, but you can’t see them in your Mafia war clan.
Our case is like this: in the project we use RestFB APIs to retrieve user infomation from Facebook to import into our system. Things work fine, until the QCs complain that her friend number on Facebook is different to the number of friends we got from calling FB APIs.
And the bug hunt begin
First, I think that it’s because of Facebook. Sometimes I see my total friend number varies after several seconds. It go up then go down without any reason. I thought that some of my friends deactivate their account, so they won’t be count at that time.
But our experienced QC brings another surprise: she point out 4 person who are her active friends on Facebook, but “invisible” in the list we got from RestFB service(249 in her list vs 245 returning by Facebook APIs). Very real & very magical – I can’t understand what happened, so I ask her to carefully filter the friends that we can’t get from the APIs. It maybe because some sort of text format – RestFB may have some bugs when users put strange characters in their username. And when the QC re-check – thanks God – she saw that she have 250 friends, not 249! Even Facebook doesn’t know how to count, man!
About 4 people that missing in the list, we eventually find out what’s the trouble. Facebook privacy settings is complicated indeed. They provide a setting option that give the user right to turn off all applications. Whenever the user activate this function, they are invisible in all application, which means their friends can not invite them in any FB platform applications, games, and so on..
In the end, we closed that bug. It’s such an irritating experience when working with third-party APIs.