This is why I've said that if I were starting from scratch today, I'd NEVER offer an episode-limit feature.

It's not that it's hard to delete the oldest episode when a new one comes in. That's trivial.

The hard part is meeting people's expectations.

Because when people say "Just keep the latest X episodes", what they really MEAN is a list of exceptions and behaviors that may be different from that… but everyone wants *different* behavior, because it's complicated!
https://mastodon.social/@overcastfm/113176856728462429

For instance, when evaluating an episode past the limit for deletion:

- What if it's an old episode that I went back and added?
- What if I've partly listened to it?
- What if I partly listened, but never finished it? (How long ago? How much is left?)
- What if I'm currently listening to it?
- What if I'm listening to it, but on a device that hasn't been used in a while?
- What if it's downloaded to the Watch? (How recently has that watch been used for standalone playback?)

So many questions.

And if you try to be smart about it, you end up with conditions in which a podcast might retain more episodes than the set limit, and then the feature looks broken and you get confused customers and negative feedback.

"I set it to X episodes, and there's X+1! It doesn't work!”

@marcoarment ah, you should definitely write a generic logic system to support this. I’m thinking state machine, but you should consider a rules engine. I’ll be over here with the popcorn listening to your podcasts with the big grin.
@tofagerl @marcoarment That's clearly overkill - seems much easier to just write your own filesystem to solve the problem once and for all.

@marcoarment I just want to say thanks for your work. Specifically, I like the delete feature. I use it for daily and hourly news podcasts. I only want the most recent, no need for old news.

I'm no coder, so I have no idea what you do to get this app to us, but thank you. I'm a pastor and it is discouraging when someone tells me they know more about I do in something I have studied for 20 years when they are just telling an option they thought of 15 seconds earlier. So I won’t do that to you.

@marcoarment I am sure the online feedback has been discouraging (if you have feelings and are a real human lol), but please ignore the non constructive stuff. I'm in the ministry and extremely introverted: books and podcasts are my best friends :) Hence, Logos Bible, Overcast, Reeder 4, and Things 3 are my essential toolkit. maybe Ulysses but I could use Pages. But, the first four, Overcast being one of them, are not replaceable.
I don't have any requests or complaints. Keep up the good work

@marcoarment probably not with your time or the UI clutter but an idea is a new, toggleable and visible “keep” flag per episode. It automatically enabled after a couple seconds of play and then the “only keep the latest x episodes” would use simple logic on anything not marked keep.

Doesn’t solve multiple devices I don’t think and you might want the flags existing only if users enable the keep x episodes feature.

@marcoarment Have you considered developing an scripting API for it? 😉

EDIT: Saw your next toot, and you did! 😂

@marcoarment have you considered somehow showing an indicator on kept episodes that explains why they've been kept? A simple message like "manually added" or "more recent than episode limit" would let the user who notices the x+1 case self diagnose and see why they've have "extra" episodes.

@marcoarment Could you crowdsource the design of this feature on a site like Reddit that allows up/down voting?

While some suggestions will be impractical/not general enough, you might get some useful suggestions that you hadn’t yet considered.

@marcoarment “The episode limit applies only to pristine, untouched episodes. When you touch an episode, responsibility for getting rid of it is passed to you”
@clarko least worst, probably. I keep thinking “it’s not that hard” and then reading another reply and putting my coffee down
@cbowns least worst is my middle name
@marcoarment at work I have a metaphorical “just” swear jar for when people haven’t thought through what they’re really asking for and complain we can’t “just do X”
@marcoarment 1* rating, if I could tear myself away from Overcast long enough to rate it again 😂 I see these, and your feedback on ATP, surely these are real edge cases?! Or maybe I’m just an old school podcast listener

@marcoarment maybe an 'info' circle button that explains the exceptions / behavior next to the selected number of episodes to keep??

Of course that would require users to read...

FWIW, I'm a fan of the redesign, moreso now that my fingers have figured out where to go again!

@marcoarment You’ve probably already considered this, but maybe the presence of some kind of question mark icon or similar badge on episodes in cases where extras are being kept could inform people about why. Maybe if they realize there are seven episodes instead of five because the extra two are some weird special case, they won’t need to ask you for support.
@DavidAnson @marcoarment I think this is smart. I was looking through the comments for this idea or a similar one. One or more flags/state toggle icons on the episode could show whether the episode is in “Auto”, “pinned”, “in progress”, “whatever”…and only “auto” episodes would be collected. Secondary preference rules on how to handle those other states could be available globally or per-playlist, but they could just be left for manual cleanup by the user. This isn’t a good idea yet, but I think it could be iterated into a decent design.

@marcoarment Ah, this must be the reason for all the reports about episodes disappearing from playlists, or playlists not showing the right content.

I must admit these made me wait before updating the app. I have never enabled any Episode Limits, so I shouldn't see anything unexpected.

@marcoarment I think the root issue is how semi-conflated “downloaded”, “unlistened”, “current” and “was never current” are. I totally understand the benefits of tying them all together to a single read/unread state but I think the issues that you’re getting are indicative that it’s a leaky abstraction.

To me, anyway, my history is what’s important - that should never automatically change. That’s precious, time that I’d have to spend with my poor memory figuring out where I’m up to everywhere. In contrast what’s downloaded is sort of an implementation detail that should automatically change based on my settings, my storage, as it downloads, etc.

@marcoarment maybe it could help to use a more descriptive name, like “new episode limit” or “unplayed episode limit”?
@marcoarment The feature isn’t complicated. You’re overthinking it. If the limit is X, there should never be X+1. That’s a defensible stance to take with this feature every time. Adding in these exceptions to the limit is not defensible to users who expect it to enforce the limit they’ve set.
If I’m listening to the 3rd episode of a podcast with a limit of 3 and a new episode is downloaded, yes, stop playing the episode I’m listening to and delete it right out from under me. I set that limit!
@marcoarment keep X unplayed and any interaction keeps that episode and never deletes it? 🤷🏻‍♂️
@marcoarment I often stop the NPR news before the end (last stories boring). I collect a bunch of them with 5-10 min remaining. I have to manually delete them from time to time. I have another podcast about history that I ALWAYS want to finish. I agree there is no simple solution to this. You either have very complicated fine tuned preferences with all the options you outlined, or infuriate users by forcing a solution that goes against some users use case wishes. Your current solution is fine.
@marcoarment How do users find out these rules so that they have a better mental model instead of getting surprised?
@marcoarment See, what you need is an “EVEN MORE Nitpicky Details” screen that turns each one of those into a checkbox. It works for Windows apps. 🙃

@marcoarment Have you considered changing the name to match the behavior? For example, Unfinished Episode Limit, Unstarted Episode Limit, New Episode limit.

And/or using a footnote in the setting to explain top misconceptions.

@marcoarment

My answers inline (in blue)...