The Null Device

Brad Fitzpatrick on the Social Graph Problem

Brad Fitzpatrick, the founder of LiveJournal and architect of OpenID, has put forward his thoughts on the social graph problem — which is to say, the present state of affairs in which each social software application has its own social graph (of which user is connected to whom) which its users have to independently maintain — and how to go about aggregating these graphs into something less unwieldy:
Currently if you're a new site that needs the social graph (e.g. dopplr.com) to provide one fun & useful feature (e.g. where are your friends traveling and when?), then you face a much bigger problem then just implementing your main feature. You also have to have usernames, passwords (or hopefully you use OpenID instead), a way to invite friends, add/remove friends, and the list goes on. So generally you have to ask for email addresses too, requiring you to send out address verification emails, etc. Then lost username/password emails. etc, etc. If I had to declare the problem statement succinctly, it'd be: People are getting sick of registering and re-declaring their friends on every site., but also: Developing "Social Applications" is too much work.
Facebook's answer seems to be that the world should just all be Facebook apps. While Facebook is an amazing platform and has some amazing technology, there's a lot of hesitation in the developer / "Web 2.0" community about being slaves to Facebook, dependent on their continued goodwill, availability, future owners, not changing the rules, etc. That hesitation I think is well-founded. A centralized "owner" of the social graph is bad for the Internet.
Brad has written down a set of goals for a project to open up the social graph, in a way that allows sites to interoperate gracefully. This will include a common infrastructure that manages the social graph data, within an architecture which (much like OpenID) allows anyone to operate their own servers, and prevents any one entity from owning the graph. This will have an API, which returns all equivalent nodes of a node (i.e., given an identity on one service, the owner's identities on all other services registeded), the edges in and out of a node, the aggregated friends of a node across all services, and any missing friends (i.e., any pairs of nodes connected on one service but not another).

From the user's point of view, this will allow some fairly nifty magic to happen, saving users the hassle of registering on yet another social network site and rounding up their friends:

A user should then be able to log into a social application (e.g. dopplr.com) for the first time, ideally but not necessarily with OpenID, and be presented with a dialog like: "Hey, we see from public information elsewhere that you already have 28 friends already using dopplr, shown below with rationale about why we're recommending them (what usernames they are on other sites). Which do you want to be friends with here? Or click 'select-all'."
Brad acknowledges that there will be uncooperative sites, who, owning the lion's share of the social-networking sphere, don't see it in their interest to prioritise interoperating with other sites (no names are named, though I'm betting that it'll be a cold day in Hell before MySpace plays nice with something like this; after all, it may tip their users off to the existence of other sites and depress banner-ad impressions). Thus he proposes a browser add-on which implements the system on uncooperative sites, by means of screen-scraping.

What's happening with this proposal? so far, they have prototypes of the APIs, working on the data for 5 sites (LiveJournal and Vox are, not surprisingly, two of them), the start of a Firefox plug-in to drag MySpace, kicking and screaming, to the party, and the start of a website allowing users to register their points of presence in social networks; a limited beta is expected at some time in the future. There are apparently a lot of people from different organisations working on this, much as there were on the OpenID project, and a Google group has been set up for discussion of the details.

Note that this only covers social network (i.e., "x is a friend of y") data, and not the actual content (birthdays, photos, favourite movies/bands). There is another project named Move My Data, which aims to make the actual user data portable between accounts, though so far it seems to consist of a vague proposal.

There are no comments yet on "Brad Fitzpatrick on the Social Graph Problem"

Want to say something? Do so here.

Post pseudonymously

Display name:
URL:(optional)
To prove that you are not a bot, please enter the text in the image into the field below it.

Your Comment:

Please keep comments on topic and to the point. Inappropriate comments may be deleted.

Note that markup is stripped from comments; URLs will be automatically converted into links.