I (along with a lot of other people) was curious about Diaspora when it was first announced, though I can’t say that I’ve been too excited about its initial release. (Incidentally, feel free to add me if you’re already on Diaspora, and I also have invites available if people want them; I don’t currently plan to check the site at all frequently, however.) It seems to focus more on restricting on whom you publish different updates to than anything else; I don’t want to minimize the importance of that, but I personally am not very worried about restricting my updates, and to the extent that I’m interested in selectively publishing my updates, I’m more interested in having that as an option for readers to chose than one that publishers choose. (I also far far prefer Twitter’s asymmetric following model to the symmetric one that Facebook uses and Diaspora copied.)
To me, the most interesting aspect of the project as initially announced was its decentralized aspect. That seems to have been largely a failure at the start: it was possible to get accounts on different nodes, but the early buzz seemed to be that they didn’t all work equally well, and all the people I’m following (all four of them) are on the same node as myself. I don’t want to second guess Diaspora’s apparent choice to deemphasize the decentralized aspect of the project, but personally I would be more interested in its possibilities if aspects weren’t there but if people were spread across hundreds of nodes, and if it were easy, performant, and secure to run your own server instance. Hopefully that will come, though, and that probably wouldn’t make any difference at all from a social point of view, so I guess I shouldn’t worry too much about that. And I certainly don’t want to write off Diaspora: it seems to still be getting a healthy stream of commits, which is great.
Anyways, enough about Diaspora: what do I want social network publishing to be like? My current model is to do all my posting on Twitter, with that syndicated to Facebook. That has some good aspects: my attention isn’t spread, I feel at home in my Twitter feed but I also appreciate the comment threads that occasionally pop up on Facebook, I have a social graph available for Facebook game purposes. But, of course, it also some bad aspects: it gives too much control to Twitter (I don’t even have an archive of my own posts!), Facebook is more of a second-class citizen than I’d like.
So: what can we do about this? One computer science reflex is to solve problems by adding an extra layer of indirection, and that doesn’t sound like a crazy response to the current power that Twitter has over my publishing. (In fact, I’d vaguely hoped at one point that maybe I’d switch to writing on Diaspora, and syndicating from there to both Twitter and Facebook.) The problem with that approach, though, is that you need to make sure that you don’t lose the current benefits of those sites: Twitter isn’t publishing, it’s a conversation. So you’d want to pull in conversations from Twitter and Facebook as well, presenting you with a merged feed (including detecting duplicates from other people who are also syndicating). (Incidentally, one aspect of 龍が如く for Twitter that I really liked was that, when showing you a tweet that was a reply, it automatically included the replied-to tweet as well: yay for increased visibility into conversations.) And you’d want to combine all of that with a searchable archive: I still find it kind of amazing that there’s no way to search your Twitter feed, to pull up past tweets that you’ve read about a topic. (You could further extend that archive functionality, e.g. saving the target for shortened links.) Eventually, you’d want to support direct syndication between instances of this mythical platform, to avoid the need to go through a third party at all. (And exporting a social graph for non-conversational purposes, e.g. games, is important!)
And then there’s the problem of the platform owners. Twitter has a nice and flexible API, but they’ve recently come down hard against third-party clients, and the dickbar debacle has left me with a bad feeling. I’m embarrassed to say, given my previous employment, that I don’t even know what Facebook’s API is like for reading the feed: I assume it has one, except that, if it does, why isn’t there a better iPhone client out there, a Tweetie analogue? (There probably is, it’s doubtless just my ignorance showing.)
My first reaction is that the best place to start attacking something like this would be with the archive aspects. The fact that I don’t have a record of my own microblogging bothers me (though, honestly, less than I would have expected a few years ago: I’m comfortable with the ephemeral nature of my tweets); and if we could combine that with an archive of conversations, so much the better. That’s a concrete task that would force the implementor to confront with the realities of the data; hopefully, adding publishing on top of that wouldn’t be difficult.
Though the problem with taking that kind of data-centric point of view: where is it stored? I depend on having Twitter access from all sorts of places; would I be comfortable adding a layer of server indirection to have access to that? (And that’s just what would be necessary to make clients possible: actually writing them is a whole other kettle of fish!) If I don’t want to have a persistent server, would I be comfortable having my iPhone as the trusted repository for this data?
Thoughts? I’m not seriously proposing this as a project that I’m going to launch into—I have a job keeping me happily busy, after all! And certainly there are way too many social network ideas floating out there. But there is something wrong with social network publishing as it currently stands; I’d like to better understand how I’d like that world to look.
This post has not been revised since publication.