Recently, Rachel by the Bay wrote about an idea for “scoring” RSS feed readers. Criteria would be things like: how often do they check, do they respect caching headers, etc. Since I maintain my own RSS reader / aggregator called Bloggulus, I was curious to see how responsible my own program was. Her previous posts have directly influenced my ability to make Bloggulus more efficient and more correct. I messaged Rachel with interest in participating and she promptly replied with instructions on how to set things up.

Fast-forward a few days and Bloggulus is scoring quite well!

RSS reader score

It has only sent one unconditional request (which is expected when a new feed is added). All If-None-Match header values (this is a cache-related header) have been valid. No useless cookies, referrers, or query params have been sent, either. Not bad!

Sometimes, however, Bloggulus ends up polling slightly more often than the intended hourly schedule. Occasionally, it’ll re-poll after 59 minutes which isn’t huge deal (just subtle timing variance). Once, though, it re-requested content after only 44 minutes. I’m not 100% sure why this happened but it could be that the server restarted. When that happens, the “wait an hour before polling again” timer gets restarted (likely for unattended upgrades). I do have logic in-place to prevent “restart spam” by ensuring that a single feed doesn’t polled more than once every 30 minutes. I might consider increasing that duration value.

Anyhow, thanks for reading and for keeping your RSS readers responsible!