3 ms·
One thing I've noticed with podcasts, is that my reader will download the full RSS every day, listing hundreds of episodes, just to see if there's a new one. I
by billpg 5y ago
One thing I've noticed with podcasts, is that my reader will download the full RSS every day, listing hundreds of episodes, just to see if there's a new one.
I get why they do this as a new listener will want to start off with a full list of episodes and may want to pick up a show from the start.
It would be useful if an RSS could specify a separate URL to query that will only list new episodes, returning an empty RSS (or a standardized HTTP status code) until the new episode is available.
The original RSS with the full list would still be the primary URL for the podcast, the one I get when I right-click and select "Copy RSS URL".
- mikepurvis 5y agoThis should be doable just using existing Cache-Control/If-Modified-Since headers, shouldn't it? Basically both sides just need to treat the "age" of the feed document as being equal to the newest entry in it.
- onli 5y agoRight! This is actually done in blogging platforms, at least in the old ones like Wordpress (last I looked, and I think) and Serendipity. I wouldn't guarantee though that this code still works or that readers do use it...
- gglnx 5y agoSome podcast clients support rfc5005: https://datatracker.ietf.org/doc/html/rfc5005 https://datatracker.ietf.org/doc/html/rfc5005
- billpg 5y agoWhen I was writing my comment, it felt like my idea was too obvious for no-one to have already written it up as a formal specification.
- dig1 5y agoIMO, this is not a problem of RSS but how that particular feed endpoint is implemented (assuming your reader will append entries). Usually, popular news sites (that provides RSS/Atom) will have e.g., "/rss/all" endpoint to get all the news for that day, and these entries are refreshed a couple of times per day. Also, they will provide "/rss/latest" refreshed every couple of minutes or so, so it's up to your reader to check that endpoint frequently, parse and populate only the newest entries.