

TwitTornado: Real-time Twitter using Tornado - garbowza
http://twittornado.com/

======
thingsilearned
I've open sourced the code here

<http://github.com/godavemon/TwitTornado>

A bit more about TwitTornado

<http://twittornado.com/about>

It was a fun and short project. I highly recommend Tornado to anyone needing a
push framework.

~~~
paul
You should be able to get near-instant updates by using Twitter's streaming
API: [http://apiwiki.twitter.com/Streaming-API-
Documentation#statu...](http://apiwiki.twitter.com/Streaming-API-
Documentation#statuses/filter)

I just updated Tornado's httpclient to include a streaming_callback parameter
which allows you to process data as it arrives (the param was somehow lost
when httpclient was extracted from the FriendFeed code).

To use it, just do something like:

    
    
        http_client.fetch("http://stream.twitter.com/1/statuses/filter.json?follow=IDS...,
           cb, streaming_callback=self._handle_data, auth_username=...)
    
        def _handle_data(self, data):
            lines = (self.prev_linepart + data).split("\n")
            self.prev_linepart = lines[-1]
            lines = lines[:-1]
            if not lines:
                return
    
            for t in lines:
                try:
                    tweet = tornado.escape.json_decode(t)

~~~
thingsilearned
Awesome! I'll try to integrate this soon.

------
bdr
I click "Sign in with Twitter", give it my u/p and click "Allow", then it
takes me back to the exact same starting page ("Sign in with Twitter").

~~~
callmeed
Yeah, same here

------
mcxx
Is it only me or it doesn't work?

~~~
thingsilearned
Twitter seems to be pretty dodgy at the moment with the increased # of
requests going to it. Its giving 503's. Refreshing a few times (brute force!)
eventually gets you through.

------
siong1987
"There is no need to refresh. Your stream is automatically updated with the
other non-TwitTornado tweets in 30 second intervals."

30 seconds interval? So, it is "near-realtime". Anyway, you have a really nice
product up there.

~~~
garbowza
Tweets from other TwitTornado users are in real time (via Tornado). Tweets
from non-TwitTornado users are polled on the interval.

------
ivankirigin
I'd love to see this built own. A live-updating, clean, and light weight web
based twitter client doesn't exist. I'd subscribe for a few bucks a month to
use it.

~~~
xoai
This's exactly what I want. I also built a web based one with PHP but the
performance is not good enough for real time.

------
genieyclo
Hmm, I'm getting a 502 Bad Gateway error from nginx

------
Raphael
The throbber going constantly is annoying.

~~~
thingsilearned
Agreed, though that's only for certain browsers. Hopefully either those
browsers fix it or some hack around it is established. What browser are you
using?

Until getting any push/real-time features is going to come with that.

~~~
jacobolus
Many hacks around it are established. Take a look at the Orbited project,
<http://orbited.org/>, or come talk to us in IRC (in #orbited on freenode) if
you want help figuring out how to avoid the UI side-effects.

