The last pattern I am going to discuss is "Lightweight Models & Cost-Effective Scalability", and the application I have chosen as an example is Twitter!
The application is used to send short messages up to 140 characters out on the social network. It is also called a micro blogging service. We use Twitter now in our unit at QUT to communicate with each other and have discussions in class.
It was created back in 2006 by Jack Dorsey and several others at a podcasting company named Odeo, Inc. in South Park, San Francisco.
It has to date over 106 million accounts, and they are sending over 55 million tweets a day!
The amount of people using social networks are growing rapidly as each day goes by. Millions of people are using online services, from Facebook to Ebay. To handle the growth all these services has to have strategies and models to work out from. Here is where this weeks pattern comes in. “Doing more with less” is the new motto!
Twitter is a lightweight model, and the first sign is the simple method Twitter are registering new users. All you need is a nickname and email-address, no need for private details as for example full name and picture. By making the users just exchanging information with 140 characters it is easy to add content and by that easy for the users to add value to the site. Twitter do not have to have large software, it is easy to scale and for re-usability.
Follow Your Interests. Discover Your World. Twitter.
Twitter is created on open-source software. This means that Twitter has opened their API to developers so they can create third part software that Twitter contributes to. Here is a list. By this Twitter is cost effective, and they have only 175 employees.
The application is written in Scala and Ruby on Rails. Twitter stated in this article from 2009 that they are changing from Ruby on Rails to Scala. They started in the back end since this is where Ruby had problem dealing with the amount of tweets that where pouring in. But it looks that in 2011 they still use Ruby On Rails for the web interface. Someone correct me if I am wrong. Scala is a shortening for “scalable language”, signifying that it is designed to grow with the demands of its users.
One issue with Twitter is the lack of advertisements on the site. People have been wondering how they are making money. But TeachRadar revealed in 2010 that they where going to start with sponsored tweets. I have not seen it yet but now I am not a large user of Twitter, maybe someone else have?