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 unit of discussion was an article. Not a two-line throwaway
comment or a single bit of "me likes this" information. When you
read something on Usenet that you felt strongly enough to reply to,
you hit 'r', you got the scary warning about "hundreds if not
thousands of dollars", and it dumped you in a full screen text
editor where you could compose your pearl of wisdom. Sure, so you
could alternatively compose your "ME TOO!", but it wasn't a
teeny text widget which practically demands the latter response: the
affordances were there for writing something with meat
- It was decentralised. No capricious site owner could take your
comment down because someone might find it offensive, or ban all
discussion of certain topics, or refuse to allow you to post links
to other places, or even that he was going to pull the plug
completely and delete all your words. You might be reading this and
Godfrey vs Demon
and you'd be entirely correct that it wasn't completely uncensored
in practice - nor, I contend, should it have been - but there was at
least a bit more effort involved in getting a post removed than
clicking the 'I am offended by this picture of a breast-feeding
woman' button, and that made potential complainants think a bit more
carefully about whether it was worth it
- It had user interfaces that didn't get in the way. Really. I could
sit in front of my computer for hours pressing only the space bar
(maybe alternating with the 'n' key in less interesting groups) and
it would keep the content coming. (And I did. I would blame my
degree class on Usenet, if it weren't that the time I spent
fiddling with Linux
was in itself sufficient to leave approximately 0 time for studying. But i digress.)
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.
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
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.
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
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
How do we turn that into a distributed resilient blah system like Usenet?
The key bit of
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:
- we care about content and conversation - I'm happy to let Facebook
and Twitter corner the market in ephemera: this is for keepers
- protocols not platforms - we interoperate on equal terms with
anything that speaks Atompub (and intend to provide adaptors for RSS
or Facebook or scraped content or even an email-to-pluto gateway) -
all the other authentication and distribution stuff is strictly