Social Network Technologies Dr. Harry Chen CMSC 491/691S February 6, 2008
Agenda History and Motivation Analyzing social networks Languages for describing social networks Programming API for building social networks Source: http://en.wikipedia.org/wiki/Image:Social-network.svg
Social Network sites What’s a Social Network site?
Let’s define “Social Network sites” A web site that allows individuals to  Construct a public or semi-public profile in a bounded system Articulate a list of other users with whom they share a connection View and traverse their list of connections and those made by other with the system Source:  Social Network Sites: Definition, History, and Scholarship , D. Boyd and N. B. Ellison  http://jcmc.indiana.edu/vol13/issue1/boyd.ellison.html
Why do people join Social Network sites? To social “ Since we can’t meet face-to-face, we may well just meet up online.” To share experience “ I have some great pictures from Tibet for you to see.” Being nosy  “ Who is that cute girl I saw in the gym?” Find contacts and make deals “ Maybe Bob can introduce me to that VC” Let your voice be heard “ My friends don’t’ listen to me. Maybe others will.” Do you have other reasons to join a social network?
Looking back into the past The idea of creating profiles and communicate with strangers are nothing new. Remember ICQ, IRC and MUD.  What do you think have caused the sudden explosion of Social Network sites? Source:  Social Network Sites: Definition, History, and Scholarship , D. Boyd and N. B. Ellison  http://jcmc.indiana.edu/vol13/issue1/boyd.ellison.html
What does it all mean?
Social Network Analysis The study of  relationships  between people, groups, organizations, computers, web sites, and other information and knowledge processing entities. Why do you think it’s important to study social relationships? Source: Social Network Analysis, A Brief Introduction http://www.orgnet.com/sna.html
Key concepts Social network as a graph People    Nodes Relationships    Edges What do we measure? Degree Closeness Betweenness Centralization Clustering coefficient Path length Radiality Source:  http://tinyurl.com/22dhsd   http://en.wikipedia.org/wiki/Social_network http://www.orgnet.com/sna.html
Example: Betweenness (1) Heather has less direct  connection than Diane. (2) Heather has a “sweeter” spot in the network because she connects two groups of people.  (3) Heather is a “single point of failure”. Source: http://www.orgnet.com/sna.html
Who is reading your profile? Both humans and machines Got it! Contact, school, favorites… HTML detected. But, what’s in the page? In order to help computer programs to better understand our profiles and social relationships, we need to express information in an explicit representation.
FOAF (Friend-Of-A-Friend) An ontology for describing people and the links between them (i.e., relationships). FOAF documents are typically defined in RDF (Resource Description Framework).
An Example: How FOAF works for me http://harry.hchen1.com http://harry.hchen1.com/foaf.rdf FOAF profile crawler
What can you say using FOAF? http://xmlns.com/foaf/spec/
FOAF toys Create your own FOAF profile http://www.ldodds.com/foaf/foaf-a-matic FOAF Explorer http://xml.mfd-consult.dk/foaf/explorer/
XFN (XHTML Friends Network) A way to represent human relationships using hyperlinks. It divides your social relationships into categories:  People who you are friend with. People you have physically met  People in your professional circles of life People relate to you geographically (live together, neighbor) Your family members People whom you have romantic relationship with Identity (ME) – identify web sites that you own XFN: http://gmpg.org/xfn/
XFN Examples Step 1: Use “rel” tag to define how you are related to this link. Step 2: Let the world know you an XFN page Read more: http://gmpg.org/xfn/join
Harnessing the power of Social Networks Why do you think web sites are so in love with social networks?  It’s all business! Two objectives: Grow user base : more visitors, more clicks Keep your eyeballs focused : the longer you stay on their pages means more revenues Q: How can they achieve these?
Social Network Innovation Approach 1: Provide services that solve an actual problem or add value to users’ Web experience Del.icio.us – social bookmark Flickr – share photos  MySpace – get musician’s work to the public Facebook – 24/7 connect in the cyber world. Approach 2: Build a platform and provide API Facebook API Google OpenSocial API and Social Graph API
Facebook API Facebook provide a  platform , something that others can customize (re-program). Most Web 2.0 sites, being applications, they can’t be re-programmed – e.g., flickr. Interface (API):  GET, POST HTTP calls to fetch/update user and application information Query (FQL):  SQL-like interface for accessing user and application information Markup (FBML):  markup language for adding your own applications into Facebook
Criticisms of Facebook API Facebook requires all communication and application interactions “route” through Facebook servers. No JavaScript, No DIV You are forced to learn a new language: FBML Performance suffers because you give up all applications to Facebook
Google’s OpenSocial API A set of common API for building social applications on the Web. Get access to  Profile information (user data) Friends information (social graph) Activities (things that happen) JavaScript and REST
Benefits of using OpenSocial API Developers have to learn one API to work with multiple social network sites. No need to learn a new language, if you already know JavaScript.  Many popular social network sites support OpenSocial API http://code.google.com/apis/opensocial/faq.html
Criticisms of OpenSocial API The idea only works if everyone support OpenSocial API. Facebook doesn’t support it, but it has a large user base.  Why new companies want to open up its information to other side? OpenSocial API was incomplete and problematic when it was first released. As reported by TechCrunch on November 5, 2007, OpenSocial was also quickly cracked. The total time to crack the OpenSocial-based iLike on Ning was just 20 minutes, according to TechCrunch, with the attacker being able add and remove songs on a user's playlist, and to look into information on their friends.  http://en.wikipedia.org/wiki/OpenSocial#Criticism
Google’s Social Graph API API that provide social network information about a Web user.  Given a Web user ID (email or URL), it can tell you Other Web user ID you are known to be associated with (e.g., different web site you own, profiles on different social networks) Relationship with other Web users.
OpenSocial vs Social Graph API Both support REST and provides JavaScript API Social Graph API doesn’t rely on pre-defined agreements between different social network sites. Social Graph rely on Google’s computing power to crawl and process public data on the Web and discover social relationships.
Social Graph API demo http:// code.google.com/apis/socialgraph/docs/examples.html
Criticisms of Social Network sites People spend too much time on SNs Privacy Do technology elites have the right to experiment and exploit the personal information of those who knows little about their information on the Web?
Summary Social Network sites allow people to create profiles and be virtually connected with family and friends.  Though many sites exists for business reasons, but they provide many value-added services and make our life more convenient.  FOAF and XFN are languages for describing profile and relationships on the Web Facebook API, OpenSocial API and Social Graph API changed the way we use and think of social network sites.
Homework Post at least 1 blog on …

Social Network Technologies

  • 1.
    Social Network TechnologiesDr. Harry Chen CMSC 491/691S February 6, 2008
  • 2.
    Agenda History andMotivation Analyzing social networks Languages for describing social networks Programming API for building social networks Source: http://en.wikipedia.org/wiki/Image:Social-network.svg
  • 3.
    Social Network sitesWhat’s a Social Network site?
  • 4.
    Let’s define “SocialNetwork sites” A web site that allows individuals to Construct a public or semi-public profile in a bounded system Articulate a list of other users with whom they share a connection View and traverse their list of connections and those made by other with the system Source: Social Network Sites: Definition, History, and Scholarship , D. Boyd and N. B. Ellison http://jcmc.indiana.edu/vol13/issue1/boyd.ellison.html
  • 5.
    Why do peoplejoin Social Network sites? To social “ Since we can’t meet face-to-face, we may well just meet up online.” To share experience “ I have some great pictures from Tibet for you to see.” Being nosy “ Who is that cute girl I saw in the gym?” Find contacts and make deals “ Maybe Bob can introduce me to that VC” Let your voice be heard “ My friends don’t’ listen to me. Maybe others will.” Do you have other reasons to join a social network?
  • 6.
    Looking back intothe past The idea of creating profiles and communicate with strangers are nothing new. Remember ICQ, IRC and MUD. What do you think have caused the sudden explosion of Social Network sites? Source: Social Network Sites: Definition, History, and Scholarship , D. Boyd and N. B. Ellison http://jcmc.indiana.edu/vol13/issue1/boyd.ellison.html
  • 7.
    What does itall mean?
  • 8.
    Social Network AnalysisThe study of relationships between people, groups, organizations, computers, web sites, and other information and knowledge processing entities. Why do you think it’s important to study social relationships? Source: Social Network Analysis, A Brief Introduction http://www.orgnet.com/sna.html
  • 9.
    Key concepts Socialnetwork as a graph People  Nodes Relationships  Edges What do we measure? Degree Closeness Betweenness Centralization Clustering coefficient Path length Radiality Source: http://tinyurl.com/22dhsd http://en.wikipedia.org/wiki/Social_network http://www.orgnet.com/sna.html
  • 10.
    Example: Betweenness (1)Heather has less direct connection than Diane. (2) Heather has a “sweeter” spot in the network because she connects two groups of people. (3) Heather is a “single point of failure”. Source: http://www.orgnet.com/sna.html
  • 11.
    Who is readingyour profile? Both humans and machines Got it! Contact, school, favorites… HTML detected. But, what’s in the page? In order to help computer programs to better understand our profiles and social relationships, we need to express information in an explicit representation.
  • 12.
    FOAF (Friend-Of-A-Friend) Anontology for describing people and the links between them (i.e., relationships). FOAF documents are typically defined in RDF (Resource Description Framework).
  • 13.
    An Example: HowFOAF works for me http://harry.hchen1.com http://harry.hchen1.com/foaf.rdf FOAF profile crawler
  • 14.
    What can yousay using FOAF? http://xmlns.com/foaf/spec/
  • 15.
    FOAF toys Createyour own FOAF profile http://www.ldodds.com/foaf/foaf-a-matic FOAF Explorer http://xml.mfd-consult.dk/foaf/explorer/
  • 16.
    XFN (XHTML FriendsNetwork) A way to represent human relationships using hyperlinks. It divides your social relationships into categories: People who you are friend with. People you have physically met People in your professional circles of life People relate to you geographically (live together, neighbor) Your family members People whom you have romantic relationship with Identity (ME) – identify web sites that you own XFN: http://gmpg.org/xfn/
  • 17.
    XFN Examples Step1: Use “rel” tag to define how you are related to this link. Step 2: Let the world know you an XFN page Read more: http://gmpg.org/xfn/join
  • 18.
    Harnessing the powerof Social Networks Why do you think web sites are so in love with social networks? It’s all business! Two objectives: Grow user base : more visitors, more clicks Keep your eyeballs focused : the longer you stay on their pages means more revenues Q: How can they achieve these?
  • 19.
    Social Network InnovationApproach 1: Provide services that solve an actual problem or add value to users’ Web experience Del.icio.us – social bookmark Flickr – share photos MySpace – get musician’s work to the public Facebook – 24/7 connect in the cyber world. Approach 2: Build a platform and provide API Facebook API Google OpenSocial API and Social Graph API
  • 20.
    Facebook API Facebookprovide a platform , something that others can customize (re-program). Most Web 2.0 sites, being applications, they can’t be re-programmed – e.g., flickr. Interface (API): GET, POST HTTP calls to fetch/update user and application information Query (FQL): SQL-like interface for accessing user and application information Markup (FBML): markup language for adding your own applications into Facebook
  • 21.
    Criticisms of FacebookAPI Facebook requires all communication and application interactions “route” through Facebook servers. No JavaScript, No DIV You are forced to learn a new language: FBML Performance suffers because you give up all applications to Facebook
  • 22.
    Google’s OpenSocial APIA set of common API for building social applications on the Web. Get access to Profile information (user data) Friends information (social graph) Activities (things that happen) JavaScript and REST
  • 23.
    Benefits of usingOpenSocial API Developers have to learn one API to work with multiple social network sites. No need to learn a new language, if you already know JavaScript. Many popular social network sites support OpenSocial API http://code.google.com/apis/opensocial/faq.html
  • 24.
    Criticisms of OpenSocialAPI The idea only works if everyone support OpenSocial API. Facebook doesn’t support it, but it has a large user base. Why new companies want to open up its information to other side? OpenSocial API was incomplete and problematic when it was first released. As reported by TechCrunch on November 5, 2007, OpenSocial was also quickly cracked. The total time to crack the OpenSocial-based iLike on Ning was just 20 minutes, according to TechCrunch, with the attacker being able add and remove songs on a user's playlist, and to look into information on their friends. http://en.wikipedia.org/wiki/OpenSocial#Criticism
  • 25.
    Google’s Social GraphAPI API that provide social network information about a Web user. Given a Web user ID (email or URL), it can tell you Other Web user ID you are known to be associated with (e.g., different web site you own, profiles on different social networks) Relationship with other Web users.
  • 26.
    OpenSocial vs SocialGraph API Both support REST and provides JavaScript API Social Graph API doesn’t rely on pre-defined agreements between different social network sites. Social Graph rely on Google’s computing power to crawl and process public data on the Web and discover social relationships.
  • 27.
    Social Graph APIdemo http:// code.google.com/apis/socialgraph/docs/examples.html
  • 28.
    Criticisms of SocialNetwork sites People spend too much time on SNs Privacy Do technology elites have the right to experiment and exploit the personal information of those who knows little about their information on the Web?
  • 29.
    Summary Social Networksites allow people to create profiles and be virtually connected with family and friends. Though many sites exists for business reasons, but they provide many value-added services and make our life more convenient. FOAF and XFN are languages for describing profile and relationships on the Web Facebook API, OpenSocial API and Social Graph API changed the way we use and think of social network sites.
  • 30.
    Homework Post atleast 1 blog on …