]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blob - doc/todo/fancypodcast.mdwn
Merge branch 'master' into debian-jessie-backports
[git.ikiwiki.info.git] / doc / todo / fancypodcast.mdwn
1 ## Status
3 [[!template id=gitbranch branch=schmonz/fancypodcast author="[[schmonz]]"]]
4 [[!tag patch]]
6 Nothing new since 2013/07/21 [[merge|done]] to `master`.
8 ## Features
10 [[!table data="""
11 Feature            |iTunes RSS|iTunes Atom|Downcast RSS|Downcast Atom
12 Feed image         |          |           |            |
13 Feed title         |(./)      |(./)       |(./)        |(./)
14 Feed publisher     |          |           |            |
15 Feed "category"    |          |           |            |
16 Feed date          |(./)      |(./)       |(./)        |(./)
17 Feed description   |(./)      |(./)       |(./)        |
18 Episode image      |          |           |            |
19 Episode title      |(./)      |(./)       |(./)        |(./)
20 Episode date       |(./)      |(./)       |(./)        |(./)
21 Episode duration   |          |           |            |
22 Episode author     |          |           |            |
23 Episode description|(./)      |(./)       |(./)        |
24 Episode enclosure  |(./)      |(./)       |(./)        |(./)
25 """]]
27 ## Future improvements
29 ### Embedded audio/video player in browsers
31 * For a given enclosure, depending on autodetected MIME:
32     * `audio/*` -> `<audio>`
33     * `video/*` -> `<video>`
34 * For a given template:
35     * `page.tmpl` -> eagerly fetch media
36     * `inlinepage.tmpl` -> fetch just enough to display durations
37 * Only for HTML5 sites, or also okay for XHTML?
38 * Does this work well enough in enough browsers, or do we need a
39   JavaScript player to fill in some gaps?
41 ### iTunes fancy podcasting
43 * [iTunes-specific tags](https://www.apple.com/itunes/podcasts/specs.html)
44   appear to be RSS-only
45     * Can we always include them in RSS feeds, or would that break
46       some feed readers?
47     * Is it even valid to include them in Atom feeds? If so, do
48       Atom podcasts look any better in podcatchers?
49     * Avoid adding a third kind of feed (`itunesrss`), or options
50       to the existing `rss` and `atom` feeds, unless we have to.
51 * Notable tags for feeds:
52     * `itunes:subtitle`
53     * `itunes:author`
54     * `itunes:summary` (same as `description`)
55     * `itunes:owner` (includes `itunes:name` and `itunes:email`)
56     * `itunes:image href=''`
57     * `itunes:publisher`
58     * `itunes:category text=''` (can contain subcategories)
59     * `itunes:keywords`
60 * Notable tags for entries:
61     * `itunes:duration`
62         * [[!cpan Audio::TagLib]] might be fastest, if present and applicable
63         * [ffprobe](http://ffmpeg.org/ffprobe.html) is reasonably fast
64         * [mediainfo](http://mediainfo.sourceforge.net/) is way slower
65         * Cache computed durations as pagestate
66 * [Podcast Feed Best
67   Practice](https://github.com/gpodder/podcast-feed-best-practice/blob/master/podcast-feed-best-practice.md)
68   from the gPodder folks
70 ### Fancy podcast aggregating
72 * Write tests comparing a fancy podcast (HTML and feeds) against
73   the same podcast aggregated and republished, then make them pass
74   via changes to `aggregatepost.impl` and [[plugins/aggregate]].
76 ### Other ideas
78 * Optionally specify the enclosure's:
79     * MIME type, in case `File::MimeInfo` guesses wrong.
80     * Duration, in case `ffprobe` guesses wrong.
81 * Optionally specify enclosures outside the wiki:
82     * Some people don't want to store big unchanging files in the VCS.
83     * Other people like [podcasting found media](http://huffduffer.com/about).
84     * We'd have to download the file just to compute some metadata
85       about it, and then somehow not frequently re-download it.
86 * Configurably generate additional subscription links (such as
87   iTunes) alongside the RSS/Atom ones in [[plugins/inline]].
88 * Support Apple's "enhanced podcasts" (if they're still relevant).