Skip to content

Add podcast, episode, and audiobook browsing #19

Description

@austin-smith

Summary

Add first-class support for Spotify's spoken-audio catalog: podcasts, episodes, audiobooks, and chapters.

The experience should include:

  • Searching for shows, episodes, and audiobooks
  • Browsing saved shows, saved episodes, and saved audiobooks
  • Drilling from a show into its episodes
  • Drilling from an audiobook into its chapters
  • Showing useful spoken-audio metadata such as release date, description, duration, played state, and resume position when available
  • Playing, queueing, saving, and unsaving supported items through the same action model used by music

Why

The playback model already recognizes episodes, but users cannot meaningfully discover or browse spoken audio. Treating these as proper content types makes the app reflect more of a user's actual Spotify library and avoids forcing episode playback to begin elsewhere.

Important behavior

  • Respect market availability, explicit-content restrictions, and is_playable rather than assuming every returned item can play.
  • Preserve episode and chapter resume information in the UI where Spotify provides it.
  • Validate native playback support for episode and chapter URIs. Unsupported content should remain browsable and fail clearly instead of destabilizing the local receiver.
  • Keep shows, episodes, audiobooks, and chapters distinct in metadata and navigation; do not force them into track/album semantics.
  • Paginate long episode and chapter lists rather than fetching an entire catalog up front.
  • Audiobooks are only available in selected markets, so an empty or unavailable audiobook section should not be treated as an account failure.

Out of scope

  • Downloading or offline playback
  • Podcast transcripts
  • Treating lyrics as episode transcripts
  • Local listening-history and statistics features

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions