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.

Social Graph


Published on

Published in: Technology
  • Login to see the comments

Social Graph

  1. 1. Social Network Portability Fun with the Social Graph Brad Fitzpatrick July 20, 2007 1
  2. 2. Problem Statement • more & more tools/sites need the Social Graph (e.g. • sick of inviting my friends • been there, done that. • use my existing public data, yo. • use the existing Social Graph! 2
  3. 3. What I Want • my friends to follow me on all sites • on signup, tell me which friends are already on $NEW_SITE, and keep track of new friends joining over time • let a thousand social networks bloom • no prob; each can do one thing well • the world not forced to be FaceBook apps 3
  4. 4. Social Graph • directed graph • many edge types, • different strengths of claims • many node types, • many nodes are equivalent. • some edges/nodes secret (but most public!) 4
  5. 5. Example (of data that’s already out there on the web, today....) 5
  6. 6. claim (email) is brad bradfitz is is 4caa1d6f.. (LJ) (vox) (sha1email) is claim bradfitz (pownce) bradfitz is (zooomr) claim bradfitz (twitter) 6
  7. 7. Already working (1)... • given a node, find all equivalent nodes • for each node, followed “claim” & “is” edges out, • for each node, follow “is” edges in, • until set of nodes stops growing 7
  8. 8. Already working (2)... • given a node, find equivalent nodes, • find all aggregate friends on all services, • expand friends’ equivalent nodes, • tell you missing friendship edges on all overlapping services • “here’s 17 vox & 6 LJ friends you’re missing, but friends with on other services...” 8
  9. 9. 9
  10. 10. brad (LJ) 9
  11. 11. brad (myspace) claim brad (LJ) is 4caa1d6f.. (sha1email) 9
  12. 12. brad (myspace) claim brad (LJ) is 4caa1d6f.. (sha1email) is bradfitz (Vox) 9
  13. 13. brad (myspace) claim brad (LJ) is 4caa1d6f.. (sha1email) is bradfitz (Vox) 9
  14. 14. brad whitaker friend (myspace) (LJ) claim brad (LJ) is 4caa1d6f.. (sha1email) is bradfitz (Vox) 9
  15. 15. brad whitaker is friend (myspace) (LJ) claim 87adbe.. brad (sha1email) (LJ) is is whitaker 4caa1d6f.. (sha1email) (Vox) claim is bradfitz whit692 (Vox) (myspace) 9
  16. 16. brad whitaker is friend (myspace) (LJ) claim 87adbe.. brad (sha1email) (LJ) is is missing whitaker 4caa1d6f.. (sha1email) (Vox) friends claim is bradfitz whit692 (Vox) (myspace) 9
  17. 17. Data I have... • All LJ nodes, edges (13M, 140M) • x 4 node types: username, lj username, sha1email, lj userid • All Vox nodes (100k/250k), edges • Twitter, Pownce, Zooomr (incl. openid logins), more in talks 10
  18. 18. Next Steps • Find co-hackers • Build user-visible website • never use the word “graph” or other geek talk • developer side w/ APIs • spiders, firefox/IE extensions/bookmarklets, • stats, alerts, bling, widgets (fun for non-geek users) • users => data => users => data 11
  19. 19. user-visible site 12
  20. 20. website flow • bootstrap: login with “something” supporting OpenID • LJ,Vox, AIM, Digg, Twitter, or custom openid server • “Glue” node (internal userid, no username) is vivified, with “is” link setup: glue is brad #1 (LJ) 13
  21. 21. claim/prove more accts glue is brad #1 (LJ) claim (email) claim claim claim bradfitz claim (vox) 500033387 (facebook) bradfitz bradfitz (twitter) (myspace) 14
  22. 22. claim/prove more accts glue is brad #1 (LJ) is (email) is is is is bradfitz (vox) 500033387 (facebook) bradfitz bradfitz (twitter) (myspace) 15
  23. 23. Utility whitaker is is whitaker 98abc72.. 7c55a24.. (LJ) (Vox) (sha1email) (sha1email) is is whitaker (glue) 16
  24. 24. Notes • on initial login, many “is” and “claim” links could be pre-filled from prior knowledge of “brad (LJ)” node’s relationships • upgrade “claim” to “is” with: • openid, confirmation email, scrape (verify widget/HTML comment insertion), facebook auth, yahoo auth, google auth, 17