How social networks changed application development

Quite a Big Bang, that is a pretty good expression about a growing phenomenon of social networking. The popularity of sites like Facebook, MySpace and Twitter is increasing at astonishing rates, especially this last one. Although Twitter still has a long way to go, I am really amazed by its growth rate. Along with the one-millionth word in English language – Web 2.0 – we obtained a decent tool, which can be used in a number of ways. But they also pose new challenges!

Brand new challenges

challengeAlong with the growing amount of social network sites and their rising population, developers are facing lots of new challenges. To make an application really social it needs a good social network API. Despite the development of a common one (OpenSocial), most applications use their own API. Developers will have to bear this in mind. The growth of Twitter in the early days also showed that performance is something to take good care of while developing a new application. Before you know, the application can become too successful. Last DDoS attacks on Twitter and Facebook caused massive downtimes. The issues of safety and availability are now strategic points – yet preventing such attacks is still very difficult. And since popularity of social networks is growing at such a high rate – there is no possibility to avoid challenges associated with the specifics of Social network portals, so better …

…Be Smart

Always select a good solution. If your application is to be used by loads of users – and therefore requires decent scalability – pick up a tool meant to be scalable. Social networks are excellent examples of the evolution of application development. Twitter was originally developed with Ruby on Rails but as soon as its’ population increased, it occurred that RoR is not scalable enough. As far as we know Twitter currently runs mainly on Scala. Another important thing is database optimization – let’s just say that your tweet is delivered to 10 thousands users, and then it generates another few thousands replies etc. Optimization of queries is crucial in that example as well as choosing a proper tool – programming language or framework. Considering all options before implementing the project can prevent problems experienced by Social networks like Twitter or nasza-klasa.pl. This is of a high importance because a re-implementation can be very time consuming and costly while it could be avoided.

Yet another factor

Social portals are gaining new members really fast and it is a fact that this needs specific application support. Scaling, caching – these phrases are of great importance when we are considering all of those sites. Yet – there is another factor: when we think of a social network as an incredibly fast IT news spreading medium with a great power of opinion making, we cannot deny the influence on application development. New trends in programming, new frameworks, new solutions – is there a better way of spreading them if not by social networks?

PHP development manager in GOYELLO, focusing on delivering high quality software with clean and easily maintainable code. Follows best programming practices and use the best Open Source solutions. Big fan of symfony framework.