There has been an increasing buzz lately about building decentralized “social networks” on top of the identity layer OpenID offers. There are some tricky problems to solve in order to progress down this road, some of which I enumerated in an earlier entry, where I was decidedly more optimistic.
When most people think of social networks I guess the first thing they think of is the graph of relationships between people. That is, after all, what a social network is at its core. However, successful social networking sites tend to live or die based on the services they can build on top of that simple premise. Looking back at sites that have succeeded in one sense or another, I can think of two things that set them apart: privacy and aggregation.
The nice thing about having a centralized system is that you can enforce rules with a degree of certainty. You have all of the data, and so you're able to tightly control what goes where and who sees what. LiveJournal was probably the earliest example of this, providing the ability to set individual entries to be either public, “friends only”, limited to a certain friends group, or completely private. People seemed to feel more comfortable sharing the intimate details of their lives when they knew who was reading.
MySpace's privacy controls are a little more “coarse”: as far as I can tell, the only option is that your entire profile is either public or it is friends-only. Facebook just says that everything apart from your name and profile picture is private by default, and you can expose different information to different people based on network membership and whether they are a friend. OpenID seems like a great way to decentralize this, since people now have globally-applicable identifiers which can be used for access control. However, this all comes tumbling down as soon as aggregation enters the picture…
Aggregation is a concept that's familiar to most bloggers. In this sphere, it normally refers to sucking several RSS feeds into a single piece of software for more efficient reading. LiveJournal was doing aggregation before anyone was calling it that in the form of the “friends page”, which shows a reverse-chronological list of entries pulled from all of the journals on a user's friends list. This made it really easy to keep up with what your friends were doing, and because LiveJournal was running it all the entry privacy settings could be honoured. LiveJournal also now supports the inclusion of syndication feeds into the friends page, but if I add a feed from my hypothetical friend over at GreatestJournal I can't see any of the non-public entries.
I think that this is the crux of the decentralized social networking problem: privacy and aggregation together just don't work in a decentralized way at the moment. While running a personal aggregator on your own machine is a potential solution, that doesn't help me when I'm not at my own computer. Until we can reach a situation where I can have my friends' content delivered directly to my computer but retain the convenience of a webapp, I don't believe decentralized social networking of this sort is feasible.