Toward the end of my last post, I mentioned that I’d like to see App.net move toward a federated architecture. Broadly, what that means is that… users and devices would connect [and] talk to each other in some clever way to collectively maintain the appearance of a single unified social network.
The advantages are numerous and comparable to those of the web itself: no single point of failure, no concentration of power, no risk that the entire network will be sold to Facebook.
But does this work for a service like Twitter?
Let’s find out. Since every good blog post needs a list of three things, here’s a list of three constraints we’ve come to expect of our social timelines:
- Immediacy: if a post has been made by someone I follow, I can see it in my timeline right away (or close enough that I don’t notice the difference).
- Chronology: posts always appear in order by time posted.
- Monotonicity: timelines grow only from the top; older posts are never retroactively inserted.
The problem appears to be that no federated architecture can simultaneously satisfy all three of these conditions… Violating chronology is bad because it turns conversations into nonsense, but violating monotonicity means you can’t assume you’ve seen everything once you’ve read to the top of your timeline. Your client will have to maintain read/unread status for every item, and you’ll have to keep winding back in time to pick up things you missed. Which might be fine, but now we’re talking about something less like Twitter and more like email or RSS.
OK, so all of those options suck for conversations. But chronology is really only important within a conversation. So what if instead of replicating Twitter exactly, we shoot for a hierarchical, threaded model? The timeline would be a list of threads, and chronological order is preserved within each thread, but the threads themselves show up in arbitrary order. Oh, and you see a thread if you’re following the person who started it, I guess? Never mind, at least we’re getting somewhere! We’ve invented Usenet.
The moral of the story is that the qualities that make Twitter interesting — its mix of conversation, discovery, and one-to-many communication — are direct consequences of its centralized architecture. Without the centralization you can still have something interesting, but it’s a different thing.
I’d love to be proven wrong.
This (“Venomous Porridge”) is such a great website name! It is also a really excellent and fun article! I have thought similar things, which were discussed in the 69 comments that responded to the post. The preceding re-blogging is an excerpt, with selective emphasis of my own. Go read the entire thing on Porridge’s Tumblr if you are curious.
* I seem to have returned, somewhat… after doing even worse things to my CSS. I cycled through every one of Tumblr’s free themes the other night. You should try it some time! Plaid, Pink Ribbon, the one that looks like a postcard…