Joakim Nygård Archive Linked About

Making the Social Graph Machine Readable

1 Dec 2007

Aggregating content from a variety of sources through APIs is just a small part of the task of opening the web. While it allows me (the user) to present my online activities where I choose, it lacks the social relations.

There are currently hundreds if not thousands of takes on the social net and some of them take a more open approach than others. I recently re-discovered Plaxo, a site that first set out to keep your address book up to date and know includes a mashup timeline of user’s online events on other sites. My main gripe is that it requires registration to see the profiles. A site like SecondBrain is closer to what I want (and been building on this site): A public stream of activities that I’ve chosen to share with the world.

Though many sites allow for importing contacts from other sites like Gmail, LinkedIn, finding people you know is very much a manual and tedious process. How can the social relations be implemented in an open way re-using as much as possible of what is already out there and in a format that is readable by a computer?

Using the markup defined by XFN to add relationship information to hyperlinks, it is easy to see how one could build a parser to find these tags and build a social graph, one node at a time. Tagging urls as me, I could easily list urls to various sites I use and by doing so provide further data to the parser.

Aggregating personal data from your own sources and making it available in a standard format (RSS or some other XML/* structure) makes it possible for software (and users of it) to stay updated. Marking a link to a person (in the form of a website) as friend/family using the XFN markup would allow for certain types of data to be made available only to those relations. Best of all this could happen automatically. Brian Suda wrote an article on portable networks, touching on many of the same subjects.

Using OpenID could be a way of establishing a standardized (but distributed and open) identity online. In fact, it seems this is what ClaimID is all about, a site I’ve just discovered. Another very interesting project is the NoseRub protocol, an open source (MIT license) decentralized social network (also recently discovered and very similar in approach to my ideas). See also the wiki on open networking on the Microformats homepage.

I believe the combination of these existing technologies provides very promising tools of realizing the open social network, free of commercial interests and without giving away more control than absolutely necessary to make it all work. It would also seem that I either need to write a lot faster or seriously get involved in some of these projects as I discover tens of interesting resources, ideas and thoughts on the topic just be researching for these articles. Brilliant!