RFC: OpenTweets - Why is Microblogging centralized?
I'm thoroughly enjoying Twitter (follow me!) Apparently others are enjoying it also as there's a funny estimate that it's costing $14 billion in lost productivity (via a back of envelope calculation). There is about a million people on Twitter and maybe 60k adding each a month. Certainly it'll be blocked by most corporate firewalls soon for just this reason.
Twitter is also down ALL the time and it's been having weekly (daily?) scale problems for a YEAR, culminating in rumors that the development team is leaving Ruby on Rails that have been denied by Evan Williams (via a "Tweet," of course). However, that doesn't change the fact that Twitter is down so often there is a site dedicated to "Twitter Down Art" showcasing all the pictures that Twitter puts up when their sites are down. Google changes their art monthly and during holidays, but never goes down. Twitter goes down so often that they use that as an opportunity to change their art! So far, in this era of transparency, no one has explained in technical (or any) terms what the problem with Twitter is and folks are getting impatient. I think that it would be a great PR and Karmic move to just start a Twitter Technical Blog and share the crazy IT problem of the day. Surely someone is sleeping on a cot next to the TweetBoxes and has a story to tell.
There's another rumor that Twitter is worth about $150M. Seems to me that the second bubble hasn't popped. I'm certainly no business man, but we can build this better ourselves.
Twitter is centralized, which is insane (unless you're Google or Amazon or Live.com, etc, which are actually distributed in their own special way).
Twitter is IRC, it's IM, it's chatrooms, but ultimately it's just microblogging with a multi-format API. Here's the XML for my Twitter Account but it looks nicer as Atom.
But I already have a blog! Why use a service when I already host a blog? I hooked up Microsummaries to DasBlog two years ago. There's clearly precedent.
Two folks I know already have Twitter Backup Feeds. Both LazyCoder (backup twitstream) and Dave Winer (twitstream) have Backup Twitter Feeds. Dave takes it even farther and makes his twistream discoverable via a link in his blog:
<link rel="twitstream" href="http://twitter.scripting.com/daveRss.xml" />
With backups like these, who needs Twitter? There is already a very responsive group of Twitter client applications some of which, like twhirl cross-post to Pownce and Jaiku, two Twitter competitors. Russell Beattie has an idea for an Open Twitter Server called Peep using Jabber.
I propose that we distribute Twitter into generalized spec for microblogging and just use RSS or Jabber for the transport. I think the very-fast-rev'ing Twitter clients would support it.
Thoughts? Should Twitter be a service or should Microblogging be an Open Thing?
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
I've typed up some thoughts on the matter.
As for replies... seems like there are 2 ways to go... a limited set of semi-replicated servers whereby the same service was available across all of them and really it was a distributed type of deal but somewhat limited. The other way is to make it so that anyone can have their own server... it just means replies will be longer and more complex because they've got to have some routing information. If that were the case, I'd probably vote to split out the replies into a separate field (due to length)... but that would also provide a more reasonable way to reply to multiple folks.
Rob
If we exclude SMS, then yes, the whole thing looks simple enough to be made open.
But, contrasting to what you just said about lost productivity, do we want to promote more distractions and shorter, sometimes incoherent, messages?
I'd like to see some form of tagging, better than hashtags, where I could follow someone but exclude uninteresting messages like "my dog just barfed on the carpet".
Twitter, in the end, should just be a 'ping' service that is hit from your blog when you have a new microcontent post.
Assumeing you want to enable SMS services and have the shortest possible usernames, then it seems to me that easiest way would be to leave the SMS gateway and @username directory centralized, but de-centralize the rest of the system.
Let's not try to solve _every_ potential eventuality right now. Let us focus on one thing to start - a continued conversation with your Twitter community even if Twitter is down.
Rob
I mean if we need such a centralized service, it's been around for ~20 yrs... it's called IRC. WorldWide, Distributed; can do both short and long form messages, you cn right programs the respond to traffics (bots) that do things (like send SMSs)..
re: SMS, A dedicated SMS service by the way, starts at about US$1,000 per month to rent the SMS short code; then there are the fees you part to inject (send) and SMS into a carriers network, if I read the docs correctly. Not a cheap proposition.
wrt the bigger picture: I am not sure I get the compelling need to disinter-mediate twitter in the first place; not all centralized services are inhenrently evil or bad and Twitters issues may or may not be caused by its architecture (since they have not published their code or a detailed architecture spec we really have no way of knowing). All popular services have growing pains.
For all the same reasons we don't have to worry about any one webserver going down I agree the microblogging architecture needs to be made decentralized and into a open standard.
If the Web was designed around a Twitter like architecture we all would be serving our web pages and blogs served off Tim Berners-Lee’s server farm at CERN right now.
I wrote a blog post with my thoughts - "The future of Twitter and Microblogging in education is an open protocol" @ http://hgilchrist.wordpress.com/2008/05/04/the-future-of-microblogging-in-education-is-an-open-protocol/
If the plan is to use a version of the Twitter API it will need some work: while the general REST approach is good, the XML format (when XML is being used) needs a closer look, and the response formats need proper documentation (and cleaning up, and in some cases an open version would need to add the innovation of certain features not actually being purely decorative but non-functional...such as those that always return the same result irrespective of the underlying data).
If the API is up for grabs, AtomPub might be a good choice. Anything, ANYTHING rather than XML-RPC.
XEP-0060 is the PubSub extension to Jabber/XMPP
"Atom over XMPP" can be found at:
http://www.xmpp.org/internet-drafts/draft-saintandre-atompub-notify-06.html
bob wyman
Comments are closed.
I don't think we'd need a new spec. As you demonstrated, ATOM and RSS are perfectly capable of publishing this information. Essentially, all we'd need is client support for things like "@" replies and SMS support (that would be trickier).