Biggest mistakes in facebook application development


big-mistake-fb-appSome of my friends have been developing facebook application for long time and one day we all are discussing what were our mistakes in past in developing facebook application. We also have been discussing some issues of facebook. Here I’ve pointed out some part of our discussion:

Never read terms and policy by facebook

Yeah this is happened for many developers. I also did same type of mistake once ago. I violated a rule and facebook shut down my app. After this when I work any new project, I first read the latest terms and policy. Read my previous article about it . Facebook is a platform and it has some serious rules that you’ve to abide during developing your application. Visit http://developers.facebook.com/policy/ and read terms before any new application development.

Wrongly chosen IFrame instead of FBML Canvas page

This is a long time confusion among developers what to chose when developing an application. Some supports only FBML and some supports only Iframe. But each has its own features and advantages. When facebook doesn’t initiated FBConnect then Iframe application has higher priority to convert existing site to iframe base application. But now you can integrate FBConnect in your site and get all the facilities that a iframe app can provide. If you want to develop an application only for facebook then you should chose FBML base canvas page. If you want to develop flash base application then IFrame has much more facilities than FBML. And if you want to integrate some facebook features in your existing site then you should choose FBConnect.

Provide action link in stream body other than action link

Some facebook application violated this rules. If you visit http://developers.facebook.com/policy/ in the section VI->A->5 you’ll see “You must not include calls to action in the body of your Stream stories (e.g., “Beat her score!” or “Can you beat her score?”). A call to action must only be presented as an action link (in line with “comment” and “like” and similar to Facebook’s stories in design).” So never and ever use action link in your stream body. If any user report it to facebook, soon you’ll see your application is shut down 😉

action-link-violate

Choosing shared server that has slow response time

Facebook application works as proxy site. So if your application gets increasing traffic and your server is responding slow then most of the time your application users will see timeout or no data type of error. So if you use shared server hosting first check that it has good response time and good performance. When your app will get moderate traffic you have to go for VPS or Dedicated Server.  Personally my first choice is cloud hosting and 2nd choice is dedicated server. Checkout my post My Personal Web Hosting Experience

More friends more points as a result application is reported

Checkout http://developers.facebook.com/policy/ and see section V->2. You’ll see  “You must not provide users with rewards or gate content from users based on their number of friends who use your application.”  I found many game application violates this rule. They ask user if you invite 10 more friends you’ll reach upper level. So report this type of application and don’t violate this rule. This makes an application as a spam generator. Some application uses more friends in different ways. Like http://apps.facebook.com/bubbleisland this game has a feature, if you have 3 friends playing the game when you lost all your lives you can resume from level 3. If you have 8 friends you can resume from level 8. So if you have less friends playing the game, you have to invite more friends to play the game as a reward you’ll get the benefit. I don’t know is this game violating facebook terms, what do you think?

buble-island

Storing user’s demographic information for infinity time and use them for marketing purpose

You can’t imagine how many application violate this rule. According to http://developers.facebook.com/policy/ sector III->1 you’ll see “You must not store or cache any data you receive from us for more than 24 hours unless doing so is permitted by the offline exception, or that data is explicitly designated as Storable Data.” What is Storable Data ? Checkout the link to see which data you can store for indefinite time. But many application uses some api like  http://wiki.developers.facebook.com/index.php/Users.getInfo and collect all data about user and save them in their own database. Suppose if you have 100000 users demographic data in US you can sell those data to third party and facebook will not know about it. Third party company can use that data for their product’s marketing purpose.  This is a complete violation of facebook terms, but how facebook will know that your application stores user’s data for indefinite time. 😀 So don’t share important data in facebook profile, some application may collect those data and sell to third party and you don’t know that  your information is stealing by an application.

Not using viral features of facebook

Facebook is very popular for its viral features. You could easily use those features and thus your application will spread. But if you have an application that don’t use viral features its hard to get more users. So you should keep your eye open about facebook viral features. Suppose if you have a gift application then you should use Publisher feature of facebook. If you implemented publisher feature in your gift application, it would be easy for you your user to send gift to their friends. Like this you should use email feature, invitation feature and other viral features that facebook provides.

