My recent quest to find a podcast app that supported a feature I needed brought up an old annoyance of mine, particularly with iOS, though it applies to macOS too.
Apple should provide common databases for things like email account information, podcasts I’ve subscribed to and listened to, etc. Similar to the way contacts are handled.
For example, I have a set of podcasts that I listen to. Some episodes I have already listened to, and some I have not. These should be stored in a database on iOS (optionally synced to all devices), so that if I decide I want to use Overcast because one podcast has a lot of dead air time, and Airr because I want to take notes, or Youzacast because it’s new and shiny, I should be able to do so without subscribing to all the podcasts again, then figuring out which ones I’ve listened to, etc.
Similarly with email. Since most people use IMAP now, the mail can be stored on the server. Give us a database of email account information so we can switch from Newton to Spark to Whatever without all the account creation gyrations.
What about custom features for each app you say? Simple - core functionality in the iOS/macOS database (list of podcasts and listened episodes), and whatever the developers need can be implemented in their own SQLite database (Airr quotes), where they can join tables to the Apple databases. Easy-peasy.
Hopefully some Apple dev is reading and will smile upon us.
I think for email, you don’t need Apple to do this. IMAP is IMAP. I occasionally switch between Apple Mail and Airmail, and other than the time it takes to sync all my old mail, it’s pretty seamless. In fact, you can even use multiple clients with the same IMAP account at the same time — that’s what you’re doing when you have the same account on your phone and your Mac. Mail moved into local folders is another story, but that would be the case with some kind of Apple IMAP mirroring as well.
I would like a common podcast database — that would be great, since I also occasionally switch podcast players (in search of the elusive perfection). I wonder if Apple’s new paid podcast service means it’ll start paying more attention to the client side of the podcast ecosystem it created. My guess is no, since it’ll probably think something approaching a walled garden is lore profitable. But we’ll see.
Bookmarks? Use pinboard or one of its competitors and any browser you like (I use three routinely for different things). Documents? Use a folder of markdown notes and any combination of Obsidian, nv*, The Archive, 1Writer, Editorial, etc. etc.
PDFs are already pretty universal. Same with the Web. Ebooks, not so much. I could see an advantage with RSS as well, but my guess is that Apple sees that as a niche.
You know what I’d love a common database for? Code snippets. Just store my snippet and a flag to indicate what language it is… and let me try different snippet browsers/managers. Or maybe that’s possible to do with files, since code is just text? Anyone doing this?
I’ve often been surprised that there isn’t someone who has made a Mac/iOS app for this which uses GitHub gists for the storage. Seems like the perfect “backend” but I am not a developer, so maybe I’m wrong.
I’ve been doing code snippets in DEVONTHink in a separate code database. I also put my SQLite Queries there too. I am in the process of moving them into Obsidian because I have this crazy idea of linking them sometimes by phrases or the variables used. That’s often how I search for them and it might be nice to see a graph of it in Obsidian.
I am also playing with using Obsidian to enter in my database structure with the links being from various field names to foreign keys in my tables. Again I’m just playing to see if I learn anything new by doing that. My main database has 81 tables and there are a lot of links between them.
It wouldn’t be automatic sync across macOS but I’d love for podcast clients to agree to put episode played/downloaded/undownloaded status in the OPML outline instead of just the titles and feeds. It probably wouldn’t be to spec but it would be a timesaver, and would let you port your status to other apps more quickly if you’d listened to a few episodes in one.