diary at Telent Netowrks

Social notworking#

Sun, 18 Sep 2011 21:36:00 +0000

After a bit over a month using Google Plus (with admittedly decreasing enthusiasm over the course of that time) I have no firm conclusions about what it's good for, except that it's incredibly good at reminding me how much I miss Usenet.

I could compare it with the other networks that people consider it "competition" for: it doesn't replace Facebook - for me anyway - because the whole world isn't on it, and that means I can't use it to stay in touch with friends and family. It doesn't replace Twitter as the the lack of a message length limit means it's useless for epigrams (which I like) and not much cop for status updates either (which I can live without) - though it does work as "source of interesting links" which in my opinion is the third arm of Twitter utility. And Google will, probably, be disappointed to learn that it doesn't replace LinkedIn because despite the best efforts of the Real Names policy enforcers, it still isn't quite boring enough. Yet, anyway.

But that's enough about Google+, what about Usenet?

The reasons it's dead are well-rehearsed, and boil down to this: it couldn't cope with universal access. It was built back in the days when people had access through their institutions or employers, and for the most part knew they could lose it by acting like jerks - or at least by acting like jerks consistently enough and outrageously enough. Come the personal internet revolution - the Endless September - it had no protection against or meaningful sanctions for spammers and trolls, and so blogs/web forums sucked away most of the people who wanted to just talk, leaving behind people who were by and large too much concerned with the minutiae of meta and much less enthused about the actual posting of content.

But it did do stuff that nobody else has replicated since.

Other people:

Pluto#

Mon, 26 Sep 2011 21:19:16 +0000

My "previous entry":/social-notworking was not just a retro whinge about today's centralised and balkanised Internet, but also a run up to a description of how things could be different. My efforts on and off over the last few weeks to make that difference have recently been blocked by too-much-$DAYJOB, so maybe this is a good time to stop coding and talk about it a bit.

When I was first playing around with the idea of a distributed social network my focus was on duplicating the interesting bits of Facebook, and one of the reasons I concluded it wasn't really ever worth pursuing was that Facebook already exists and nobody (to a first approximation) needs an empty duplicate of it. If you want a network where you can tell your friends what you had for breakfast and post cat videos, you want it to be the network that your friends are on.

But in the course of thinking about how to implement it and reading about Atompub , I realised that it showed the way to something subtly different. And when I thought about that a bit more I realised I'd reinvented the blog aggregator. Um. But this is the threaded blog aggregator, which is better.

The Embrace

Well, the logic is unassailable: there are already lots of people on the internet publishing their thoughts using Atom (or its gelatinous structural isomorph RSS): what we need is an app that sucks all their posts, sorts them into categories (which we are calling "channels"), and allows the user to post his own articles (either ab initio or in reply to those they read) into the same channels. You can notify the people you're replying to by sending them a copy of your reply (as Atom POST to their published feed url, falling back to Trackback or Pingback or "Slingback"://www.elegantfootwear.co.uk/slingbackshoes.html or Stickleback111?ie=UTF8&qid=1317245237&sr=8-11 or whatever if that doesn't work), and you can incorporate their replies to your articles in the same way when they come in. Stick a UI on the front that presents a trn-style threaded view of all unread articles by all authors in the channel, et viola, you've just created a conversational view of stuff that's out there already. And by and large it's much better_ stuff than "paste this as your status and tag three people".

The Extension

How do we turn that into a distributed resilient blah system like Usenet?

The key bit of NNPP was that each node answers proxy requests on behalf of its neighbours, for articles it's loaded from its neighbours. So, if one of your usual feed sources is offline, you can fetch their articles from someone else who reads them. Combine that with PubSubHubbub and add some yet-to-be-decided peer-to-peer negotiation protocol so that a group of nodes can decide between themselves which will be the hub and which will subscribe to it.

This does make the issue of identity a bit more pressing: what's to stop node B altering articles published by A, or even introducing entirely new ones that purport to come from A? Crypto, that's what. I don't give a stuff whether the name you go by is what your government calls you, but I do want to know whether, when someone with your moniker is claiming to have written article N, it is the same someone who prevously wrote articles 1,2,3,... N-1. So, you get a PGP key (or some other asymmetric peer-to-peer public-key encryption system that doesn't depend on a centralised certification authority). Then if the key associated with your feed changes without prior notification, my client shows me a big red warning that says you probably aren't who you say you are. Key management by key continuity a.k.a "what ssh does". Perhaps once you've been posting stuff I like for a while I'll sign your key as well, and other people - at least, other people who like what I post - will be more likely to trust you as a result.

(NNPP also contains an outline sketch of a DNS protocol replacement. I presently think this is an optional extra, but that depends on how offensive you plan to be to deep-pocket corporates who will complain to your naming authority)

Spam? No magic solutions, I'm afraid, but the "trusted introducer" thing goes some way. If people that you don't already read send you articles that aren't signed by keys you have a trust relationship with, they pile up in your "slush pile" (the analogue of the G+ Incoming feed) until you decide to look at them - you might decide to apply spam filtering tools of the same kind as we use for email, or you might just decide to junk it sight unread.

h2. The End

It's called Pluto. Because Planet is "a feed aggregator application designed to collect posts from the weblogs of members of an Internet community and display them on a single page" (thank you, Wikipedia) and Pluto is a dwarf planet. Sometime soon, I hope, there will be code on Github.

Catchy summary points: