iPad and Device Sync

3 min read Original article ↗

Castro is launching device sync today along with an iPad app. Sync is part of the existing Castro Plus subscription, with no additional charge or pricing changes. All aspects of the feature are opt-in and can be enabled or disabled at any time. If you would prefer separate profiles on your phone and your iPad, that’s totally fine, nothing changes for you. For everyone else, you can finally have a full-screen experience on all your devices and transition between them seamlessly.

This release is a big deal for us. These are our two most requested features, and I believe they fill the biggest gaps in our offering so we’re very excited to get it out.

iPad

It’s the full-featured iPad app you’d expect. We spent a lot of time optimizing Explore and various grid surfaces to make use of the additional screen space. I knew supporting iPad was a big deal, but I was surprised at how much better the app felt on a larger screen once I started using it regularly. So I’m very excited to get this out to everyone, and we’ll continue to enhance the iPad app as we update older parts of the app.

Sync

Castro now syncs your listening progress, playback history, episode states, queue, folders, and podcast settings. We don’t yet support sync features in sideloading or user settings like your theme or accent color, although we may add these in the future.

Syncing is event-driven and CRDT-style. It works and it’s fast. After initial setup, you’ll never have to wait on syncing with a server. If you don’t have internet, everything will work as it currently does and our server will figure out the correct state for your other devices once you’re back online. I’ll go into more technical detail in a future post, but here are a few videos of the experience. These were captured in real-time on the production version of the app.

About your Data

Historically almost all Castro data is local to your device, with only anonymized subscriptions on our server for notification purposes and some light user analytics. We have very little data on what episodes are being played, and none whatsoever in terms of episodes you’ve starred, etc. If you opt into device sync, we will have that data. We’re using Castro’s existing servers and your queue and episode states will sit in Postgres alongside your subscriptions.

Before opting into sync you have an account on our server with credentials in your iCloud keychain that are tied to only a single installation. After opting into sync, you will still have that backup, but you can also repopulate the data from our servers and share it with your other devices.

It was very important to me that this remain optional. If you don’t want your data on our servers, don’t turn it on. If you want to opt-out and delete everything, there’s an option built right in to do that.

The future

Today’s release only supports iPhone/iPad/Catalyst. In the future, we will introduce an alternate authentication mechanism and the option of logging in from devices outside the Apple ecosystem. Which devices, you ask? We’ll have more to share soon.