this space intentionally left blank

August 10, 2009

Filed under: tech»activism

Is the Pushbutton Web Good for Activists?

The denial-of-service attack that took down several social networking sites (including Facebook, Twitter, and Livejournal) certainly seems to have caught some attention, especially after the revelation that the attack was primarily aimed at a political writer called "CYXYMU," which I assume makes more sense in Russian. Evgeny Morozov calls him the first digital refugee, and points out the very real danger that other digital activists could be silenced this way--not by direct attack, but by removal from social networks for terms-of-service violations (you know, for all the bandwidth they're "using").

It's in this environment that I've been thinking about PubSubHubbub, an HTTP/RSS-based push distribution system. Anil Dash calls it the start of the "Pushbutton web." Here's how it works, as far as I can tell:

  1. A content site publishes an RSS feed per usual, but includes in the metadata addresses of several "hub" sites that subscribers can use.
  2. After fetching the RSS for the first time, clients can send a message to one of the hubs asking to be notified of further updates via HTTP POST.
  3. Hubs take care of the dirty business of keeping up with feeds. Publishers can notify their hubs of new content by HTTP ping.
  4. When hubs are notified of new content by the publisher, they take care of sending it out to clients--thus distributing the publication bandwidth across many hubs, reducing load on the original content publisher, and reducing latency compared to polling models.
This is pretty cool stuff. At heart, it continues the trend of developing HTTP between servers as a high-level communication layer, and spreading the role of "servers" into clients to make them first-class citizens on the web, just as Opera's Unite was a system for creating a peer-to-peer web.

What interests me about all this is that it's potentially a really smart, high-level proxy/federation system, one that's built for the modern web, and that might have real implications for activists. Under PubSubHubbub, any given node in the distribution network can play multiple roles--a publisher or hub can also be a client, and vice versa. As this develops, it might be possible to build hubs that are capable of talking to each other to locate publisher feeds, thus adapting to outages or blocks--similar to the way that peer-to-peer protocols may share lists of working leaf nodes with each other upon connecting to the network for the first time. At the very least, it will be possible to enable realtime communication/distribution on a decentralized platform--one that's harder to block with a single rule, and can't necessarily be shut down by DOS attacks on the central distribution point.

Of course, right now, none of this is part of PubSubHubbub's plans. Right now, this is a technology for making sure that your shared items in Google Reader get pushed out to FriendFeed as fast as possible--thus fulfilling the golden rule of Web 2.0 technology: all the interesting stuff will be invented primarily to buff up the shiniest service (Twitter, Facebook, etc.) in the room. Indeed, this particular pushbutton protocol may never develop the way I'm hoping it will--and it probably doesn't solve the problem of DOS attacks entirely (seems like the original source is still vulnerable)--but it looks to me like the Internet zeitgeist is taking steps in the right direction. Potentially, that's good news for prospective digital refugees.

Future - Present - Past