web.py

Dear all mobile twitter-ers, the construction of the new nest has been completed. After sweats and tears, we’ve set up a new gateway for birdnest at http://nest.onedd.net. I hope all 50x error we’ve encountered before now have gone. Please update your gateway url to this new nest.

But this new gateway comes at the cost of latency. Since this new birdnest is not hosted by Google App Engine anymore, there might be little drop in speed. However, you can still choose the old gateway as your desire. The app engine version is available but there’s no service for their anymore. Moreover, I’ve added more variations for some methods, namely friends timeline and direct message related.

Last but not least, @sugree told me he might releases a new jibjib with this new gateway url soon. Please keep an eye on his site.

Happy tweeting.

porting birdnest

18 May 2008

When I worked on Birdnest last week, I realized the simplicity and how powerful framework Google App Engine provided. Google provided framework makes my job in implementation the birdnest for AppEngine really easily. As you have seen, I implemented the working prototype of Birdnest within 3-4 hours after studied the web framework. With git and Google Code, the project went to usable state within 2 days.

Nevertheless, Birdnest is not responsive and reliable as it should be. It often returns error with 304 status code which mean Gateway timeout for some users. After some investigate, @sugree and I implied this happen because App Engine limits the outgoing urlfetch, HTTP related module we’ve used to call the Twitter API, request timeout to 5 seconds and Twitter servers are not responsive enough to reply within that duration. This causes Birdnest to be terminated and throw out 504 error to the clients.

Some of you might noticed the discussion between @sugree and I over twitter, we’re now setting up Birdnest somewhere outside the Google App Engine to solve the above problem. Of course, to minimize porting time, web.py is chosen to be target framework because of its similarity to Google webapp framework. Anyway, we have to change urlfetch to httplib which is more complex and a bit harder to use. Moreover, web.py doesn’t provide some functionality we’ve rely on App Engine. However, this is still considered easier than using php or any other language. Thanks to battery included.

The contruction of this new nest is planned to be completed and ready to use within Monday and the new gateway url will be announced thereafter.

Happy tweeting