You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Explore carrying the annotation model as an extension of <podcast:chapters>
instead of a standalone <podcast:annotations> tag. Goal: fold the annotation
model into chapters and close the standalone Podcast Annotation Format.
- proposals/chapters-extension.md: chapter-vs-annotation distinction, use
cases, why extend chapters (chapters already carry image/link/location/toc;
DAI-alignment inheritance; Apple ingesting timed links via <podcast:chapters>;
one object for two needs), prior-art table, field-by-field mapping,
chapter/timed-link/annotation comparison, a single extended-chapter object
plus a full chapters-file example, adoption-and-incentives (answering
Gathright), a minimal proposed scope (extensibility rule, type + canonicalId,
overlap semantics, multiple chapter files), and a replacement test. Frames
Daniel Lewis's #469 super-chapters extensions as a parallel track. Ties the
cross-show use case to Spurlock's and Gathright's Wikidata point.
Credits Cridland, Lewis, Sethi, Spurlock, Gathright (#544), Curry, ericpp.
- SPEC.md: non-normative pointer from Relationship to Other Standards.
- CHANGELOG.md: 0.9.2 doc-only entry; version and lockfile bumped; docs rebuilt.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,11 @@
1
1
# Changelog
2
2
3
+
## 0.9.2 (2026-07-14)
4
+
5
+
### Added
6
+
- New exploratory proposal, [`proposals/chapters-extension.md`](proposals/chapters-extension.md): can the annotation model be carried as an extension of `<podcast:chapters>` instead of a standalone tag? Maps the model field by field, with a minimal proposed scope (extensibility rule, `type`/`canonicalId`, overlap semantics, multiple chapter files) and a replacement test. Follows suggestions from James Cridland and Daniel J. Lewis (#469).
7
+
- Non-normative pointer to the proposal from `SPEC.md`'s Relationship to Other Standards section. No data-model change; spec version remains `1.1.0`.
Copy file name to clipboardExpand all lines: SPEC.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -673,6 +673,8 @@ Maps to this W3C Web Annotation:
673
673
674
674
Podcasting 2.0 chapters and annotations are complementary. Chapters define coarse segments (intro, topic, outro) with titles and artwork; annotations are the fine-grained entity references inside those segments. An episode might carry 5 chapters and 40 annotations, and neither constrains the other. WebVTT and SRT sit on a different axis entirely. Subtitle formats carry the transcript text, this spec carries the entities and topics referenced in that text, and a player can use both at once: WebVTT for the transcript, annotations for contextual overlays.
675
675
676
+
A separate exploration, [Annotations as a `<podcast:chapters>` extension](https://github.com/carcurious/podcast-annotations-js/blob/main/proposals/chapters-extension.md), asks whether the annotation model could be carried as an extension of the [`<podcast:chapters>`](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/tags/chapters.md) object instead of the standalone `<podcast:annotations>` element described above, so annotations inherit chapters' existing tooling: player rendering, and whatever keeps chapters aligned under dynamic ad insertion. That work is exploratory and does not change this data model.
677
+
676
678
**Apple Podcasts Timed Links.** Starting with iOS 26.2 (Nov 2025), Apple Podcasts renders creator-authored timed links as banners on the Now Playing screen, inline in the transcript, and in a "From This Episode" section on the episode page ([Apple's timed links documentation](https://podcasters.apple.com/support/5536-links-on-apple-podcasts); see also [chapters, links, and more](https://podcasters.apple.com/support/5545-enhance-episodes-with-chapters-links-more)). Creators author these links two ways: hyperlinked text and a timestamp in the episode description, or `url` fields on the existing Podcasting 2.0 `<podcast:chapters>` JSON. Apple introduced no new RSS tag for this. Apple also auto-detects podcast mentions in English-language shows and links to the mentioned show; creators can opt out via Apple Podcasts Connect.
677
679
678
680
The feature validates the moment-level pattern this spec is built on, at much narrower scope. Link destinations are limited to Apple's own ecosystem (Apple Books, Music, Music Classical, Maps, News, Podcasts, Sports, Stocks, TV, Shazam) and other podcasts; a timed link cannot point at an arbitrary URL. It also carries no typed entity (`person`, `place`, `car`, …), no `canonicalId`, no `layer`/`producer`, and no time span: it fires at a point, not across the range where an entity is discussed. Apple documents how timed links render. It has not published a data model for what one is.
<h2id="relationship-to-other-standards">Relationship to Other Standards</h2>
1790
1790
<p>Podcasting 2.0 chapters and annotations are complementary. Chapters define coarse segments (intro, topic, outro) with titles and artwork; annotations are the fine-grained entity references inside those segments. An episode might carry 5 chapters and 40 annotations, and neither constrains the other. WebVTT and SRT sit on a different axis entirely. Subtitle formats carry the transcript text, this spec carries the entities and topics referenced in that text, and a player can use both at once: WebVTT for the transcript, annotations for contextual overlays.</p>
1791
+
<p>A separate exploration, <ahref="https://github.com/carcurious/podcast-annotations-js/blob/main/proposals/chapters-extension.md">Annotations as a <code><podcast:chapters></code> extension</a>, asks whether the annotation model could be carried as an extension of the <ahref="https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/tags/chapters.md"><code><podcast:chapters></code></a> object instead of the standalone <code><podcast:annotations></code> element described above, so annotations inherit chapters' existing tooling: player rendering, and whatever keeps chapters aligned under dynamic ad insertion. That work is exploratory and does not change this data model.</p>
1791
1792
<p><strong>Apple Podcasts Timed Links.</strong> Starting with iOS 26.2 (Nov 2025), Apple Podcasts renders creator-authored timed links as banners on the Now Playing screen, inline in the transcript, and in a "From This Episode" section on the episode page (<ahref="https://podcasters.apple.com/support/5536-links-on-apple-podcasts">Apple's timed links documentation</a>; see also <ahref="https://podcasters.apple.com/support/5545-enhance-episodes-with-chapters-links-more">chapters, links, and more</a>). Creators author these links two ways: hyperlinked text and a timestamp in the episode description, or <code>url</code> fields on the existing Podcasting 2.0 <code><podcast:chapters></code> JSON. Apple introduced no new RSS tag for this. Apple also auto-detects podcast mentions in English-language shows and links to the mentioned show; creators can opt out via Apple Podcasts Connect.</p>
1792
1793
<p>The feature validates the moment-level pattern this spec is built on, at much narrower scope. Link destinations are limited to Apple's own ecosystem (Apple Books, Music, Music Classical, Maps, News, Podcasts, Sports, Stocks, TV, Shazam) and other podcasts; a timed link cannot point at an arbitrary URL. It also carries no typed entity (<code>person</code>, <code>place</code>, <code>car</code>, …), no <code>canonicalId</code>, no <code>layer</code>/<code>producer</code>, and no time span: it fires at a point, not across the range where an entity is discussed. Apple documents how timed links render. It has not published a data model for what one is.</p>
1793
1794
<p><em>Interop guidance:</em> Apple already renders <code>url</code> fields on <code><podcast:chapters></code>, so a producer can export a slice of their highest-<code>priority</code> annotations into a chapters file and get Apple Podcasts to render them as timed links today, with no new infrastructure. This export is lossy and one-way: a chapters entry carries no <code>type</code>, <code>canonicalId</code>, <code>speaker</code>, or <code>confidence</code>, and chapters stay coarse and non-overlapping by design. iOS 26.2 also only auto-generates chapters when a feed provides none, so publishing every annotation as a chapter would suppress that auto-generation too. Export only the editorial highlights this way, and keep the full annotation set in the sidecar file or, per the RSS Distribution guidance below, a <code><podcast:annotations></code> element.</p>
Version 1.1.0. Released under <ahref="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>. Last updated 2026-07-03. <ahref="https://github.com/carcurious/podcast-annotations-js">GitHub</a>.
1836
+
Version 1.1.0. Released under <ahref="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>. Last updated 2026-07-14. <ahref="https://github.com/carcurious/podcast-annotations-js">GitHub</a>.
0 commit comments