Wednesday, February 20, 2008

Twitter and IRC: meet the twain

As Richard Giles has already blogged, the Australian Twitterati have been gathering for the past little bit at the #twitter channel on the Freenode IRC network. This caused some interesting discussion on today's edition of the 2Web Crew, starring Richard himself.

Like Richard, I can't see much conceptual difference between IRC and Twitter. Twitter has a 140 character limit, IRC has about a 410 character limit before it inserts linebreaks. Twitter has a gateway to SMS and IM, but there is no insurmountable technical hurdle for anyone who wanted to do either of those for IRC. Similarly, it would be trivial to write an IRC bot to convert links into tinyurl URLs. Twitter has canonical identity, but IRC bots can enforce unique nicks with password-protected logins.

Then you come to the advantages IRC has over Twitter. Twitter is only now catching up on the idea of channels, and it's even stealing the # prefix from IRC. Most importantly, IRC has already encountered and solved the scaling problem many times over, with multiple servers all feeding the same chat space and netsplits handling server failovers.

You could pretty much replicate Twitter in a distributed format by setting up a tightly-securified global network of IRC servers, writing some AJAX/Java/Flash/Silverlight/whatever to pump it through, and then putting a Web front end on it all. If architected correctly, the Web site wouldn't fall over nearly so much as Twitter because the bottleneck would be on the IRC end, which would naturally have many backups. Server outages would be handled as IRC netsplits, which would (hopefully) be invisible to the user. The whole thing could be handled without relational databases given some tricky work with flat text log files.

Does anyone have the smarts these days to do that and make it work? Or would they rather roll their own db and architecture and not have to rely on a clunky 90s-era technology? IRC is like a library of reliable code, IMO. It would be foolish to not at least consider retrofitting it for a new application which is, at its heart, just a redeployment of the original IRC concept with a few more bells and whistles. I wonder if the Dave Winers of this world, who have been agitating for a distributed Twitter alternative, are capable of delivering (or funding) this sort of system.


Post a Comment

Links to this post:

Create a Link

<< Home