Overcast 4.1 is now in the App Store with some small but nice new features.
Smart Resume is actually two features:
- It jumps back by up to a few seconds after having been paused to help remind you of the conversation.
- It slightly adjusts resumes and seeks to fall in the silences between spoken words when reasonably possible.
Both are subtle but noticeable benefits (my favorite kind), especially when you’re being interrupted a lot, such as while following turn-by-turn navigation directions.
Smart Resume is on by default, and can be turned off in Nitpicky Details.
Delete episodes 24 hours after completion: Before, episodes could either be auto-deleted immediately upon completion, or not at all. There’s now a third option, auto-deleting 24 hours after completion, which will soon be the default for new accounts.
The 24-hour threshold is only enforced after a successful sync, so it won’t auto-delete anything in the middle of an extended offline period, such as a long flight.
Auto-deletion, either immediate or after 24 hours, also no longer applies to Premium subscribers’ Uploads.
Password-protected podcasts: Some private podcast feeds, including many paid and members-only podcasts, require a username and password via HTTP Basic Auth. You can now add these in the Add URL screen.
Password-protected podcasts, and other private feeds such as Patreon bonus feeds and anything using the
<itunes:block> tag, do not show up in search or recommendations.
Noteworthy bug fixes:
- Resuming playback after quitting in the background, especially on very long podcasts and/or when using AirPods, no longer occasionally results in glitchy noises and incorrect durations.
- Playback under certain conditions no longer stalls, requiring pausing and playing again.
- Downloads now fail less often.
- Playback controls no longer disappear occasionally.
- Smart Speed total savings now appear at the bottom of the Settings screen for locales that use commas as their decimal separator.1
- Extremely large playlists now only show the most/least-recent 500 episodes to improve app performance for users with very high subscription counts.
There’s also one removal: rotation support on iPhone. (The iPad app still rotates.) iPhone rotation has always been disabled by default, and had been buried in Nitpicky Details for a long time, so very few people have ever used it. Meanwhile, it has become increasingly difficult to support and maintain, especially with the modern complexities of rotation and the dramatically increased workload of supporting the iPhone X in landscape.
iPhone rotation has simply proven far too costly to maintain for its extremely low usage, and it had to go to free up more of my time for more highly demanded features. I apologize to the few people who did use it, and I hope this isn’t too disruptive for you.
The rest is all good news. Go get Overcast now!
In the next update, I’ll be addressing the biggest design failure of Overcast 4: the non-discoverability of the Effects and Notes pages in the Now Playing screen. Expect the return of an ancient user-interface tool known as “buttons”.
This was Overcast’s oldest known bug, which had been there since 1.0: some users, mostly in central Europe, wouldn’t see Smart Speed totals. It turned out to be one of the most interesting and obscure bugs I’ve seen.
The total-time-saved value is stored on-device as it accumulates, then gets sent to the server to be combined with any listening you do on other devices. The overall total is read back from the server, and the local total is reset, on each sync.
I was using an
NSNumberFormatterto read the total value from Overcast’s server as a
double. My server always sends values with U.S.-style number formatting, using a period as the decimal separator (e.g. “1234.5”). But by default,
NSNumberFormatteruses the device’s locale, so in countries that use a comma as the decimal separator (e.g. “1234,5”), it was interpreting the server’s numbers with periods as invalid and returning zero. So the Settings screen thought they hadn’t saved any time, and hid the time-saved label.
Fortunately, it was an easy fix: setting that
en_USto match what the server was sending. And since the accumulated local totals were still being sent and added properly, the correct historical data is there — it just wasn’t being displayed correctly. ↩︎