diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-11-11 08:54:52 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-11-11 08:54:52 +0000 |
| commit | aba4fb18ef8a542865e10a891081681352b64fcd (patch) | |
| tree | bff91fa0c0426886d47da5d1a90311e554ee1928 /docs/show-kinds.md | |
| parent | 8db54bc24d7d5d0cdfce8a2e19199d7e9a42fbd4 (diff) | |
Shows have a category, not a tier
Tier said "how important" and the shows needed "what kind". Seven ordered
categories replace it: news, analysis, curiosity, sailing, true stories,
fiction, deep dives. The order is still the server's processing priority, so
one field carries both axes -- which is the idiosyncrasy docs/show-kinds.md
is written to watch, with four signs that a better abstraction has arrived.
All 42 known feeds are refiled by migration 20 -> 21, which rebuilds the
subscriptions table rather than renaming the column: RENAME COLUMN keeps the
old 'ordinary' DEFAULT and fails schema validation, and DROP COLUMN needs
SQLite 3.35 against minSdk 29's 3.28. The wire value for true stories is
"truestory", not "true", because SQLite reads an unquoted true in a DEFAULT
as the boolean and stores 1.
Schema 21 is a new exported JSON; migrate20To21RenamesTierAndRefilesTheKnownShows
covers it, and all 22 device migration tests pass.
The coverage exclusion for the settings composable follows the file's rename;
left pointing at TierSettingKt it read as a 0.6% drop. The remaining 0.08% is
the deletion of the covered tier-seeding code, taken as an exception.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B
Diffstat (limited to 'docs/show-kinds.md')
| -rw-r--r-- | docs/show-kinds.md | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/docs/show-kinds.md b/docs/show-kinds.md new file mode 100644 index 0000000..bd08b4a --- /dev/null +++ b/docs/show-kinds.md @@ -0,0 +1,62 @@ +# Show kinds + +One ordered list, doing two jobs: what sort of listening a show is, and how soon the server +should work on it. The number *is* the priority. + +| # | kind | shows | notes | +|---|---|---|---| +| 1 | News | 5 | Up First, Tangle, 404 Media, Seahawks Rewind, Seahawks Insiders | +| 2 | Political analysis | 6 | topical, often weekly | +| 3 | Science & curiosity | 5 | Science Friday, Radiolab, Terrestrials, Rationally Speaking, Hard Fork | +| 4 | Sailing | 3 | Liveaboard, Offshore Sailing, Wards Way | +| 5 | True stories | 12 | narrative journalism and documentary | +| 6 | Fiction | 8 | made up, including the daily horror one | +| 7 | Deep dives | 3 | both Carlins, Conversations with Tyler | + +Bedtime stays the flag it already was. It is not a kind: a bedtime show is absent from the +ordinary library entirely, which no kind does. + +## Why this replaces `tier` rather than joining it + +`tier` was topical / ordinary / archive — processing priority and nothing else. Loading "what +sort of show is this" onto a second field would have meant two things to set per show, and the +two would have disagreed within a week. This is the same field with a longer, more useful set of +values, so there is nothing new to keep in sync. + +## The compromise, written down because it will look like a mistake later + +**The order is not purely "how good in the car".** It is mostly how perishable a show is, which +is what the server needs. Sports is the clearest case: a game recap is worthless once the next +game is played, so it belongs at 1 with the news — and it is also perfectly good car listening, +unlike the rest of that bucket. Daily news and political analysis sit at the top for processing +and are the *last* things wanted while driving. + +So the car does not read this list as a ranking. It groups by it and offers what it offers. +Anyone who later assumes "lower number = show it first in the car" will be wrong, and this +paragraph is why. + +## Sailing is three shows, and that is fine + +Peter's call, and worth defending: these are hobby-sized groups for a 45-show library belonging +to one person. Idiosyncratic beats principled here — the categories that match how he actually +chooses will beat a taxonomy that would survive someone else's library. They can be merged if +they stop earning their place. + +## What to watch for, because this is a list of names and lists of names rot + +A better abstraction may exist, and this one was chosen knowing that. Signs it has arrived: + +- **A show needs two kinds.** Terrestrials is children's science storytelling; it is in Science & + curiosity and could as fairly be in Fiction. One more like it and the single-value assumption + is the problem, not the categories. +- **A kind grows past about a dozen.** True stories is at 12 and was 19 before Fiction split off. + Past that a kind stops narrowing anything and becomes a second library. +- **The priority order and the grouping order diverge further.** Sports already breaks it. If a + second kind needs to sit somewhere for processing that makes no sense for browsing, the two + jobs have genuinely come apart and the field should split — at which point the thing resisted + here becomes the right answer. +- **Length starts doing the work instead.** "Something short" cuts across every kind and is + already a car list of its own. If kinds are rarely used and length always is, that is the + signal. + +Added 2026-11-11, from a classification of all 45 subscribed shows. |
