How have blogs changed, and what's there to miss about them? fluffy just wrote some good thoughts that dovetail with a project I'd like to work on, so I thought I'd respond at a little more length.
The current impasse
Why does no one offer modern blogging with privacy and freedom? For some reason I think of this in terms of LiveJournal. I guess it was a local maximum for personal, social blogging at the time, so that's what feels missing.
At any rate, it seemed like somebody was going to distribute LiveJournal, but so far nobody has. While Dreamwidth starts to address LJ's specific problems, I don't expect they'll invest the necessary work and goodwill in retrofitting for deep federation. It's plenty enough a challenge keeping Dreamwidth as it already is growing. (I can't find anyone discussing building distributedness/federation into Dreamwidth, but maybe I'm using the wrong keywords.)
Private feeds were going to let us do this, as fluffy mentions, but then Google Reader killed the private feed. It doesn't work for them economically, since they have to deliver features with the network effects that, for example, Leapfrog doesn't have. You can't share content from private feeds, and private feeds don't make the world's information universally accessible. (You also can't provide effective AdSense ads for private content, I don't think.)
Yet because Google Reader covers the regular feed use cases so well, there's no room left for private feeds. Maybe this is part of the persistent cloudification of everything: once your reader is in the cloud, it's unmutual to have private content. The alternate scenario is Facebook, where you can have privacy by Facebook's rules as long as you stay in Facebook. That Facebook is only “in the cloud” when you want to bring content in shows that centralized services in the cloud don't want to give you privacy.
I'm disappointed too that these social features never spread beyond LiveJournal, since I stumbled into blogs when there was still more barnraising than snarkflaying. Vox was our own attempt to evolve into some of LiveJournal's behavior, and some people loved it, even if we did wrong by it in other ways—and of course it too was a gated community anyway. People have largely moved into other enclosed services, and the major ones happen not to be about sharing your thoughts with words. The personal journal is a different medium from the status stream, and even if the 80–19–1 rule applies, I'd rather spend time in a community of 19s and 1s who invest thoughtful sharing in each other.
Remember, friends: If you have an important idea to share, & only tweeted it instead of blogging it, it's not really on the record.
I expect some of you might feel the same way about the depersonalization of the written web. Being able to write to a tightly constrained audience when I wanted was the killer feature of LiveJournal for me, and though Facebook gives you that, it has both effectively banned the long post and locked up the entire network for one company.
I was talking to a friend today about why I'm not on Facebook:
Andy: Is there a specific reason you don't want to join facebook outside the usual suspects?
Mark: part of it is contrarianism
Andy: I have a bit of that.
Mark: i choose not to see value in it, even though i know i miss out on a lot of stuff for not being able to use groups or see events people post or w/e
Andy: Why?
Mark: yeah, that's not a reason is it eh he
Andy: Could you not just post links to your blog automatically through APIs so that people will friend you and have to read and participate in your own space?
Andy: Other people do that
Andy: I could understand (maybe) being in a competing space with Voxel at SixApart or whatevers
Andy: I can also understand just being a contrarian elitist
Mark: yeah
Mark: part of it is lingering from six apart still, i'm gonna have to see how that changes the equation
Mark: i don't trust facebook, and they're really good at private content, so in order to prevent even other people from posting private stuff to share to me, i have to not participate at all
Andy: I don't trust fb either but in that sense I don't participate in that space in any way that's a liability I guess
Mark: yeah, you can not trust it and still use it
Mark: but it's almost like the cliche about photographs taking part of your soul
Mark: to the extent that i invest myself in facebook, they own that part of me
Following this line of thinking, it's Facebook owning the network that provides the distrust; dealing with atomized interaction is more of a distaste.
There are some features of other social networks that align well with the goal of deep personal interaction, but nothing puts them all together into one system. If you don't want to read my stupid technocentric suggestion for fixing a social evolution that isn't technically a problem and so can't be “fixed,” by all means stop reading here.
A proposal (modest)
The project I'd like to do is the complement of Leapfrog—that is, the other half of the Giraffe project it came from. A lot of this I worked out with Martin when we were talking about Giraffe, but like Leapfrog, this is a scaled-back version that someone could build today. Let's take it as a straw man for how a private blog network would work.
This would be a little blogging app that lets you publish to privacy groups. People in your privacy groups have subscribed to your posts using PubSubHubbub, authenticated with OAuth 2/OpenID Connect, so when you make a private post, it's pushed out to those subscribers' own compatible blog apps. New content both public and private that you've subscribed to is then displayed in your blog's private dashboard.
The problem here, especially with regard to fluffy's complaints, is then you'll have yet another inbox for these private posts. A few things might ameliorate that:
- The original Giraffe design married the publisher to an excellent stream reader (Leapfrog), so there's probably still room to experiment toward a better-than-feedreader experience. Even though it's yet another inbox, it can be a pretty good inbox.
- Your dashboard can offer its own private feed view for you to put in your non-cloud reader. So if you're one of those people who can use private feeds, you at least have that option.
- Because this protocol would be a profile of PubSubHubbub and OpenID Connect, you can be on the network without using particular software. You could build your own dashboard to offer any reading experience you like, as long as it's a compatible PubSubHubbub subscriber.
As we found when planning Giraffe, acting from a reader app is a problem. You probably know that if you use a regular feed reader: you have to click through to favorite or comment. Pushing activity back upstream is what Salmon is for, and it's a complicated protocol for a complicated problem. For an expedient prototype, one might just punt and require you act from the originating site. However, since you do have an OAuth 2 token from completing the subscription, perhaps your site would push the appropriate Activity Streams activity upstream to an OAuth-protected endpoint, authenticating you that way. You wouldn't need Salmon's ability to pass through or prove to an intermediary, but the network shouldn't pass content around secondhand anyway, because it might be private. It's less secure, but also provides a lower hurdle for implementation.
In comparison
Among all the other folks thinking and working on these problems to build new social networks and stream readers now, why would a blog-based network be different enough to bother?
I started thinking again about this yesterday, when I got a link to Friendika from somewhere, and decided its technical focus at the expense of design meant I should check up on Diaspora. Diaspora and Friendika appear to be built around the activity stream, so they both look like Facebook clones. In the same way that Leapfrog focuses on content, a blog network would be about posts, not activity. (As in Leapfrog, photos are posts too.)
Diaspora's “aspects” are a good model for privacy groups—though I can't tell how they aren't like LiveJournal's—so that's encouraging. (If you're trying Diaspora too, I signed up on weLeft, so you can try adding me as markpasc@weleft.com.)
Facebook avoids activity burn-out by applying the network's feedback to decide items' interestingness, bumping interesting items up into your feed and leaving trivial items hidden. Perhaps the distributed blog network could too, presenting them as the party on the side of the full feed. That's a challenge to build, though, so I would imagine the first version would have a regular dumb stream. Without Facebook's vast network, the challenge at first is having enough content to keep checking the stream, anyway.
LiveJournal is the original point of reference for this idea, so to my mind this network would work quite a bit like LJ: your dashboard is your friends/reading page, and you post to a preselected group of your friends at a time. (I'd also like to keep/revive a lot of the fun things about LiveJournal, like pervasive, many avatar pictures.)
I guess the dashboard would also work a lot like Tumblr's, though with privacy (and a share-ier sharing model, if I can help it). I don't have a lot of experience with their dashboard, but after I inquired about dashboards, I moved all my Tumblr subscriptions from Google Reader into Tumblr, so maybe I'll have a better idea after using it for a while.
Are there any interesting points of comparison that I missed?
An idea?
I admit this is likely my technocentric missing the point. I hoped this would come out as more of a sympathetic lament. Could something like this help, even in a limited way? What would you be worried about and how would you change it?
What I really want is privacy built into existing publishing tools. I'd rather have one service where both my friends and followers can find me, but I can send the private stuff to just my friends. In other words, a lot like Flickr's model.
I'm just not sure that federation is the right solution for a set of people who want better privacy controls. There are people who want to converse with their friends and Facebook (or whatever) is right for them. Then there are people who want to to write privately, but probably don't care about having people follow them. For the subset of people who want to write long blog posts for their friends, I'm inclined to think most them won't want to set up their own service.
This is not to dissuade you from building a publishing platform with built-in federation. My dream is that every service supports Salmon (or whatever) and I can just publish where I want and have all of the responses appear in my service of choice.
In conclusion: I'd like to see a great blogging service that supports private posts and an open federation protocol.
Posted by: Matt Jacobs | 12/06/2010 at 09:01 PM
That was a pretty long response to some cantankerous curmudgeony. :) I will respond by rambling here.
Private RSS feeds are really a terrible hack that just kind of pushes the idea up a level anyway. You still need some sort of authentication mechanism that keeps things easy and secure. OpenID does fill that role pretty well but by the time it came along it was already too late.
The thing that always bothered me about RSS is that it's a strictly pull-based mechanism. I always wanted to see something more push-based, but then whenever I think about that, I always end up thinking, "Why invent something new when we could just use SMTP as the underlying transport?" Although really, for the best bet you need something that can act as both push and pull. Or, better yet, do it as a synchronization operation, although that runs into huge scaling problems very quickly. (Then again, so does a naively-implemented pull-based mechanism like RSS, especially when you get a hell of a lot of subscribers with broken agents that refresh all feeds every 15 minutes.)
Google has done some pretty interesting stuff with XMPP, in the meantime. They apparently use XMPP as the underlying push transport for Android sync and calendar publication, and it works quite well. Also, simple messaging protocols benefit from being pretty easy to parallelize and so on, with just a bit of simple dependency management to make sure that updates go out in the right order (and it could really just be something as trivial as "if we try to process a message whose dependencies aren't met, just resubmit it to the end of the queue").
I actually thought that Google had some REALLY good ideas with Wave. Unfortunately, they were too caught up in their single crappy implementation that was trying to do too much, badly, and only releasing it as a walled garden web app (instead of starting out with the federation protocol) pretty much killed it before it had a chance to get going.
Incidentally, I'd be fine with having "another inbox to check" if that one inbox could also act as a feed reader. I'm not particularly wedded to Google Reader, and the only things it does would be done better by some sort of distributed social network anyway. The one thing that Facebook does REALLY WELL is sharing items, and that's the only thing that Google Reader really brings to the table (and it does it so horribly that it pretty much might as well not even exist anyway).
Posted by: fluffy | 12/06/2010 at 09:15 PM
Of course, as long as there's multiple ways that people can identify themselves that conflict and lead to identity fragmentation, and no good way to migrate that identity between services, then there will always be problems. The fact that there's so many equally-valid ways that I can authenticate to TypePad just to post a comment (TypeKey, Facebook, Twitter, and a dozen or so different OpenID brokers who all want to be my one true OpenID broker) makes it pretty hard for me to keep control over my identity. I could either keep commenting with my TypeKey profile to maintain the continuity there, or I could try migrating everything to one particular OpenID key (which is using an OpenID server that I control), or I could use one of my other services' identities.
It's great that Dreamwidth is making it easy for people to join in on Dreamwidth by just using their LiveJournal OpenIDs, but when LJ shuts down or starts charging for OpenID authentication or whatever, then all the trust networks and comment histories they've built up there are ruined. Also, OpenID as implemented most places is kind of cumbersome and is really just a substitute for a password but still ends up creating yet another account everywhere, and one that's pretty much fixed to a single OpenID URL (and I really hate how that URL is what LJ/DW/etc. show as your username and link to as the profile page, but that's an implementation detail). At least with a traditional account tied to an email address you can generally change email addresses.
Posted by: fluffy | 12/07/2010 at 06:35 AM
Been ruminating a bit more about this (I mean in the past two days, not just the past decade), and I think part of the big issue here is we try to solve this by starting with protocols and hacking. The questions that have emerged for me, with some distance are:
I don't say these things to be a pessimist, but the use case I'd work towards initially would be the (existing!) ability to have password-protected blogs on TypePad and WordPress.com. What would it take to (say) exchange basic auth credentials between two sites that had the equivalent of low-tech .htaccess protection?
Because the Great Dream of federating all the old networks isn't working, and meanwhile the idea that anything could ever be private, yet shared, is slipping away.
I think the best thing that could happen right now to encourage long-form sharing, though, would be having tools made for the job. I've talked to folks like Kottke and Gruber and Dooce, and of course work with Gina and Waxy, and there just isn't a tool out there for people who want something modern, hackable, resilient, and optimized for an individual. The niceties could evolve out of it, but I'd love to merely have a platform that I enjoyed publishing my blog on.
Posted by: Anil Dash | 12/08/2010 at 08:43 AM
It would certainly be better to have privacy in existing tools, since the existing tools are already so good at everything else. I guess I'm looking at it from my new position outside: the most effective option for me to agitate for this is to demonstrate the value by building an alternative. If it has value, the existing services can join later once it provides something beyond hippie handholding with their competitors—and if they never see value, hey, I have my alternative. (If it never actually has value, well, that's information too.)
I agree the old idea of federating all those services isn't working, but that only disinclines me to work with those players. (Again, I guess I'm looking through my own lens at it.)
As for the twin questions of whether anyone wants it and if Facebook has condemned privacy to the dustbin, I only raise the idea because I think that I want it. Perhaps I'm hovering around that dustbin, inappropriately nostalgilizing LiveJournal, but I miss the private register it provided and don't quite see why we have to leave it behind.
Posted by: markpasc | 12/08/2010 at 11:53 AM