The life of a software developer 4/4: developing a Facebook application

ifiwere_logo2_tie.jpgAs Erick Schonfeld mentioned it on Techcrunch a few weeks earlier, it seems that every developer in the world in currently developing a Facebook app. Having followed my girlfriend during her exchange program in the US and having no chance to find a job for 3 months without any work permit, I decided that I will benefit from this free time to follow the wave and develop mine. The funny part was to explain what I was doing to my girlfriend’s MBA friends: they are so immersed in a business culture that they look at me with wide open eyes when I explain calmly that I have worked one month to create something that will benefit Facebook without being paid and without even hoping to be paid! But they understood a bit better when I explained that this kind of project, especially if successful, can be an additional asset when looking for a job in a Web2.0 company in Silicon Valley ;-)

The conception

The first step was to determine what kind of app I wanted to develop. Of course, I wanted to exploit the full potential of Facebook by creating an app with a viral potential. I identified 3 key success factors for a Facebook app:

  • It must be a functionality linked with the user’s ego to incite him to display the application on his profile;
  • It must allow an interaction among friends and it’s better if this interaction is based on some personal knowledge of your friends;
  • It must be fun.

This is how I got the idea of developing an app allowing you to create your Chinese portrait (by completing several sentences of the form “If I were an animal I would be a Lion” and to guess you friends’ one. It is linked with your ego as it allows you to display one of your answers on your profile with a visual representation; you interact with your friends by guessing their answers; and finally it is fun because you can see which friends know you the best.

The development

There are 2 ways of developing a Facebook app :

  • Using the FBML (Facebook Markup Language) only : your app will be developed for Facebook only;
  • Developing your app externally meaning that most of the processing will be done outside Facebook.

I chose the second option because it gave me more freedom, and also because I wanted to let me the opportunity to export my application on other platforms later on. Besides, to make some preliminary tests it was easier to be on my own hosting platform than being obliged to test my basic application and the integration to Facebook at the same time.

I finally developped it in php/MySQL, therefore I used the php library of the Facebook API, but was of course obliged to integrate some FBML during the integration stage. As said on HYPERLINK “facebook.developer.com” Favebook’s developers wiki, “Facebook Markup Language (FBML) is an evolved subset of HTML with some elements removed, and others which have been added that are specific to Facebook”. Facebook has also developed a specific tool allowing developers to make queries in Facebook’s database: FQL (Facebook Query Language). Javascript also has its own Facebook version: FBJS.

The most striking thing during this development stage has been the quality of information available to developers concerning the API. The Facebook developer community is really active, offering on the Wiki almost all the answers that are necessary to be efficient in Facebook languages really quickly. Numerous scripts, easily customizable, are also available, as well as numerous updates.

The launch

I finally launched it on Thursday, and what interest me most in this adventure is having first-hand data to analyze the famous network effect. I started by sending invites to my friends, and my girlfriend did the same: 30 of them added the application until now. But in 6 days I managed to reach 395 users, with 24% of them being qualified as “active” by Facebook. You can see below the day-over-day growth rate in the table. Only 10 removed it to date (which is, completely subjectively speaking, a good ratio). What is more worrying is that only 107 “tests” have been done, which means that the feature allowing you to guess your friends’ Chinese portrait is not used a lot (only 25% of users on average have tried to guess one of their friends’ Chinese portrait), which is probably due to the low penetration to date.

tableau_ifiwere_tie.jpg

What is a bit frustrating (but fortunately for privacy reasons) is that developers can’t make elaborated statistics on the users of their app, because if these users are not part of the developer’s friends, he has no access to their information. I would have loved to analyze the geographical spreading of my app: as most of my friends are French, I would like to know when the proportion of French users of my app will start to decrease. I would like to know how many American users I have: as there are many more relations between American users, the value of an American user must be on average superior to the value of another one because of the potential viral adoption he will generate.

You can try my “If I were” application here. Do not hesitate to give me feedback about it; it will be obviously much appreciated.

Related posts:

  1. The life of a software developer, episode 3/4: how to be flexible?
  2. The life of a software developer, episode 1/4
  3. Empty promise of privacy in Facebook
  4. The life of a software developer, episode 2/4: the improvement of software development processes
  5. My favourite Facebook-app

7 Responses to “The life of a software developer 4/4: developing a Facebook application”

  1. Jeremy Fain says:

    I tried Remy’s app and it’s REALLY fun. Go Remy!

  2. I agree, it’s great fun. And a great way for me to see how little I really know about my friends :-)

  3. Remy MIRALLES says:

    Thanks guys, it’s really encouraging!

  4. Hi Remy,

    Nice app. It’s fun to see how a single developer can create a social app these days thanks to facebook.

    My company created the iKickYou facebook app (http://apps.facebook.com/ikickyou/). So I can give you 1 piece of advice for tracking how your app is spreading over the world: install google-analytics.

    It’s pretty straightforward and it works well even off of a Facebook app.

  5. Remy MIRALLES says:

    Thanks Louis, I’ll add it immediately, I thought I was going to be able to follow everything with Facebook’s tools but it’s not the case, and Google Analytics is a really good idea.

  6. Jeremy Fain says:

    Rémy, what’s your standpoint on Google’s OpenSocial initiative? Do you think Facebook should join OpenSocial or not? And Netvibes?

  7. Remy MIRALLES says:

    I think that this approach is really clever (notably in terms of image, it’s always good for Google to appear as a promoter of openness!) but will essentially benefit big developers like Slide or Rock You. Besides, It has been said a lot on this blog and everywhere else that a unique social platform is not what users expect (they prefer for example to separate their professional social networking platform from their personal one) so I doubt that there would be so many applications that can be used on all social networks. Most of the Facebook ones for example have nothing to do on LinkedIn. Do you imagine biting one of your LinkedIn contact to make him become a vampire? Of course this app would have a role to play on Myspace or Orkut. But as believe in a concentration of platforms having the same target (and therefore the same kind of potential apps) I don’t think that this will be huge, but with Google you never know ;-)

    Concerning Facebook joining it, I think that Facebook had already managed to create a fertile ecosystem in itself and manage to integrate some interesting features of other social networks (e.g. the bacon project and Facebook music) without needing this initiative. The only risk would be to lose developers, but I think that Facebook has already reached a critical mass preventing that from happening.

Staypressed theme by Themocracy