Tuesday, January 13, 2009

TweetBacks by Dan Zarrella is flawed

Dan Zarrella has been hard at work with a service called TweetBacks. Essentially, it searches the Twitter public timeline for the URL of the page that it is installed on. Based on the amount of chatter on the web, this product has proved to be very popular.

There are currently two ways that you can use his implementation; One is a hosted version and the other is a non-hosted version as a word-press plugin.

Both versions are flawed.

Hosted version - I'll be blunt. I don't see the logic in making this a hosted service. For one, his infrastructure costs escalate as the popularity of the tool increases. However, if he wants to spend the money, more power to him. But this is not where the issue lies. The real issue with this, is that Dan has created a single point that can be a bottle neck to hundreds, and as the service grows, thousands of blogs. And as I write this, users of the hosted version are reporting that it significantly slows down page loads on their blogs. Apparently demand for the service is growing faster than he can scale his hosting infrastructure. Coming from a strong systems engineering background, it is my opinion, that unless you must absolutely keep something central, then you should always look at methods for distributing application load.

Now, there has been alot of chatter about the page load issues on Dan's blog, and Dan has responded with a second version that users can self-host. Kudos to Dan for listening to his readers and responding. However, I think he missed the mark in his response. His new version doesn't use any javascript in implementation. It is a pure PHP solution.

What's the problem with that?

Well, the problem lies with rate limiting on the Twitter API. According to the Twitter API docs, requests are limited to "100 requests per 60 sixty minute time period, starting from their first request". This is tracked by IP for unauthenticated requests. So basically, if you use his PHP solution to display TweetBacks on your blog, all requests to the API will come from your server IP. This could be a problem for blogs with high traffic.

Enter Quak Bak.

Based on the two major flaws with TweetBacks, I've released my own version called Quak Bak (formerly known as TweetBackRedux).

My implementation is self-hosted and all requests to the Twitter API are done from the clients browser via AJAX. As of version 0.2, it installs in three easy steps. All you need is a Unix server with PHP4 or greater and cURL.

No comments: