Podcasts

· 546 words · 3 minute read

Martha and I both enjoy listening to podcasts. She uses pocket casts while I’ve stuck with podcast addict for the longest time. They’re both perfectly fine and capable apps for listening to podcasts but there have been times where we’ve wished they could do just that little bit more.

For example, I sometimes wish podcast adddict could sync podcast subscriptions with a desktop or web app when I’m on my laptop.

Sometimes there are podcasts we’ve subscribed to that die or are no longer relevant, and it would be nice to have some way to automatically declutter them.

It just feels like there’s so many interesting things you could do if you could extend the basic idea of a podcast player. Take notes. Rate episodes. Translate podcasts. Produce transcripts. Share clips from a podcast.

You can probably see where this is going. Rather than waiting for a feature, why can’t I write my own code to make my podcast player do what I want? After all, there are plenty of apps out there with plugin/extension systems that allow third-party developers to extend functionality right? And there would be one for podcasts right?

Or not. Maybe my Google-fu isn’t strong enough but the only one I could find that promised some kind of extensibility was gPodder. None of the top podcasting apps seemed to do it.

Admittedly, it’s much easier to implement a plugin system on a desktop or on the web than for a mobile app, and listening to podcasts is usually done on mobile than desktop. Desktop apps are rife with examples of plugin systems, such as VS Code, Figma, Photoshop and more. Web apps even more so, with apps like Google Sheets letting you write custom scripts for your spreadsheets on top of an entire marketplace of extensions.

There are mobile app examples as well, but maybe not with the same prominence as desktop or web apps. Minecraft, where the whole premise is based on users extending its core and WhatsApp stickers comes to mind. Even custom keyboards like Swype are a kind of plugin. Quick googling shows that at least on Android, IPC mechanisms are well known, though whether they will be appropriate or not is a different matter.

Some questions which come to mind about such a system:

  • What kind of extension points are going to be required for a pluggable podcast player to be valuable (e.g. can you add items to the menu, can you access the audio stream, etc.).
  • How will extension points communicate (e.g. standard IPC mechanisms, something custom or a mix?)
  • What does a plugin have access to (e.g. the audio stream or just the url)?
  • Where should these extension points live (e.g. executed on the device or on some remote server)?
  • Does a feature I want to create make more sense as an extension or a separate, stand alone service altogether to be integrated (e.g. IFTTT / Zapier vs podcast-player-specific)?
  • What is the user experience like using a plugin?
  • How easy is it to write a plugin?

The devil is in the details.

We’re not building it yet, but I’m certainly itching to do some prototyping again. Martha and I both listen to podcasts so it’s definitely something we would potentially use and extend. To be continued.

Before you go...

powered by TinyLetter

comments powered by Disqus