Social Networking Sites


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Social Networking Sites

  1. 1. Social Networking Sites - Pradeep Kumar Silamkoti
  2. 2. Social Media Landscape
  3. 3. <ul><li>We define social network sites as web-based services that allow individuals to </li></ul><ul><li>1. Construct a public or semi-public profile within a bounded system, </li></ul><ul><li>2. Articulate a list of other users with whom they share a connection, and </li></ul><ul><li>3. View and traverse their list of connections and those made by others within the system </li></ul><ul><li>Contains specific components that allow people to: </li></ul><ul><ul><li>define an online profile (or persona) </li></ul></ul><ul><ul><li>list their connections (e.g., friends and colleagues) </li></ul></ul><ul><ul><li>receive notifications on the activities of those connections </li></ul></ul><ul><ul><li>participate in group or community activities </li></ul></ul><ul><ul><li>control permission, preference and privacy settings </li></ul></ul>Social Networking Sites: Definition
  4. 4. To orchestrate and manage these components, a social site application services layer is necessary <ul><li>A social network site is a web site that minimally includes the following capabilities: </li></ul><ul><li>Profiles </li></ul><ul><li>Social Graph </li></ul><ul><li>Participation Tools </li></ul><ul><li>Social Presence </li></ul><ul><li>Relation Controls </li></ul>
  5. 9. Serving <ul><li>LAMP technologies used </li></ul><ul><li>PHP </li></ul><ul><li>MySQL </li></ul><ul><li>Alternative PHP Cache (APC) </li></ul><ul><li>Three main server points </li></ul><ul><li>- Web </li></ul><ul><li>- Memcached </li></ul><ul><li> - MySQL </li></ul>
  6. 10. PHP <ul><li>APC is a free, open, and robust framework for caching and optimizing PHP intermediate code. Provides a significant interpreter performance. </li></ul><ul><li>Its goal is to provide a free, open, and robust framework for caching and optimizing PHP intermediate code. </li></ul><ul><li>Lazy loading </li></ul><ul><li>Cache Priming </li></ul><ul><li>Asynchronous event handling mechanism </li></ul>
  7. 11. Memcached <ul><li>Memcached is a high-performance distributed memory object caching system, generic in nature, but intended to use in speeding up dynamic web applications by alleviating data base load. </li></ul><ul><li>RAM is 165000 times faster than disk access </li></ul>
  8. 12. Thrift <ul><li>Thrift is a software framework for scalable cross-language services development. It combines a powerful software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl and Haskell. </li></ul><ul><li>Overview </li></ul><ul><li>Thrift allows you to define data types and service interfaces in a simple definition file . Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages. </li></ul><ul><li>Thrift is one of Facebook's core software engineering resources. It is used in various ways across many products, including: Search , Mobile , Posts , Notes , Feed , Platform . If you use the site, you've used Thrift. </li></ul>
  9. 13. Scribe <ul><li>Scribe is a server for aggregating log data streamed in real time from a large number of servers. </li></ul><ul><li>It is designed to be scalable, extensible without client-side modification, and robust to failure of the network or any specific machine. </li></ul><ul><li>Scribe is implemented as a thrift service using the non-blocking C++ server. The installation at facebook runs on thousands of machines and reliably delivers tens of billions of messages a day. </li></ul>
  10. 14. Faceboon – News feed page
  11. 16. Architecture – Facebook app
  12. 17. FBML & FQL <ul><li>Facebook Markup Language ( FBML ) enables you to build full Facebook Platform applications that deeply integrate into a user's Facebook experience. You can hook into several Facebook integration points, including the profile, profile actions, Facebook canvas, News Feed and Mini-Feed. </li></ul><ul><li>Facebook Query Language ( FQL) allows you to use a SQL-style interface to more easily query the same Facebook social data that you can access through other Facebook API methods (assuming your application has access!). </li></ul>
  13. 18. Facebook Connect <ul><li>Facebook Connect is a powerful set of APIs for developers that lets users bring their identity and connections everywhere. Developers can access a user's: </li></ul><ul><li>Identity: name, photos, events, and more. </li></ul><ul><li>Social Graph: friends and connections. </li></ul><ul><li>Stream: activity, distribution, and integration points within Facebook, like stream stories and Publishers. </li></ul>
  14. 19. Facebook connect “ Google AdWords sit between queries and results, but Facebook sits between people and their friends. That’s where the money in Facebook Connect is. “
  15. 20. Thank you