From 2a3b4b760b5c972fe9a8b948f724f72d272ab507 Mon Sep 17 00:00:00 2001 From: mrwnslz Date: Mon, 19 Oct 2026 17:46:00 +0200 Subject: [PATCH] =?UTF-8?q?docs/podcasts.md:=20Plan=20f=C3=BCr=20Strom,=20?= =?UTF-8?q?Merkliste,=20Wiedergabeliste=20und=20Abo-Stufen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- docs/podcasts.md | 85 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 docs/podcasts.md diff --git a/docs/podcasts.md b/docs/podcasts.md new file mode 100644 index 0000000..e2c72da --- /dev/null +++ b/docs/podcasts.md @@ -0,0 +1,85 @@ +# Podcasts: Strom, Merkliste, Wiedergabeliste + +The plan agreed on 2026-10-19 (with the user, from their listening history). It replaces +the inbox model ("Neu" to work through, "Folgen" beside it, one queue that is both a store +and the play order). Server: diora-web (podcasts/). The podcast UI is diora-android's +`web-native/static/native-podcast.js`, copied into `static/podcasts/` — built there. + +## Why + +- The subscriptions (about 540) are a self-chosen part of the podcast world: episodes to see + go by and dip into now and then — not a list to work through. "Neu" had 3360 unplayed + episodes; nobody works through that. +- The queue held 74 episodes (100+ hours): a store of "want to hear some day", yet the + player played it in order as if it were the play order. +- In AntennaPod "download automatically" and "add to queue automatically" were one thing + for the user: a regular podcast is one whose new episodes are on the phone. diora split + them (177 feeds downloading, 8 queueing). +- "Silent" subscriptions came from AntennaPod fetching every feed on the phone, slowly. The + server fetches all feeds anyway now (conditional, every 15 minutes). + +## The lists + +**Wiedergabeliste** — short, what plays next. The player goes through it in order and +**stops when it is empty** (it does not take from the Merkliste). Every episode in it is +downloaded. Filled by hand: ▶ on an episode (plays it, puts it first), or "In die +Wiedergabeliste" from the Merkliste or the Strom. + +**Merkliste** — long, "want to hear". It may grow; it **never expires**. Grouped by podcast, +each podcast **collapsible** (newest first inside). New episodes of Stamm subscriptions land +here and are downloaded; so is what the user adds with +. An episode played from it moves +to the front of the Wiedergabeliste; finished, it leaves both. + +When an episode leaves both lists (heard, removed), its download is deleted (setting +`delete_dequeue`). Downloads follow the lists, not the subscriptions. + +## Subscriptions: three levels + +| level | new episodes | today's mapping | +|---|---|---| +| **Stamm** | into the Merkliste and downloaded (per feed: or straight into the Wiedergabeliste — an option, used by none yet) | `new_episodes='queue'` (8) plus the regularly heard ones (about 50, list below) | +| **Strom** (default) | in the Strom; nothing to work through, nothing downloaded | `'inbox'`, and the former silent `'ignore'` ones | +| **Auf Abruf** | not in the Strom; on the podcast's page and in search | — (for exceptions) | + +The per-feed "download automatically" switch goes: Stamm means it. + +**Fetch interval** per subscription: *Automatisch* (by publishing rhythm, `interval_days`: +daily publishers hourly, rare ones daily), *stündlich*, *täglich*, *wöchentlich*. The former +silent subscriptions become Strom with *täglich*. + +## The Strom (replaces "Neu" and "Folgen") + +All episodes of all Strom and Stamm subscriptions, by period (Heute, Gestern, Diese Woche, +…), rarely publishing podcasts first (as built 2026-10-19). Each podcast appears **once per +period, always bundled**: its newest episode, and "+n ›" for the others. Episodes new since +they were last seen carry a **small mark** (no counts). Per episode: ▶ (Wiedergabeliste, +first), + (Merkliste), ★. Filters stay: Favoriten, Verlauf, Angefangen, Gehört. + +Tabs: **Wiedergabeliste · Merkliste · Strom · Abos**. + +Browsing within the subscriptions (themes, people, similar episodes, search) — later, to be +thought through. + +## Moving over + +- Today's queue (74) becomes the Merkliste; the Wiedergabeliste starts empty. +- Stamm: the 8 automatic subscriptions and the regularly heard ones (≥ 8 episodes a year or + ≥ 3 in 90 days, 2026-10-19): Ones and Tooze, Die Neuen Zwanziger – Der Salon, Surplus, + The Deprogram, junge Welt – Tagesüberblick, Speakeasy-Bar, jwpod – Forschung, RLS + Audiodokumente, The Reaction Pod, Geschichten aus der Geschichte, Märkte Mächte Emissionen, + friendlyjordies, Second Thought, Neben der Spur, Forschungsquartett, GegenStandpunkt – + Artikel, Hörsaal, Hakim, Marxistische Vorträge, Blätter, Kontextfenster, New Left Review, + Kommunisten Kneipe, Jung & Naiv, HealthyGamerGG, Dekarldent, Daily Dose Of Dekarldent, + Eine Stunde History, Übertage, Eigentlich, Zwischen Zwei Deckeln, UNFASSBAR, Über Rechts, + TitosLeftLung, New Books in History, ARTEde, Irgendwas mit ARTE, Zwei wie Pech & Schwafel, + Geschichte der kommenden Welten, Vollbild, Zeitfragen, Zeitfragen. Feature, Die Filmanalyse, + Reaction, Wirtschaft am Mittag. +- Everything else: Strom; the silent ones with *täglich*. + +## Order of work + +1. Wiedergabeliste and Merkliste (server: a second list, moving the queue over, the player's + order; UI: two tabs, grouped Merkliste). +2. The three levels and the fetch interval; downloads following the lists. +3. The Strom replacing "Neu" and "Folgen". +4. Browsing — after more thought.