The Windows Club

Developing for the Facebook Platform – What They Don’t Warn You About

Firstly, let me start by warning you against reading this article. It’ll shatter some of your illusions about Facebook. At the moment, you’re probably living in somewhat a dream world. You probably think that Facebook, as a large corporation that’s well-respected plays fairly – ‘they can do no evil’. Moreover, if you’re thinking of developing an application for the Facebook platform, this article may put you off. If I haven’t scared you off, read on.

My University lecturers used to tell me that a good article is one that’s well researched and written by an authority source, as an entrepreneur, I’ve spent over five years developing applications – three of which for the Facebook platform. My most popular Facebook windows software application, “Chit Chat” receives thousands of downloads each day. As such, I feel like I know a thing or two about Facebook operates as I’ve been watching them with my beady eyes for half a decade.

Let me pre-empt an opinion that you may have about me, this article is going to sound like someone with “sour grapes” but instead please consider it as a warning message from someone in the know, before you invest your well-earned dollars, or time, in developing for the Facebook platform.

1. It’s Facebook’s Platform, Not Yours

I’m stating the obvious here, but it’s probably the most commonly overlooked risk when considering development.  As you likely know, Facebook is a closed environment and as such, your success and failure is as much down to you as to what Facebook allows (and what it doesn’t allow) you to do.

When you develop for the Facebook platform you lose a lot of control over what you can, and can’t do.

Moreover, given that Facebook have open APIs this means that barriers to competitors are lower than what they may be when developing your own system. As a result, a competitor is likely to be able to develop something very similar to what you’ve done. There is little to no protection to your ideas.

2. Facebook Loves Change – Changing Code

It’s not just users that hate it when Facebook changes things. Developers hate it too, and Facebook have a poor track record when it comes to being “developer friendly.”

Facebook loves to upgrade their code with little or no warning. Whilst upgrades are welcome, Facebook have a poor track record on backwards compatibility. This means that you could invest a substantial sum of money only for Facebook to turn off certain APIs, change the way in which that code works or to change the whole code base altogether

Over the past three years, we’ve changed much of the core of the Chit Chat application three times over. 

Solution: A contingency plan is essential. Ensure you have both budget and support to vastly change your code base at short notice.

3. Good Idea? Prepare For Facebook To Create a Clone

As you’re developing for Facebook’s platform there is absolutely no barrier to them creating a competing application. Competing against an official Facebook product is difficult to say the least – even if your application is better than theirs.

Unfortunately, the media are very much “Facebook” focused, and as such – trying to promote an unofficial application requires both strong arms and broad shoulders.

To illustrate this point, Athena IT Limited developed a Facebook chat application for the desktop, Blackberry and iPhone – Facebook have now developed an application for each of those platforms that competes with us in each of those niche markets.

To give another example, a few years ago I created a petition and poll application – Facebook now have their own app that dominates that market segment.

4. They Write and Rewrite The Rule Book At Will

For better or worse, the popular parental mantra  “my house, my rules” unfortunately applies to the Facebook network. Unlike a regular business, whereby you just need to concern yourself with the laws of the countries in which you operate, with a product developed on the Facebook platform you need also  to concern yourself with Facebooks rules as well as T&Cs – conditions that can change at a moment’s notice.

An example that demonstrates this point is Zygna. Their user base has fallen dramatically because Facebook have restricted the way in which they can have users pay for items (limiting to Facebook credits) and restricted the amount of promotion they can do. As a well-funded VC backed company with millions of users they have far more influence power than most developers.

In another example, a few years ago, I created a poll/petition application that fell fowl of the rules when Facebook introduced a limit on the amount of people you could invite to an application. Who wants to run a pole where they’re limited to inviting five users a day?

5. Facebook Promotion

Permit me to use two definitions to explain this section. I would describe there as being two types of Facebook applications, those “on site” and those “off site.” “On Site” applications, based on my definition is an application that is hosted and executed from within the Facebook environment on a Facebook subdomain,  whereas an “off site” application is an application that makes use of the Facebook API but is hosted and executed on your server on your domain/software but interacts with Facebook in some way.

A – Search Engines

If you’re social media obsessed, you may decide that social media will be the only strategy in which you will get ‘traffic’ for your application.

When you develop for the Facebook application platform “onsite” your effectively turning your back on search engine traffic – i.e. Google. Because of Facebook’s closed wall environment it is harder to rank for your keywords and phrases.

As the Facebook application path is the direct route to your application, media and other websites will prefer to link directly to that path rather than any third-party website that you produce, this means that you’re helping Facebook to rank rather than you.  This means that all of the “value” that you’re creating is helping Facebook rank, rather than your own product – remember that Facebook owns that down and your extension rather than you.  Moreover, your application won’t load until a user logs into Facebook, as such, Google can’t crawl it.

B – Social Media

Looking on the bright side of Facebook, developing for Facebook does open you up, to the opportunity of, a lot of “free organic” viral traffic. That said, remember that Facebook can at a whim disable your application, change the codes on which your application is based or disable your ability to promote.

Most of the above is done without the ability to appeal or without formal review or warning.

For example, Facebook disabled the application ID on which Digsby integrated it’s Facebook solution and thus disabled its ability to communicate with Facebook. This was done without warning.

Solution: Check that your Facebook integration continues to work and have a contingency strategy in place if it fails to work. Code robustly such that if a component stops working your whole software product doesn’t stop working. 

If you’re still going to develop for Facebook’s platform – don’t say I didn’t warn you of the pitfalls that you’ll experience.

Guest Post written by: Daniel Offer –Facebook messaging software “Chit Chat”.