Social Networking (by )

Although I'm not a big fan of Facebook, I occasionally feel an urge to update my real social network: my FOAF profile at http://www.snell-pym.org.uk/alaric-foaf.rdf. I've not made that link clickable, to save people the horror of having their confused browser show them a pile of raw RDF. This time, since I've been reminded my somebody that my PGP identity has been a bit unmaintained, I've been putting my key out on keyservers, updating the identities attached to it, and putting signatures on my FOAF documents, then linking to them with the Web of Trust ontology so it's all linked properly in RDF. My PGP key ID is 7371086A.

The reason I'm not a big fan of facebook and other social network sites is that they're centralised. I have to give all my data to some third party and rely on them to keep their servers running! It's the same problem that most instant messaging systems, like MSN Messenger or whatever they call it these days (Live Something). I have to rely on the kindness of a third party to keep it going, and I have to trust them with my stuff.

Which is why I prefer FOAF and Jabber to social networking sites and MSN Messanger... although I still have accounts on both, because their broken centralised model forces me to! Centralised social networking sites and instant messaging apps are there because the creators gain some benefit from you using them, such as advertising revenue, so they want to force more and more people in by preventing you from interoperating with them from external systems; to talk to people on MSN Messenger, you need an MSN Messenger account yourself, and that's that.

FOAF and Jabber both work like email works. When you send an email, your mail server finds their mail server and sends the mail. There is no central "email system server" for the whole Internet. Each organisation (ISP, company, sufficiently nerdy individual like me) runs their own email server, and if that fails for whatever reason (eg, if an ISP goes bankrupt), then only email addresses hosted on that server disappear. Nothing can make the whole system stop, and there's no central choke point all the messages go through that is at risk of eavesdropping.

But if Microsoft decide to shut down MSN Messanger, then the whole system fails, there and then.

FOAF and Jabber both let you run your own server. Both, like email does, identify somebody based on the name of the server that hosts them, and then who they are on that server. That way, when you send a Jabber message to somebody, your Jabber server finds their Jabber server and sends the message, creating a large seamless global system out of a heap of entirely independent servers.

Jabber is great - I wish everybody used it. I'm alaric@warhead.org.uk in Jabber. If you want to use Jabber too, see the Jabber project site to find a client app you like and how to get an account on a free Jabber server, or contact me for an account on mine, unless you fancy running your own. Or use Google Talk, which uses Jabber under the hood, just going to show that you can use open standards and still create a branded seamless experience.

FOAF is a little less user-friendly, however. FOAF is really a file format for documenting the kind of information that you put into a social networking site; information about yourself, and information about your relationships with your friends. It's based on RDF, a standard file format for expressing information about things, so the same file can contain all sorts of different kinds of information beyond the core FOAF set; anybody can define an RDF vocabulary for information about people and then add statements using that vocabulary to their RDF document. Mine has, in addition to core FOAF properties like my name, statements about countries I've visited, where I live (approximately), my PGP key, and so on. Privacy - choosing who can see what - is handled by having a core public RDF document, then adding "See Also" links from it to other documents which are protected by passwords or other restrictions (any restriction you can enforce with HTTP, basically).

There's tools to help you build a FOAF document, but they're limited to only supporting vocabularies the tool was built for. And there's tools for displaying FOAF in a human-readable form - since when viewed directly it's just a bunch of code - such as FOAF Explorer (take a look at what it thinks of my FOAF for example), but again, it only knows about vocabularies it's been told how to support. Anything else, it guesses. The page is hardly attractive. Then there's tools that traverse the interconnected web of people's FOAF documents and examine the social graph, or find links to pictures other people have taken that they have claimed feature you, and so on.

But the problem is that RDF is static. It's just a file with information about me. It doesn't have all the fun and games of Facebook applications. There's no information in my RDF about whether I'm a zombie or a pirate. I could find or write a vocabulary for that, but that's not the point - the fun in the Facebook app games is the interactive element. RDF is just a file of information about me that I write; there are no toys in it, no messaging (although FOAF lets you link to other messaging systems like email and instant messaging), and so on. It's up to you to edit it, and applications that read it can only read it, or help you avoid having to write raw RDF by generating snippets for you to manually add to your FOAF document.

I think this should be easy to fix, though.

Pages: 1 2

No Comments

No comments yet.

RSS feed for comments on this post.

Leave a comment

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales