This release is mostly a performance + bug fix release. The iOS app should be noticeably more stable now. I was able to identify and fix a few really difficult to debug issues that would lead to random crashes, especially in the background. There are some general performance improvements as well as a couple changes to reduce memory consumption.
Several issues with the download queue were also fixed. That includes an issue where deleting downloads wouldn't update the episode counts for the corresponding podcast, a row duplication issue when rearranging downloads, and a queue order issue when queueing multiple episodes for download at once. All very annoying issues, all fixed.
I'm still working on the sync replacement, among other things, which is still going well and I hope to be done with that very soon. Hang in there, changes are on the way.
Also, a surprising number of you ask how to provide additional financial support. How nice! Downcast has had a tip jar for quite a while now to let you do just that! I haven't really promoted it because that's annoying, but I get enough inquiries that I feel it needs to be mentioned from time to time. You can find it in the app here: More tab ► Support Downcast.
Version 2.9.30 is now available in the iOS & macOS App Stores.
The macOS update is minor and contains a few bug fixes related to continuous play and iCloud Syncing.
The iOS update is notable since it contains a major technical upgrade for the watchOS app and several bug fixes. The watchOS app is now finally built against the watchOS 4 SDK, which means complication support. Since most of the code in the watchOS app was related to the disappointing inter-app communication methods available in the watchOS 1 SDK, it is essentially a complete rewrite. The result is a much snappier app with a much smaller codebase that requires far less processing on your iPhone. It still requires your iPhone to function, but stand-alone playback is something planned for later this year, assuming Apple makes some reasonable improvements to the audio playback APIs in watchOS 5 (or a watchOS 4.x update, but that's doubtful). The primary UI change you'll notice is the removal of section headers in the Podcasts & Playlists views as well as a couple of new icons to indicate whether something will be streamed and whether it is unconsumed (non-local).
Aside from the watchOS app, the iOS app also received a number of bug fixes and improvements. Fixes include the playlist episode reordering issue, random pausing on HomePod or other Airplay devices, and a sync related issue. It also gained a performance bump due to changing how the watchOS app communicates with it, improves the VoiceOver 'Jump to Time' feature.
One other minor change to the iOS app is that when resuming from an interruption, the player will now skip back by ~1s. I do plan to make this a configurable interval in a future update.
Up next is the new sync system. CloudKit wins. It's better than anything I could come up with, fast, secure, scales forever, doesn't significantly increase my overhead, and keeps your data out of my hands. Plus, I just can't bring myself to make you sign up for yet another account, that's like starting an at bat with one strike. No thanks.
This is in progress and moving along nicely.
Fair warning, iOS 9 support will most likely be dropped prior to the sync system replacement. To support it means using deprecated CloudKit APIs and risking the experience for the overwhelming majority of users in order to support a very small, and rapidly decreasing, number of old devices.
Not going to bother apologizing for the long delay in blog posts, apologies get old for everyone. Just gonna say what's imminent, whats coming, and what's coming a bit later.
Updated watch app - The watch app has finally been updated to support watchOS 2, 3, and 4. Support for watchOS 1 has been dropped. This is mainly just a technical transition, don't expect huge changes. You'll still need your phone to use the app. Stand alone features will come later. That said, the new watch app has complication support, should be snappier and more reliable, and should provide the iOS app with a performance boost since it no longer needs to do nearly as much work to keep the watch app up to date. This should be in beta later this week.
Help article update - I've used Desk.com for support tickets and support articles for years, and if you don't have anything nice to say. A few months ago I switched to Front for support tickets, what a relief. Today I've switched the support articles over to Helpdocs.io, another relief. There's still a lot of work to do on the articles, but they've all had a once over, some old ones thrown on the burn pile, and now they look like they were created this century.
Maintenance - Continued maintenance on the v2.9.x version of Downcast. A lot of problems have been corrected recently in the v2.9.x version and will continue until v3 is released.
Server side feed aggregation - Refreshing feeds is a huge resource hog. It burns CPU, RAM, and battery life. Moving this process server-side will save your battery, make Downcast snappier in general, and prevent a lot of sporadic crashes that are a result of memory pressure. Downcast will still refresh password protected and private feeds on your device, so the functionality won't disappear entirely, it'll just have much less of a presence. This is far along in development. At this point I'm just ironing out some performance issues, trying not to spend too much on servers.
Push notifications - Server side aggregation makes this possible, and required. It's been a long missing feature of Downcast and I can't wait to get this done.
Sync system replacement - This is another resource hog right now due to the type of iCloud syncing we're currently using. The replacement will be far more reliable and far less resource consuming. Between moving feed refreshing to the server and replacing the sync system, you should notice a significant improvement in both performance and battery life.
Coming a bit later
V3 - If Duke Nukem Forever™ was a podcast app. As much as I want to just wrap this up, server side aggregation and replacing the sync system have to come first. Refreshing on the device and the current sync system are the two biggest sources of problems and customer support for Downcast. I don't want Downcast to inherit any of the problems v2.x has by not addressing these two things first.
Apple TV app & Web presence - Hope to round things out with these two. Again, server side aggregation and a new sync system make these much easier.