Thanks to Rachel by the Bay and her posts about RSS correctness / etiquette, I’ve been able to more deeply understand the relationship between feeds and readers. A few months ago, I decided to use Bloggulus to participate in her feed reader scoring program. I wrote about it at the time and noted how Bloggulus’ performance as a responsible RSS reader was “good but not great”.

Recently, while on vacation, I decided to fix the remaining three issues with Bloggulus:

  1. Occasionally polling more than once per hour (commit)
    1. This was simply caused by narrow time intervals
  2. Not correctly detecting and storing the Last-Modified header (commit)
    1. This was caused by a simple typo
  3. Using Go’s default user agent when making HTTP requests (commit)
    1. Requests now set their user agent to: Bloggulus/X.Y.Z (+https://bloggulus.com)

The Data Link to heading

Looking at the data Rachel presents to those in the program, you can immediately see when the first change took effect (fixing the polling interval to always be at least one hour):

Reading too quickly errors disappear

Further down, we can see the impact of the other two improvements (adding a user agent and fixing the Last-Modified detection):

Better user agent and modified detection

Conclusion Link to heading

At this point, I think Bloggulus is as well behaved as an RSS reader can be! This is awesome and I’m grateful to Rachel for being so vocal about how these applications should work. It gives me confidence that Bloggulus is built on a solid foundation and ready to consume many more feeds in the future.

Thanks for reading!