You are hereBlogs / bmann's blog / Twitter is Jabber
Twitter is Jabber
OK, I finally lost it when I read Dave Winer's post re: Twitter premium:
Jason Calacanis is known for stimulating interesting discussion. Today is no different.
![]()
He says he'd pay $100 a year for a Twitter that was always fast, almost always up, and had some additional features.
I sent Jason a private email which I'll now repeat here.
Just FYI, because of their API, you don't really need Ev and Biz to do that for you. A bunch of us could pool resources and set up a server of our own, and peer with Twitter's. If Twitter is down it would just queue up the messages, in the meantime, anyone who was on the premium system would see the messages immediately.
Look: forget Twitter. It has a bunch of users, that's about it. How to build twitter:
- Install Jabber server
- Install SMS gateway
- Done
That's about it. And it has a publish and subscribe architecture built in, rather than all these crazy desktop apps that constantly poll the Twitter mothership. That's it. It's simple.
"Peering with Twitter". WTH. Built into the XMPP protocol. It's a standard. Works with lots of other things already.
My only explanation for the Twitter craze is that North Americans are still enamored of anything that can do the tiniest bit of mobile integration. Yes, Twitter has managed to scale and spend many thousands of dollars paying for SMS gateways. Great! Maybe if they had built a front end on top of Jabber, they would have gotten there faster...
/me shakes head
Update: Dave links back and explains that the number of users that have adopted Twitter is important. So...yes, I agree, I mean, I help build community sites for a living. So why are we talking about building an ecosystem around a company? Jabber would allow everyone who wants to build a real coral reef...one that doesn't rely on body of a company in the middle.


XMPP doesn't subsume the 'track' feature in Twitter as far as I know. Track isn't currently working but will be popular when it is back on. I thought the point of XMPP was federation. How would the 'track' feature work in a federated model?
And would Twitter be where it is today if no one invested in it because no one wants to invest in something that can't maintain control of its users?
Of course not EVERYTHING that Twitter does is native XMPP. But lots of it is, and one could build web interfaces / systems that mirror some of the ways that XMPP work.
I actually think there are ways to do track / follow across federated systems. Friendfeed has "imaginary friends" -- in the same way, one could do unclaimed proxy users between systems to have content flow between each other.
Again, someone has to have a reason to build it this way. So, if several systems got large and decided that interoperability was an important feature, it could be done. Which might, in turn, get Twitter to implement the same thing.
Oh, and on your final point re: investment. It's not anyone's job except for Twitter itself to figure out its business model / get investment :P
"Look: forget Twitter. It has a bunch of users, that's about it."
That's exactly it. They have a bunch of users. This isn't a community site, this is a format war. Twitter vs. Pownce vs. Jaiku vs. whomever comes next.
As a community site developer, you're well aware of the difficulty in building a community from scratch. It's far, far, easier to build upon or improve an existing community.
Twitter is now finally more stable so this discussion kind of goes out the window...
I think you're missing some features in your hasty survey of Twitter. Twitter's an intersection of IM, SMS, and blogging - and I think you've left out the blogging bit. And, like fire needing heat / fuel / oxygen - Twitter needs all its bits.
I've played with Jabber / XMPP a bit. Read some specs, set up a few servers, built some bots and clients. I think I have a reasonable amount of understanding about it - but feel free to correct me where I go wrong from here.
Presence and messaging, some store-and-forward, chat rooms, server-side contact lists. That's some of Twitter's feature set - a little more than, actually. Add an SMS gateway, and you've got another. (Though, really, I barely ever use the SMS side of things personally.)
But, where in XMPP do I get persistent, web-addressable messages? Or public archives of emitted status? Or publically-visible cross talk? Or public-visible contact lists? Public-visible profiles?
It's the persistently archived and public-visible bits that I don't think XMPP "just" gives you. And those happen to be some of the more important bits of Twitter.
Also, I can use a web browser as a client to the Twitter service. You'd have to build a "web gateway" to XMPP to get that.
So, yeah, XMPP makes sense as an avenue for linking Twitter-like services together, but I don't think it gives you everything at the intersection of Twitter.
Luckily, writing the phrase "Twitter killer" or "Twitter sux0r" is a good way to great people to come over and comment. Even when that wasn't my intent :P
Yep. Absolutely, totally agree. Wouldn't it be great if Twitter had a Jabber "engine" at it's core, and layered all the goodness that is Twitter on top? And we could implement the geo location extension for XMPP just once, and it would work with Twitter, your phone, and anyone and anything else that used this exact same open standard.
While we're at it, I'd like a generic publish-subscribe infrastructure and some identity/presence thrown in so I don't have to re-sign up at every single site and decide who my friends are and can talk to me :P
Twitter is a great service that I wish had been built more natively right on top of XMPP.
What I think would be a hot "Twitter killer" (successor?) would be something self-hosted like WordPress or Drupal. I've been idly thinking about this since I first saw the site, so my ears perk up when I see discussion like this :)
I think XMPP would be excellent for communication for node-to-node and user-to-node. The user-to-user case works for a private IM back channel, but even there it might help to have a web-based Jabber client and maybe a custom XMPP server with an archival plugin tapping in.
Another thing I've been wondering is what limitations XMPP might introduce in deployment cost in a cheap PHP hosting world where WordPress, etal thrive? How hard is it to run your own XMPP server, or is it really necessary? (I'm spoiled because I've either always had root on my own dedicated / virtual server, or shared a server that had a Jabber server running.)
Along with XMPP, though, I think a few other federation options might be handy. Optionally CC'ing to an account on Twitter / Jaiku / iStalker / etc itself via the API to keep looped into an existing community - dirty, but handy. Also, polling RSS / Atom / JSON feeds to "pull" updates for a friend subscribed on the self-hosted node who's not in the XMPP loop.
In any case, I think XMPP is an excellent foundation for a network of self-hosted Twitter-esque nodes. I'm just wondering what else needs to be layered on and how.
My suspicion is, you're approaching this as if it's solely a technical problem.
It may well be true that it would be more technically elegant to do it your way. So? If the poster on the Twitter II thread is to be believed, you've been advocating Jabber for years. After that much time, the strong implication is it's never going to be widely adopted, no matter how technically elegant it may be.
If technical chops were the end-all and be-all in this business, we'd be talking about the holy war between NeXT and Be.
Maybe we should get another keg and see if we can build a better twitter at SHDH2.
It's beyond me that Twitter have not implemented premium SMS, or at least long-code SMS as a means of generating revenue. If they were to multiply the volume of incomming SMS by the revenue generated by premium SMS they could certainly bring their company back out of the red.
Dan
www.freebiesms.co.uk