Creating a social application from a developer’s perspective


When you start working on a social application for the first time, it is very easy to make very costly mistakes. This is not average website anymore – you are now in uncharted territories.

Social application is more related to advertising – most important is to get audience and user engagement. Bigger audience means better spread of client’s message, which also means happy client and better sales for the client.

If you are working with an advertising agency, they rarely have deep experience in social media. In advertising, most people think that the guy who has louder voice also has better spread of the message. Although this is very true for tv- advertising, magazines, outdoor and so on, this does not work well for social media. In social media louder voice = spamming. Don’t do it, even if your client really wants.

I will give you 10 practical guidelines from a developers perspective.


2-3 years ago Facebook spam filter was very rudimentary and spamming was very common tactics for agencies to spread their content. Although spamming is still possible right now on the Facebook, it is much more smarter right now, because all messages are targeted according to user’s interests and social graph.

10 Practical guidelines

1. Spread your application wisely

For you, as a developer, it is very important that message of your application first spreads between group of friends. As more friends are connected to your application, Facebook understands that this group may have common interests. The result – more and more people will connect to your application.

Technically, sharing on the feed is the simplest way. As your application becomes more popular, more and more people will see the new content. Some social media companies are using API-photos in the feed, but I have not seen this kind of tactics very effective. Additionally it may backfire, because too many people may report photo as spam.

2. Don’t force users to send invites.

Don’t do it. This is same as screaming and it doesn’t work well for your application. People tend to delete these invites or worse – send an angry message to the client or report your application.

If your application receives too many reports, Facebook may take it down. Although you can send complain to the Facebook about this matter, there is a little chance that your application may go online again.

3. Don’t break the flow

When designer gives you design of your application, usually it doesn’t have any explanation how dialogs, info-boxes and new pages are opened. Many developers are using simplest way – new pop-up. Don’t do it.

Pop-ups are taking too much attention away from the most important – content. Usually they are also disturbing and just plain ugly. They also need to be closed – this is additional action for the user.

You should use ajax everywhere, where possible. Load new content into previously defined text areas and use small animations to make your application more interactive. If you really need to use pop-up, use original beautiful JavaScript pop-up, which integrates well into your application design. jQuery has a lot of plugins ,which are equally beautiful and easy to use.

4. Log everything

Logging is key for social application. Many times people may have some kind of problem with your application and logging gives you easy way to track the problem.

You should also track which areas and buttons are more attractive to your users and re-organize your application according to this kind of information. Easiest way here is to just use Google Analytics and track all the events.

If you are working for an advertising agency, they also request different kind of engagement data – such as shares in the graph or how many people are participated.

5. Use your friends and colleagues to test your social application.

Social application means also social development. Use your friends and family to test your application. This allows you to track down bugs or discover parts of your application which are not easy to use or not attractive. Facebook also has a helpful feature, which allows you to create new accounts programmatically to test your application.

6. Use scores or achievements API

Many developers are tracking scores internally and they forget that Facebook actually has a wonderful feature to make your application more interesting and interactive. Scores and achievements API is easy to use and if it does not work for your application, you can just comment this feature out.

Additionally, all the scores and achievements will be visible for all of your friends who are using application on their feed.

7. Make your application easily extendable.

For you as a developer, it means that you should not hard-code variables and use as few as possible custom code. Facebook changes things rapidly and you may discover that something does not work anymore. Easily extendable application also allows for you to implement new feature requests or fix bugs more quickly.

8. Check speed of your application, especially ajax.

Loading an application takes time and you should do everything possible to make loading-times faster. Many developers do not check ajax loading times and this may be major bottleneck for your application. You should use cache everywhere , where possible.

Some advertising agencies tend to use CMS to display their application. Don’t to this – people get tired of waiting and they will close your application. CMS is just too slow.

9. Terms & conditions

This is requirement from the Facebook, but your application should also have a clickable link which loads your terms & conditions in modal dialog or a content area. Terms & conditions are very helpful if you have some kind of trouble with a user.

Some agencies and designers want to hide this link, but it really should be as visible as possible.

10. Create supportive pages and websites.

Your social application does not work alone – it needs to have support from other channels.
A few years ago when you created an application on the Facebook, page was created automatically, not anymore. You have to create a special page for your application and connect this page to your application.

Website is also needed for open graph information, because Facebook’s crawler visits this place to retrieve content for the graph – text, images and so on.

Some people use application itself to serve open graph information. Although technically it is smart thing to do, it does not work well for user engagement.