AP supporting a plugin architecture

I am currently exploring a prototype to add plugin support to AntennaPod. As documented by @keunes in Allow creating plug-ins · Issue #7917 · AntennaPod/AntennaPod · GitHub

The benefits here

  • Allow plugin developers to independently enhance AP without making the app complicated for everyone else
  • Independent release plugins outside of AP release cycles
  • Maybe enable a new revenue stream for 3rd party developers to add features to use AI to process audio stream or plugin developers to use their own AI keys to process data
  • Allow plugin developers to solve long standing request that we are at a stand still such as how to handle hourly podcasts, there could be different plugins that satisfy multiple camps of users

Some use cases are:

  • Hook into the feed processing to add chapters by processing audio with AI and adding chapters
  • Same hook to add transcription
  • Ad removal Previous request

That’s really nice! :slight_smile: Are you leaning towards Dynamic Feature Modules or Plugin Apps?

I’m prototyping using Plugin apps that will release independently of the main AP app.

I’m trying to use https://developer.android.com/develop/background-work/services/aidl

Each plugin is its own APK, its own repo, its own process. AntennaPod discovers installed plugin apps on-device via PackageManager and drives them over Android’s binder IPC. No plugin code ever runs inside AntennaPod’s process. Plugins are disabled by default and only execute after the user toggles them on in Settings → Plugins.

During this prototype, I am trying different plugins to extend AP just to understand where this plugin architecture’s limitations are

  • add transcriptions to every episode
  • add chapters (which includes marking where ads start and end)
  • handle custom feed handling to try to handle the long standing request to remove hourly podcasts