Twitter went down last week, and the world got very quiet. People didn’t know what do with themselves; they wanted to tweet the news that Twitter was down, but that was out of the question. Entire overheard conversations went unremarked upon, and mini-reviews of recent episodes of True Blood withered on the vine. I saw a funny Onion video that I was sure my followers would have appreciated and an outrageous Rush Limbaugh quote that demanded my impassioned response, but what could I do? Twitter was down for just a few hours—the service’s first major outage during its new era of ubiquity—and it felt strange. It’s not normal for an entire medium of communication to go offline; sure, sometimes Gmail is balky and your office phones won’t respond, but for everyone else, e-mail and the phones and the Web still work. When Twitter goes down, it’s down for everyone, everywhere.
Twitter is run by a single company in a single office building in San Francisco. When you send out a message, it flies about Twitter’s servers and then alights in all your Twitter pals’ cell phones and Tweetdecks. The system is fast and technologically simple, which helps explain its exponential growth.
But for Twitter, centralization is also a curse. In its early days, the site was known for its regular brokenness—its error-page logo, the “fail whale,” became a cultural shorthand for suckiness. Twitter went down so often because the idea behind Twitter—sending out short status updates to the world—became too popular for one company to handle.
This isn’t unusual with new technology. In its early days, the Web itself doubled in size every few months. But the Web didn’t buckle from overuse. That’s because it was distributed—the Web is just a protocol, a set of common rules that connect lots of different servers managed by lots of different companies around the world. Twitter’s frequent failures thus raise a question: Shouldn’t microblogging be distributed, too? How can a single company manage everyone’s updates—shouldn’t it be more like e-mail: managed by scores of different providers?
Dave Winer, the pioneering programmer and blogger who runs Scripting.com, has been arguing for months that Twitter is untenable in its current form. Winer likes Twitter—or, at least, he likes the idea of Twitter. Short status updates could well succeed e-mail as the dominant mode of wired communication. But having one company manage the entire enterprise is technically fragile, he argues. Twitter went down last week due to a distributed denial-of-service attack aimed at a single Twitter user—millions of zombie computers had been directed to cripple the user’s social-networking pages (apparently as part of ongoing cyberwarfare between Russian and Georgian hackers). The rest of us were collateral damage—Twitter went down for you because of a beef between people on the other side of the world. Does this make sense? Winer doesn’t think so. If Twitter worked more like e-mail or the Web—a system managed by different entities that were connected by common Web protocols—a hit like last week’s wouldn’t be crippling. A denial-of-service attack would have brought down some people’s status updates, but Twitter would still work for most of the world.
These aren’t just technical questions—they’re philosophical ones, too. Twitter apparently has plans to become the world’s largest online service, aiming to eventually connect a billion users. Let’s assume that’s possible. Is it desirable? A single online service responsible for one-sixth of the planet’s chatter would be a huge target for terrorists, governments, and anyone else. “What if prostitutes are operating on Twitter? What if a major act of terrorism is organized using Twitter? Would there be pressure to shut it down or greatly control what it’s used for?” Winer asks. If you think that’s far-fetched, Winer asks you to consider the atmosphere after 9/11, when some people were calling for the Web to be monitored or shut down. Nothing ever came of that because it’s too hard to shut down the Web or e-mail. “Twitter, which is fully centralized, would be easy for a government to control,” Winer writes.
Winer, one of the creators of RSS, proposes using Web syndication as a replacement for Twitter. His idea, called RSS Cloud, is technically complex, but it boils down to this: When you send out an update, it’ll go to a set of servers in the Web cloud. The servers will keep track of your subscribers and alert them that you’ve updated. The key difference between this system and Twitter is decentralization—not everyone’s updates are kept by the same company or on the same servers. The system would work much like RSS does now: You can subscribe to lots of different blogs or podcasts, but those feeds are actually hosted all over the Web; some of them may go offline from time to time, but the whole thing won’t collapse all at once.
Several different groups are working on technologies that complement Winer’s vision. (Here’s a good Wired article that describes several of them.) In an insightful blog post, Anil Dash recently described these technologies as creating what he calls the “Pushbutton Web.” The Web today is a “pull” medium—you (or your RSS reader) have to keep checking a site to see if it has published new content. That process is inefficient; it’s like looking out the window every five seconds to see if the paperboy has dropped off tomorrow’s issue. Pushbutton technologies—including PubSubHubbub (seriously, that’s its real name), an open protocol developed by programmers at Google—let sites notify you whenever they’ve been updated. This is like the paperboy ringing the doorbell when he’s left a new issue. Google recently built PubSubHubbub into Google Reader, so now when you click “Share” on a blog post that you like, Reader instantly notifies the other sites you’re connected to. You can share a post from Reader, and it’ll show up on your Friendfeed—and maybe on Facebook and Twitter—immediately.
Twitter hasn’t embraced these open protocols; its business interests lie in keeping everyone under the same roof. But as technologies like PubSubHubbub proliferate around the Web, with companies like Google, Facebook, and others embracing them, real-time Web updates will become the norm. It won’t be hard to build competitors to Twitter—systems that do as much as it does but whose decentralized design ensures that they’re not a single point of failure. Winer envisions these systems coming up alongside Twitter—when you post a status update, it could get sent to both Twitter and whatever decentralized, next-gen Twitter gets created. If these new systems take off, Twitter would be just one of many status-updating hubs—and if it went down, there’d be other servers to take its place.