Ramblings from the creator of HomeSite, TopStyle, FeedDemon and Glassboard Android.

Tuesday, May 04, 2004

RSS readers and bandwidth consumption

Wired recently asked whether RSS readers will clog the Web, raising concerns about bandwidth problems associated with RSS. While these concerns are valid, they're really less about RSS and more about the poor design of some RSS readers. So, I'd like to point out how FeedDemon was designed to minimize bandwidth consumption.

The primary concern is how often RSS readers download feeds to check for new items. After all, if a feed is updated once a day, there's a huge waste of bandwidth if RSS readers are downloading the feed every few minutes. However, a well-designed RSS reader won't download the entire feed if it hasn't been modified - instead, it will do as FeedDemon does and utilize HTTP If-Modified-Since and If-None-Match (ETag) requests. If the feed hasn't changed, then the server simply returns a 304: Not Modified response, which requires very little bandwidth. FeedDemon also supports GZIP compression and it remembers redirects, which further reduces bandwidth consumption.

FeedDemon honors the RSS <ttl> element, which enables feed authors to state how often the feed should be updated. FeedDemon won't allow setting a feed's update frequency lower than the <ttl>, so be sure to use this element in your feed if you're concerned about unnecessary bandwidth consumption. In addition, FeedDemon honors the <skipdays> and <skiphours> elements.

And I should add that FeedDemon defaults to checking for updates every three hours, not every few minutes. Users can set the update frequency lower than this (provided it's not lower than the feed's <ttl>), but in my experience, few users actually do this.

So, while RSS bandwidth consumption is a valid concern, it's a concern that I addressed from the very start when designing FeedDemon.