Peer-to-peer social networking

21 November, 2005

Social networking sites and functionalities are a means to an end. Personally, I want to use a social network to describe, filter and prioritise information in an aggregator (or, if you like, a “Digital Lifestyle Aggregator”).

Boris Mann has written Distributed Social Networking a nice speculative piece on the use of XMPP as a transport for passing XML-formatted data, quoting from and linking to Ton Zijlstra’s How to Get P2P Social Networking.

The key to successful networks, and online networks in particular is that they require an object to connect them. For example people are linked in Flickr by photos, in by bookmarks and in the real world by the school they went to, their job or their hobbies. This is why, in “pure” social networking sites like Orkut and Friendster, communities form; where people are linked directly to other people, they need to artificially recreate the bonds between them.

Ton specifcally says FOAF isn’t ready for this kind of thing I think, which is interesting. I don’t think that RDF is the panacea for all web ills, but I do think that FOAF has some strong and clear benefits, such as simple and flexible integration of different data sources, in particular ones which come from different social networking applications and which use different objects as their pivot point, which would make its use as the default import/export to and from social networking tools seem sensible. In particular what could be useful is the work that Dan Brickley and Leigh Dodds have been doing on SPARQL-over-XMPP which allows for querying RDF data stores (such as FOAF) using Jabber clients; of course, the tool doing querying and display doesn’t have to be a chat client, just a tool which uses XMPP as its communication protocol.

I’m not entirely sure what Ton’s peer-to-peer bit is all about. If you are to provide your network data only whilst you are online and using a particular app, as opposed to publishing your network on the web somewhere (with appropriate encryption), then anyone one else in the network trying to glean meaningful data from the network is going to have a tough time. Instead, the publishing of data and querying over XMPP seems like a more reasonable approach.

There is already a JEP for representing a user profile (JEP-0154) which stores all sorts of weird and wonderful things such as whether you’re a smoker or not (which seems a slightly bizarre thing to define – why this and not other things such as left/right-handed/ambidextrous?), but nothing, as far as I’ve seen for representing links between people (or XMPP resources), and I think this is correct. It would probably be a mistake to try and define this with a JEP, instead using another specialised format for the definition, but using XMPP for the transport (much as PubSub use Atom-over-XMPP).

See other posts tagged with general and all posts made in November 2005.


22 November, 2005 at 14:06

Hi Phil,

My piece is primarily about two things:

First I need/want to stay in control of my own data and information. It needs to be in one spot (or always synched automatically).

Second I need/want to be able to specify seamlessly the amount of access to info in accordance with the nature of a relationship and the context of the exchange.
(I may allow you to know all kinds of businessrelated stuff, but not personal, or only part of both etc.)

Peer to peer in my article does not neccessarily mean only available when I am online. It mainly means cutting out the centralized hub/data collection that most social networking stuff now has, where I have only limited control over it.

hope that clarifies.



22 November, 2005 at 14:15

Yes, many thanks. About two minutes after I hit “post” I thought ‘I wonder if he really meant decentralised instead of peer-to-peer?’, because of course p2p has implied connotations.

You’d be happy then, if any centralisation was on your own PC, instead of some third-party hub?

22 November, 2005 at 16:43

Yes, centralized on my own hub would be fine (and the info of others on their own space). E.g. I regard my blog as an on-line presence portal, giving access to “me”.

Shades of intimacy/trust would then determine what you see on my blog. Maybe it would be cool if I could write in a blogposting about work I do, and colleagues would be able to see the clients name, and the general public wouldn’t, in the same posting.

22 November, 2005 at 18:46

I see.

So would you have previously spent the time necessary to mark what kind of content was appropriate to what group? Do you think people would really do this? I can’t easily see how a heuristic could work it out for you and mask whatever it felt necessary.

The trend at the moment would be to publish blog postings targeted at different audiences, so the filtering is at the level of the post rather than the content, it would be good if this could be improved, but I can’t see an easy way to do this.

22 November, 2005 at 21:38

Hi Phil,

no I can’t see an easy way of recreating the flexible levels of trust we so easily build into our f2f conversations on-line. But I would like it to!

Maybe we are going about it the wrong way at this time. Taking the information as a startingpoint and then think of metadata to specify conditions for different people to see it. Maybe we should take the relationship as starting point and then think of ways of adding info to that.

Not sure if that makes any sense at all. Just daydreaming. Ran across a couple of guys the other day who demonstrated a way of storing info just by storing relationships and patterns. The actual info objects were not stored at all. Didn’t understand it very well yet, but it looked intriguing enough to think this might be a way forward.

26 November, 2005 at 16:08

Yes, I think that approach is certainly worth thinking about. Quite often these things are just a matter of perspective.

Joey g
31 December, 2008 at 14:21

This post is old. Are you still interseted in this?

07 January, 2009 at 10:53

Yes I am!