Remember facebook is a platform and you’re developing application using this platform. So you should follow the rules and abide them strictly. Honesty is the best policy. If you violate any rules for your lack of knowledge then it may be forgivable. But if facebook knows this violation they will shut down your app or may banned your account. So be updated all time and read the updated terms and policy by facebook. Hope this article will help you to be a better facebook application developer.

UPDATE
Facebook recently (22-04-2010) removed their 24-hour caching restriction which posed a technical burden on developers. This restriction forced applications with millions of users to ping Facebook’s servers millions of times each day to perform basic functions like displaying a user’s name back to them. As part of today’s changes, you can store data — only the data users have granted you access to, of course — and more easily write fast, high-quality applications.

mahmud ahsan

Love computer programming and write occasional blog post. In my early career I worked mostly on web based application and since 2011, I exclusively working on iPhone and android applications. I work at home, father of a nice kid and husband of a beautiful wife. [My Business | Twitter | Linkedin]

You may also like

10 Comments

  • Kestas
    April 8, 2010 at 2:12 pm

    Thanks. That was good piece of useful information.

  • Jonny Chan
    May 7, 2010 at 1:26 am

    Thanks for the valuable information. I will be checking up with Facebook TOS more frequently. In terms of storing the data, can you export them to .cvs or something and keep them in your hard drive?

  • mahmud ahsan
    mahmud ahsan
    May 7, 2010 at 2:00 am

    @Jonny Chan, facebook currently allow to store user data for indefinite time. So you can store them, export to .cvs and sell them whatever you want. 🙂

  • Novice Programmer
    May 13, 2010 at 2:51 pm

    Hi!

    You mentioned

    Provide action link in stream body other than action link

    is not allowed.

    Is it allowed in the ‘Properties’ section of Stream Attachment to have some information like:

    Courtesy: youtube.com/xyza

    Thanking you in advance,

  • Shani
    September 1, 2010 at 6:58 pm

    You wrote there is a rule saying :
    “You must not provide users with rewards or gate content from users based on their number of friends who use your application.”

    I don’t find this rule in the link you gave :
    http://developers.facebook.com/policy/
    Is this rule still exists?

    Can I reward a user for inviting his friends?

    Thanks

    • mahmud ahsan
      mahmud ahsan
      September 1, 2010 at 10:17 pm

      Rules changed day by day and facebook changes lots of regularly. This article is now old.

  • Inking Stamp
    January 29, 2011 at 9:18 am

    ,”~ I am really thankful to this topic because it really gives great information :~”

  • グッチ アウトレット 店舗
    May 29, 2013 at 8:22 am

    ダブルはロールバック対処はアクション17インチ長期。これら財布方法です余分なディペン ダブルよりも、種類は買った通りで。それにも関らず、それらのいくつか到着で、合併症のないスタイルと信頼性の高い色。自由奔放なファッションと一致する完全に無料-奔放な自由奔放に生きる。取得、友人にヘルプあなた確立の信頼性、ソリューションする場合不明。Eurohandbag はありません疑い1 つだけこれらの種類の代替。

  • miumiu 財布 激安
    May 29, 2013 at 8:47 am

    優れた概念外出する友人これらを運ぶ財布。達成を取得する大幅にはるか利点ときあなた個々再現ミュウミュウ財布。ミュウミュウ クラッチ荷物は特徴のコンパクトと財布多数色。見えるとピックアップミュウミュウハンドバッグ,これですはるか情報と事実ミュウミュウ バッグ ミュウミュウについてハンドバッグ。バッグだらしないと三日月形、一般的に重要なサイズします。このバッグは確かに回転ヘッドを得るあなたコースことを行く排他的なイベント。一番必要な問題に表示-オフし、を盗む、ステージ。彼らを得るそのタイトルは、プラダのニックネームから演算子-Miuccia。

  • Mua bán nhà đất Bình DÆ°Æ¡ng
    May 29, 2013 at 10:00 pm

    What’s up, I log on to your blog like every week. Your story-telling style is witty, keep doing what you’re doing!

Comments are closed here.

About Me

Hi I am Mahmud Ahsan. I Love computer programming and write occasional blog post. In my early career I worked mostly on web based application and since 2011, I exclusively working on iPhone and android applications. I work at home, father of a nice kid and husband of a beautiful wife. [My Business | Twitter | Linkedin]

Twitter Feed

Fanpage