fun with the social graph

24
Social Network Portability Fun with the Social Graph http://bradfitz.com/social-graph-problem/ Brad Fitzpatrick July 20, 2007 1

Upload: nguyenxuyen

Post on 08-Dec-2016

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Fun with the Social Graph

Social Network PortabilityFun with the Social Graph

http://bradfitz.com/social-graph-problem/

Brad FitzpatrickJuly 20, 2007

1

Page 2: Fun with the Social Graph

Problem Statement• more & more tools/sites need the Social

Graph (e.g. dopplr.com)

• sick of inviting my friends

• been there, done that.

• use my existing public data, yo.

• use the existing Social Graph!

2

Page 3: Fun with the Social Graph

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

Page 4: Fun with the Social Graph

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

Page 5: Fun with the Social Graph

Example

(of data that’s already out there on the web, today....)

5

Page 6: Fun with the Social Graph

bradfitz(vox)

brad(LJ) is 4caa1d6f..

(sha1email)is

bradfitz.com

claim

bradfitz(zooomr)is

bradfitz(pownce)

is

bradfitz(twitter)

claim

[email protected](email)

isclaim

6

Page 7: Fun with the Social Graph

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

Page 8: Fun with the Social Graph

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

Page 9: Fun with the Social Graph

9

Page 10: Fun with the Social Graph

brad(LJ)

9

Page 11: Fun with the Social Graph

brad(LJ)

is

4caa1d6f..(sha1email)

brad(myspace)

claim

9

Page 12: Fun with the Social Graph

brad(LJ)

bradfitz(Vox)

is

is

4caa1d6f..(sha1email)

brad(myspace)

claim

9

Page 13: Fun with the Social Graph

brad(LJ)

bradfitz(Vox)

is

is

4caa1d6f..(sha1email)

brad(myspace)

claim

9

Page 14: Fun with the Social Graph

brad(LJ)

bradfitz(Vox)

is

is

4caa1d6f..(sha1email)

brad(myspace)

claimwhitaker

(LJ)friend

9

Page 15: Fun with the Social Graph

brad(LJ)

bradfitz(Vox)

is

is

4caa1d6f..(sha1email)

brad(myspace)

claimis

87adbe..(sha1email)

is

claimwhit692

(myspace)

whitaker(Vox)

whitaker(LJ)friend

9

Page 16: Fun with the Social Graph

brad(LJ)

bradfitz(Vox)

is

is

4caa1d6f..(sha1email)

brad(myspace)

claimis

87adbe..(sha1email)

is

claimwhit692

(myspace)

whitaker(Vox)

whitaker(LJ)friend

missingfriends

9

Page 17: Fun with the Social Graph

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

Page 18: Fun with the Social Graph

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

Page 19: Fun with the Social Graph

user-visible site

12

Page 20: Fun with the Social Graph

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#1

is brad(LJ)

13

Page 21: Fun with the Social Graph

claim/prove more acctsglue#1

is brad(LJ)

bradfitz(vox)

claim

bradfitz(twitter)

claimclaim

bradfitz(myspace)

500033387(facebook)

claim

[email protected](email)

claim

14

Page 22: Fun with the Social Graph

claim/prove more acctsglue#1

is brad(LJ)

bradfitz(vox)

bradfitz(twitter)

bradfitz(myspace)

500033387(facebook)

[email protected](email)

is

isis is

is

15

Page 23: Fun with the Social Graph

Utilitywhitaker

(LJ)is 98abc72..

(sha1email)whitaker

(Vox)is7c55a24..

(sha1email)

whitaker(glue)

is is

16

Page 24: Fun with the Social Graph

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