Skip to content

2022 10 06

Georg Krause edited this page Nov 24, 2024 · 1 revision

OpenPodcastSync API meeting notes

Participating projects

podfriend, gpodder 4 Nextcloud, antennapod, kasts, funkwhale

What are the problems we are trying to solve?

Try to get the big picture around the various issues.

Subscriptions.

Problems identified with gpodder:

  • Multi-device support is confusing to users. Gpodder stores each device as an entity and allows you to link to devices to sync them. Users find this confusing and don't understand why content isn't synced properly across non-linked devices.
    • This is only implemented for subscriptions, not for episodes. This inconsistency is confusing for users.
  • The database often overflows due to a large dataset being stored. All actions are stored and never cleaned up, and all episode actions can only be stored once. E.g:
    • If you listen to an episode once and then listen again, an action such as "new" is only sent once.
    • Sending the exact same play position once cannot be stored twice.
  • Duplicate episodes/subscriptions are an issue. They use the media URL as an identifier for an episode, but if the file changes due to reupload or something else this creates a brand new entry. Syncing these changes is difficult.
  • User documentation is lacking. e.g.:
    • If podcast creators change GUID and URL for an episode, there isn't an agreed-upon behavior for the API or for clients consuming the episodes.
    • If an action is stored locally, and a conflicting action is received from the server at later stage; what happens on sync? Can take inspiration from listenbrains scrobbles.
  • Subscription lists can duplicate due to URLs not being updated reliably.
  • There is no agreed-upon way to handle updating URLs, and this is mostly being handled by clients
  • We need to be able to synchronize a queue of episodes in the correct order between devices
  • We need to handle multiple queues, and have graceful handling for syncing with clients/servers that cannot handle multiple queues

People would expect to find all their data, queues and progress to be synced accross all their apps, using a single online identity. Howto handle when a server shuts down? Would we need some export/import features? Like an extended OPML? Or can we rely on clients as 'intermediaries' (sync data, log out from server, log in to other server)? Switching from mobile (home/commute) to web/desktop app (at work) is a common use case amongst us.

What would be our Minimum Viable Product?

Next steps?

  • split the list into compenents problems
  • asynchronous discussions
  • organize meetings when needed on specific matters
tags: project-management meeting-notes OpenPodcastAPI
Clone this wiki locally