Tuesday, May 18, 2010
Fading Mural, Dresden, 2010
I'm very interested to see where they're going. I don't think it would be impossible to mount a serious challenge to Facebook's dominance, especially if you're doing it as an open-source project. However, it's not enough just to be "not evil;" you also have to be good—and not just in the ethical sense.
Facebook's central political choice is one person—one identity. That, in my opinion, is a fatal flaw. We don't have just one identity. We have many. I do not relate to my wife the same way I relate to my boss, my sister, my friends, or my Zen group. If I can't make a distinction between them, I'm forced to only connect with all of them at the lowest common denominator—I can only share with any of them what I would share with all of them.
Diaspora should do the opposite. Instead of trying to out-Facebook Facebook, it should try to become an identity manager—something that lets you use the other tools out there on the Web, including Facebook, in a fine-grained way, so that you can easily control what you share with whom.
Here's how I'd like it to work.
First, I'd like a very easy-to-expand pool called "contacts." This would be analogous to Facebook's "friends"—it's just a connection that both connecting parties accept.
Second, I'd like to be able to easily sort my pool of contacts in to "channels." So, I could have, for example, "everybody," "intimates," "Zazen friends," "blogosphere," "business," "family," and "friends." I should be able to flag each of my contacts as belonging to one or more of these channels.
Third, I'd like to be able to register my various on-line identities to Diaspora, so that it would know, for example, that I have a Facebook account, a Flickr account, a LinkedIn account, and a number of email addresses. Then, I would be able to connect these channels to the various other social networking tools out there. So, for example, I could connect the "everybody" channel to Facebook, the "business" channel to LinkedIn, and "intimates" to email. Diaspora itself would naturally be one channel among the others.
I, and only I, would control this part of the transaction. My contacts would have no say over which channels I choose to talk to them. They would not even know what channels I have, other than the ones that they're seeing.
Now, when I wanted to publish something—a status update, a picture, whatever—I would pick the channel or channels to which I'm publishing it. My contacts would only see the update if I've flagged them with one of those channels.
Naturally, I would also want to control what I see from my contacts. Therefore, the events being published to my contacts, and read from these other services, would contain metadata that would let me do some filtering. So, for example, if one of my contacts spammed me with Limited Offer Act Now! over his "business" channel, but sent some highly interesting stuff over his "blogosphere" channel, I could block his "business" channel but keep his "blogosphere" one. The same goes for stuff read from Facebook, Twitter, Flickr, or whatever—I would still want to be able to block that incredibly annoying Mafia Wars and Farmville noise.
The technical ideas behind Diaspora seem solid enough. It will, however, stand or fall based on what it does. Facebook as a pretty huge head start at what it is. Diaspora shouldn't try to attack it face on. Instead, it should do what Facebook doesn't, and then gradually siphon away its users by serving us better—by letting us keep our different faces for different situations, and let us control what we share, with whom, and how.