Facebook: A modular steamroller
Since the launch of the Facebook Platform earlier this year many people have been writing applications for the social networking site. Some good, some bad and some very ugly.
However, something that has probably slipped most people by is exactly how useful the Facebook Platform is to Facebook themselves. Most of the core elements, the Wall, Groups, Events, Photos etc. (but not Profiles and Pages) are all in fact applications that run on the Facebook Platform. Most people don’t notice because they’re enabled by different, but it affords Facebook many advantages.
For a start it enables them to create the Platform using use-driven development. While I don’t know whether this is true, it’s certainly a brilliant opportunity to aid development. I also makes the entire system far more modularised - by decreasing the number of things that are part of the core of Facebook, they’ve reduced the amount of code that has to be maintained by the core Facebook team. Problems with the default applications, for example, a bug in the Wall, can be easily isolated and therefore fixed quickly and easily.
As with bug-hunting, modularisation allows them to very quickly create new features without having to dabble with the core code and potentially break one of the most popular websites in the world. New features can be tested by releasing it as a non-default application and, once it has been put through its paces, deployed en-mass.
All of this gives Facebook the opportunity to comepletely crush rivals like MySpace, and with relative ease. Obviously, they’re not there yet, but they launched “Pages” only 4 days ago, alowing groups/organisations to setup specialised profiles, and already around a quarter of my favourite bands have their own pages.
Together with the clean look and easy to use interface, Facebook’s extensibility and modularity has exactly what it takes to bury MySpace.
This has me thinking: Can this computing model of abstraction and modularisation be applied as a general business model to real world products? And if it can, can it with much success? The answer to both questions is probably “no”, but I’d certainly be interested in finding out.