Twitter and XMPP: Drinking from The Fire Hose
Last year, the folks over at Technorati approached us about building something unique to suit their needs regarding search. We created a special real-time feed of every single public Twitter update to be delivered over the open XMPP protocol. Despite delivery over a faster and cheaper technology, this entire public feed of Twitter updates is resource intensive—we had to be very careful about giving it out.Technorati no longer uses the feed. However, a few other companies have since approached Twitter and made arrangements with us to gain access. There are four services currently accessing our public timeline feed over XMPP: Twittervision, Zappos, FriendFeed, and Summize.
Dave Troy uses the feed to create Twittervision, an intriguing visual display of Twitter updates based on location. Zappos is parsing the feed for updates from its employees and FriendFeed only requires updates from people who use their service—we can be more efficient in serving these companies’ needs. Summize has greatly improved on Twitter’s Track feature by providing a valuable filtering service using our XMPP feed.
Our goal is to support as many applications, projects, mash-ups, and devices as possible so we'll continue to think about how best to do this. While the XMPP feed of the full Twitter Public Timeline is an amazing resource, drinking from the fire hose is not the best way to quench a thirst. With continued updates and refinement, our API will support most scenarios in a way that preserves overall system performance.
The Twitter API is a big part of our success and we will be stabilizing and improving it in the short term. The rate limit is currently set to 20 requests per hour but we’re working to bring it back to 70. Experimentation with XMPP is informing the future direction of our developer platform. Ultimately, our API will be updated and extended to support a wider variety of interesting projects by a great many talented developers.

7 Comments:
Zappos is also performing a community service of sorts and setting up pages that are not for employees. 2 examples: http://twitter.zappos.com/Columbus is a page that track keywords and people from Central Ohio and http://twitter.zappos.com/SWC is a page tracking keywords for startup weekend columbus.
Do you think you will ever allow additional developers access to xmpp streams that provide similar types of data as the zappos columbus page? ie: track plus x people, where x is very small, probably less than 50 in my case.
Hi Biz,
Besides employee tweets, we also use the firehose to track terms mentioned in arbitrary tweets. For our own purposes we track 'zappos' of course, but we also have other trackers set up for friends like this one for Columbus area twitter users or for mentions of Ruby. I'm not sure how that kind of tracking could be done via API calls, but if anyone can figure it out, it's you guys. Thanks!
Looking forward to a nice and open API. XMPP is preferable, but the REST method is sufficient in many cases. Hopefully, the re-architecturing is done soon and we have a better way to consume from the Twitter public feed.
Please continue keeping us in the loop.
I've often wondered how services like IWantSandy that (presumably) would get a metric goat-load of direct messages, deal with that sort of thing. I can easily imagine a DM-based service like Sandy or TWYE (TweetWhatYouEat) having more DMs that can easily be fetched via the REST API with tradition API-request limits. Is there a guide for this sort of thing somewhere? I've been toying with an idea that could potentially hit this limitation, but I don't want to end up being part of the greater problem :-).
IMHO XMPP is a great decision. But not only as a part of API for companies. It's a great idea think in XMPP as a backend for twitter. I record a podcast about this idea, but it's in my native language (Catalan, regional language of Catalonia-Spain).
If somebody is interested in talk about this idea, I can try to translate my podcast to enlish.
twitter bakend in XMPP
when will the 2-way gtalk bot feature be back?
@pawel,
It can indeed -- one needs only to write a custom jabber client, subscribe to the twitter bot, and read the messages for the relevant keywords.
Post a Comment
Links to this post:
Create a Link
<< Home