Biggest mistakes in facebook application development
Some 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 😉
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?
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.
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.