getnikola / plugins

Extra plugins for Nikola
https://plugins.getnikola.com/
MIT License
57 stars 93 forks source link

[postcast] allow podcatchers to discover all episodes #373

Closed tikki closed 3 years ago

tikki commented 3 years ago

Hi,

one of the podcasts I'm hosting has reached a few dozen episodes and I noticed that by default only the latest 10 episodes are shown in most podcatchers. That is because the default feed size of Nikola is 10 and postcast simply uses that value when it creates its own feeds. To have all podcast episodes show up I could of course increase that limit, but it would also considerably increase the feed size – both for the main posts feed and the podcast feed. This means wasted traffic and some users could even run into problems with file size limits on some setups.

A much better solution is paged feeds, which is already supported by many podcatchers. The idea is to simply split up the feed into multiple files and use atom links to string them all together. A nice implementation could even put only a few/the most current episodes in the base file, which is basically the entry point for the podcatchers, and then use large page sizes for the following pages to reduce the amount of requests necessary to load all the rest in case the podcatcher can't find them in their cache.

Kwpolska commented 3 years ago

A much better solution is paged feeds, which is already supported by many podcatchers.

Which ones / how many / how popular are they?

tikki commented 3 years ago

A much better solution is paged feeds, which is already supported by many podcatchers.

Which ones / how many / how popular are they?

Good question! This is a little awkward, but I actually wrote that claim without checking first. I came across the problem of having only 10 episodes, as described, and then remembered having read something about this problem some time ago. After some quick research I found the site describing how paged feeds could/should be used to fix this problem and just went for it. For some reason I was under the impression it had already been widely adopted, but apparently it isn't. I now checked using 3 podcasting apps: Podcasts, Castro, Pocket Casts – none of them seem to support it, they all show only 10 items for my feed.

Sorry about that. I completely understand if you think it's not worth adding it to the plugin. For myself, I'll increase the feed size to 100 but still keep my code changes, because it doesn't hurt, but as long as there's no support from podcatchers it also doesn't really help much.

The only good reason I can think of that you should still include this feature is to get ahead of the chicken and egg problem, because as long as there are no podcast feeds using paged feeds the app developers might also be very reluctant to add support for this feature.

Anyway, sorry for the trouble!

Kwpolska commented 3 years ago

Setting the feed size to a large number seems like the best solution, and it shouldn’t be too expensive for a reasonable checking schedule. If you want smaller feeds for your regular blog content, we could take a PR to implement different feed sizes for postcast/for a specific category.