Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

Twitter development process and technologies behind it.

Published in: Education
  • Be the first to comment

  • Be the first to like this


  1. 1. ‘One of the social app’ Amir Fazwan & Syed Syahmi
  2. 2. What is Twitter? • Twitter is an online social networking service that enables users to send and read short 140- character messages called "tweets". • Registered users can read and post tweets, but unregistered users can only read them. Users access Twitter through the website interface, SMS, or mobile device app. • Twitter, it wasn't clear what it was. They called it a social network, they called it microblogging, but it was hard to define, because it didn't replace anything.
  3. 3. History of Development • Born 3 years ago at podcasting company, Odeo Inc. in South Park, San Francisco. (2006) • SMS services to tell small groups what you are doing. • 1st version idea was web-based – as an internal service for Odeo employees. • Userbase was limited. • Original name, “twttr”. • Had admin page to see every user. • Random person - Private account were born. • Direct Message, verified account added later.
  4. 4. • launched to the public after some of Odeo Inc. dissolved. • Obvious Corp born as an incubator with Twttr. • Messages longer than 160 were split (like SMS). • Users may subscribe to other users' tweets – this is known as "following" and subscribers are known as "followers. • In addition, users can block those who have followed them.
  5. 5. SDLC – Iterative Model
  6. 6. • Requirements of the complete system are clearly defined and understood. • Major requirements must be defined; however, some functionalities or requested enhancements may evolve with time. • There is a time to the market constraint. • A new technology is being used and is being learnt by the development team while working on the project. • Resources with needed skill set are not available and are planned to be used on contract basis for specific iterations. • There are some high risk features and goals which may change in the future.
  7. 7. Technology - Tools Front Side Middle Layer/Backend Storing Data
  8. 8. Front Side Ruby on Rails Rendering Cache composition DB querying Synchronous inserts
  9. 9. Middle Layer/Backend • Scale its ever-growing traffic •Updated with latest tweets • Speed up dynamic web app by alleviating DB loads • Cache data & request at multiple levels Memcached • Page caching • Load balancing and reverse proxy Varnish • Both runs on JVM • Comet server (track large number of tweets) Scala & Java • Communicate Apache Thrift between different internal services
  10. 10. Storing Data • Primary storage of tweets • Collaborate with the upstream community MySQL • NoSQL database • To power services such as analytics & search Cassandra • Storage solution built on top of MySQL • Store relationships (follows etc) FlockDB