Downcast had its ups and downs in 2015. I took over development & support at the beginning of 2015 and it has been a learning experience. An Apple Watch app was introduced and our iOS player UI was overhauled. The player UI change brought with it some painful bugs but now that the worst of them are resolved, Downcast is in a much better position to be improved going forward.
I didn’t meet all the goals I set for Downcast in 2015, but I’m committed to changing that this year. So, why not put some pressure on myself by laying those goals out? Here's the list of major items to be tackled in 2016. Please note the dates are educated guesses:
- CarPlay - January - Nearly complete, beta testing already.
- CloudKit - February - Far more reliable and consistent than our current syncing system.
- Manual Playlists - Q1 - Manually choose episodes to add.
- Multi-tasking Support for iPad - Q1 - iOS 9 multitasking support for the iPad app.
- Real Airplay in the Mac App - Q1 - Finally possible as of Mac OS 10.11.
- Push Notifications - Q2 - Push notifications for new episodes.
- Apple TV - Q2 - Of course.
- Several TBA features - Some big, some small, stay tuned...
CarPlay
After waiting, waiting and more waiting, Downcast was finally accepted into the CarPlay program a few weeks ago. Given the simplicity of the system, support has already been added and is being tested now. Really excited about this, not many apps have been allowed onto this platform! Here's a brief demo:
CloudKit
Downcast syncing has been quite a challenge. Downcast uses iCloud Documents for syncing right now. When Downcast's syncing support was first added, this was the only reasonable option for Downcast. There was Core Data over iCloud, which would have been a complete disaster given all the bugs it contained. There was also iCloud Key-Value storage, which would have been perfect if it didn't have such extreme storage limitations. iCloud Documents was the only choice left. This worked fine for a while, and actually still works pretty well for most users. However, it has become slower and slower over time and certain users seem to be plagued with extreme performance issues that lead to high levels of hard to resolve conflicts, leading to inconsistent behavior, unintended deletions, etc.
CloudKit is the solution. It provides the record-level feedback, control, and conflict management that any good syncing system should have. It's also fast. Individual changes take seconds compared to the typical 20s+ for iCloud Documents right now. This system provides a lot of other functionality as well and I intend to take advantage of it in some of those TBA features mentioned above.
Work on this is underway and my primary focus right now. I’m looking forward to this update as much as you are.
Manual Playlists
The most requested feature for a while has been manual playlists. The current syncing system has limited our options. This is because manual playlists require a lot more sync activity to function well than our smart playlists. Rather than syncing a few settings that describe a smart playlist, we need to sync a bit of info for each episode included in a manual playlist. I’m happy to announce that switching to CloudKit will finally give us the freedom to implement this feature.
Multi-tasking Support for iPad
PIP and split screen support need to be added to the iPad app but since Downcast was first written back in 2010, there's still some legacy code and UI related resources that have prevented this. That all needs to be modernized but was put off due to some higher priority issues that arose since iOS 9 was released.
Real Airplay Support for the Mac App
Despite being available for iOS for several years, Mac OS had no support for per-application Airplay prior to Mac OS 10.11. Now that this feature has finally been introduced in El Capitan, the Mac App needs to be upgraded to support it. Until now, the Mac App has only supported Airplay by switching your Mac's default system output to an Airplay device. That, of course, only allowed Airplaying of audio. This change will allow real Airplaying of audio and video.
Push Notifications
This is another frequently requested feature. I finally have a solid plan for making it work without significant hosting cost increases. You will not lose the ability to refresh feeds locally. The plan is to significantly reduce the need to refresh feeds locally, but not remove that ability. If, for some reason, our server is inaccessible, you shouldn't be unable to refresh your feeds!
Apple TV
Downcast obviously needs to be on your TV! The only thing holding back development on the Apple TV app is the CloudKit conversion. The new Apple TV doesn't provide apps with persistent storage, so a fast and reliable sync system is a necessity.
Several to-be-announced features
I have several other planned features but I'm not ready to discuss them. Some are minor, some are major, some are just cool. Stay tuned...