Everybody’s talking about Facebook, it seems. One of the most interesting aspects of it for me as a developer is the existence of its API, which makes it possible to create new networking applications, or to integrate existing applications with the Facebook platform.
As an exercise and to help learn the API, I created the Imaginary Friends application. It’s a simple, silly little thing which gives you the opportunity to chat with imaginary creations with names like “Squirehood Armhole” or “Flyblow Multinomial“. The friends are able to talk in a rather unconvincing way thanks to some open source AI software called Program E.
About 2,300 people at the time of writing have added Imaginary Friends to their list of applications. The site on which it is hosted receives about 3,000 hits per day, which indicates that the level of actual usage is fairly low. That’s probably because although it’s quite an amusing idea when you first try it out, the novelty quickly wears off. Unfortunately I don’t have the spare time to create an AI program that would give a better experience (if someone wants to sponsor the effort, we’re looking at at least 6 months worth of funding here).
What would you need to make a popular application? Here’s what I think are the essential ingredients:
- Robust hosting. You have to host the application yourself. Facebook only provides an interface to it and access to various features of its platform. You’ll need to be able to cope with a potentially huge number of users.
- Either a simple, catchy idea, or else real value. There are two types of popular applications: what might be called “playground games”, such as Zombies, or more useful utilities like iLike.
- Ease of use. Facebook users won’t RTFM. The interface to your application has to be simple and intuitive, with not too many options presented at at time.
- “Virality“. The Facebook API provides a number of ways users of an application can spread the word to their friends. The My Questions application is a good example: a user can choose to “ask a question” of one or more of their friends: in order to answer they have to add the application, and so the userbase expands. My Questions has currently over 5 million users: a very valuable resource.
As yet I think the potential for integrating Facebook with other, already existing services is largely unrealised. Most of the current applications that do have an element of integration are rather superficial in their approach. Site owners may be wary of the risk in sharing some of their data with Facebook, but I think once we see some more serious services appearing there’ll be a stampede. My guess is that it’s already happening but we haven’t yet seen the effect. Exciting times.