TWiT Show Feed Anatomy

From The Official TWiT Wiki
Jump to: navigation, search

This article is intended to explain the contents of TWiT's show feeds and how the podcast feed is put together. You can find a complete list of feeds in our TWiT Show Feeds article. This article uses This Week in Tech as an example, but the information is relevant to all shows.

Feed Location

All feeds can be found at feeds.twit.tv. Audio (MP3) feeds just have the show abbreviation as the name of the file followed by ".xml". (Although the .xml extension is optional for some shows when you load the file, we recommend using it to guarantee compatibility.) There are some exceptions to the show abbreviations, usually in older shows. For example, The Tech Guy's audio feed is named" kfi.xml" and TWiT Live Specials's audio feed is "ces.xml" (because it was started to cover CES).

For the video feeds, they have _video_small, _video_large, and _video_hd between the show abbreviation and .xml extension. These are for the "Video-LO", "Video-HI", and "Video-HD" feeds.

Show Information

The first line in the XML file declares the file as an RSS file and references various XML namespaces used within the file.

<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:bing="http://bing.com/schema/media/" version="2.0">

Next, we open up the "channel" part which contains all the show content.

<channel>

The "title" tag contains the title of this feed. This example has the HD podcast feed for This Week in Tech.

<title>This Week in Tech (Video-HD)</title>

The "link" tag is where people should go to find more information on the show. If you have a link for the show, it should go to this URL.

<link>https://twit.tv/shows/this-week-in-tech</link>

The following lines aren't likely to be anything you care about or need to reference. It's the name and version of TWiT's feed generation software, information on what RSS is, the language of the feed, and the copyright notice. (Maybe you'd want to reference this if you wanted to share our Creative Commons license info instead of just sticking up an incorrect "Copyright ©201X TWiT, LLC". iTunes does.)

<generator>TWiT Feed Generator v3.0</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<language>en-US</language>
<copyright>
This work is licensed under a Creative Commons License - Attribution-NonCommercial-NoDerivatives 4.0 International - http://creativecommons.org/licenses/by-nc-nd/4.0/
</copyright>
<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/4.0/</creativeCommons:license>

These lines are required by some podcast fetchers because they claim they want to know who to contact, so we've included them. Please, if you have an issue with the feeds, don't contact Leo directly. Contact the TWiT Engineering staff instead. (We're trying to establish a developer community, so we'd love to hear from you anyway!)

<managingEditor>leo@twit.tv (Leo Laporte)</managingEditor>
<webMaster>distro@twit.tv (TWiT Engineering)</webMaster>

The first line is the TTL (Time To Live) which is how many minutes to wait between checking the feed again (which we're sure people just ignore). The other two lines here are to indicate how frequently the feed is usually updated. With "weekly" and "1", this means that the feed is updated once per week. Tech News Today would say something difference since it's a daily show.

<ttl>720</ttl>
<feedType>incremental</feedType>
<changefreq>weekly</changefreq>
<sy:updatePeriod>weekly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>

These two lines will always have identical dates and times since we build the feed as shows are published...but this is the last time it was updated.

<lastBuildDate>Mon, 17 Oct 2016 10:53:36 PDT</lastBuildDate>
<pubDate>Mon, 17 Oct 2016 10:53:36 PDT</pubDate>

This is the "author" of the feed. All ours say "TWiT'.

<itunes:author>TWiT</itunes:author>

The "subtitle" is a short version of the show description. Pull this in if you need something short.

<itunes:subtitle>
Your first podcast of the week is the last word in tech.
</itunes:subtitle>

The "summary" and "description" are the long version of the show description. If you have more space, use this. You can use either since they're always identical.

<itunes:summary>
Your first podcast of the week is the last word in tech. Join the top tech pundits in a roundtable discussion of the latest trends in high tech. Records live every Sunday at 6:00pm Eastern / 3:00pm Pacific / 22:00 UTC.
</itunes:summary>
<description>
Your first podcast of the week is the last word in tech. Join the top tech pundits in a roundtable discussion of the latest trends in high tech. Records live every Sunday at 6:00pm Eastern / 3:00pm Pacific / 22:00 UTC.
</description>

These keywords are intended to help people find the podcast in a search.

<itunes:keywords>
TWiT, Technology, Leo Laporte, TechTV
</itunes:keywords>

All current TWiT shows are not explicit, but in some podcasts you may see "yes" if there's adult language.

<itunes:explicit>clean</itunes:explicit>

Do we want this show blocked? No. This is very unlikely to ever say "yes". If it does, we're pulling an entire show for some reason!

<itunes:block>no</itunes:block>

This is similar to the "Managing Editor" and "Webmaster" fields above. If there are issues, don't contact Leo...despite what this tag may indicate.

<itunes:owner>
<itunes:name>Leo Laporte</itunes:name>
<itunes:email>leo@twit.tv</itunes:email>
</itunes:owner>

iTunes lets you define up to four categories for a podcast. This Week in Tech is only in one, the "Tech News" subcategory under "Technology". Some shows may be in two or more.

<itunes:category text="Technology">
<itunes:category text="Tech News"/>
</itunes:category>

These tags are for the image. Podcast catchers love to use 144x144 art for some reason. It's tiny and ugly, so please don't load this art unless you really need 144x144 or smaller. As part of this image tag group, we've also included the title and link again...because that's recommended. However, we'd recommend using the title and link in the earlier "title" and "link" tags.

<image>
<title>This Week in Tech (Video-HD)</title>
<url>
http://elroy.twit.tv/sites/default/files/styles/twit_album_art_144x144/public/images/shows/this_week_in_tech/album_art/hd/twit1400videohd.jpg?itok=-BQrxEDQ
</url>
<link>https://twit.tv/shows/this-week-in-tech</link>
<width>144</width>
<height>144</height>
</image>

This is the artwork you should use for the show. This is a 1400x1400 or 2048x2048 copy of the show art...nice and huge!

<itunes:image href="http://elroy.twit.tv/sites/default/files/styles/twit_album_art_2048x2048/public/images/shows/this_week_in_tech/album_art/hd/twit1400videohd.jpg?itok=jjjJiow4"/>

This is the location of the feed file. If you've grabbed the file, you obviously know this already. Note here that we do include the ".xml" extension on the end. You should be reading the feed from the same URL mentioned here. If you're getting it elsewhere, you may want to fix that.

<atom:link href="http://feeds.twit.tv/twit_video_hd.xml" type="application/rss+xml" rel="self"/>

Episode Information

After the above tags, there will be multiple "item" groups that each contain information on an individual episode. We'll look at one example episode here.

Right after the "item" tag (to mark the start of a new episode in the feed), you'll find the title of that episode.

<item>
<title>TWiT 584: It's Not a Fact, but It Is Trending</title>

The publication date is when this episode was published.

<pubDate>Sun, 16 Oct 2016 17:13:21 PDT</pubDate>

This "link" and "comments" tags are links to the episode's page on the TWiT site.

<link>https://twit.tv/shows/this-week-in-tech/episodes/584</link>
<comments>https://twit.tv/shows/this-week-in-tech/episodes/584</comments>

These are the same as the tags in the Show Information as described above.

<itunes:author>TWiT</itunes:author>
<author>leo@twit.tv (Leo Laporte)</author>

We're not really sure what uses the "category" tag, but we left it in for legacy reasons.

<category>Tech News</category>

Does the episode contain explicit language? Most TWiT shows say "no". Refer to Abby's Road for an example of a show that says "yes".

<itunes:explicit>clean</itunes:explicit>

This is a brief episode description.

<itunes:subtitle>
End of the Note 7, Google Assistant, Facebook's Workplace, Yahoo insecurity, and more.
</itunes:subtitle>

This is the full episode description as it appears on the TWiT site.

<itunes:summary>
<![CDATA[
<p>The Note 7 is officially dead - Samsung stops production and the CPSC issues an official recall. Will Google's new Pixel Phones benefit? Is Google Assistant going to be a big draw? Also, Facebook tries to take over the enterprise with Workplace. Fallout from the Yahoo hack and surveilance debacle - Verizon may back out of their purchase deal. And nobody wants to buy Twitter at all. What would it take to make Twitter a functional business?</p><ul><li>Leo and Nate are mad at Yahoo and Marissa Mayer for keeping their hack secret for so long</li><li>Nate and Mike both wrote interesting articles about Google's new fact checking labels - how do you survive in an post-fact world?</li><li>Ben Thompson has a simple solution for fixing Twitter: just fire everyone.</li></ul> <p><strong>Host:</strong> <a href="https://twit.tv/people/leo-laporte">Leo Laporte</a></p> <p><strong>Guests:</strong> <a href="https://twitter.com/benthompson" target="_blank">Ben Thompson</a>, <a href="https://twitter.com/nateog" target="_blank">Nathan Olivarez-Giles</a>, and <a href="https://twit.tv/people/mike-elgan">Mike Elgan</a></p> <p>Download or subscribe to this show at <a href="https://twit.tv/shows/this-week-in-tech">https://twit.tv/shows/this-week-in-tech</a></p><p>Bandwidth for This Week in Tech is provided by <a href="https://www.cachefly.com/" target="_blank">CacheFly</a>.</p>
]]>
</itunes:summary>

The description field is the same as the "itunes:summary" tag, but also includes the 144x144 cover art.

<description>
<![CDATA[
<p><img src="http://elroy.twit.tv/sites/default/files/styles/twit_album_art_144x144/public/images/shows/this_week_in_tech/album_art/hd/twit1400videohd.jpg?itok=-BQrxEDQ" align="right" hspace="20" vspace="20" border="0" title="This Week in Tech (Video-HD)" alt="This Week in Tech (Video-HD)"/></p><p>The Note 7 is officially dead - Samsung stops production and the CPSC issues an official recall. Will Google's new Pixel Phones benefit? Is Google Assistant going to be a big draw? Also, Facebook tries to take over the enterprise with Workplace. Fallout from the Yahoo hack and surveilance debacle - Verizon may back out of their purchase deal. And nobody wants to buy Twitter at all. What would it take to make Twitter a functional business?</p><ul><li>Leo and Nate are mad at Yahoo and Marissa Mayer for keeping their hack secret for so long</li><li>Nate and Mike both wrote interesting articles about Google's new fact checking labels - how do you survive in an post-fact world?</li><li>Ben Thompson has a simple solution for fixing Twitter: just fire everyone.</li></ul> <p><strong>Host:</strong> <a href="https://twit.tv/people/leo-laporte">Leo Laporte</a></p> <p><strong>Guests:</strong> <a href="https://twitter.com/benthompson" target="_blank">Ben Thompson</a>, <a href="https://twitter.com/nateog" target="_blank">Nathan Olivarez-Giles</a>, and <a href="https://twit.tv/people/mike-elgan">Mike Elgan</a></p> <p>Download or subscribe to this show at <a href="https://twit.tv/shows/this-week-in-tech">https://twit.tv/shows/this-week-in-tech</a></p><p>Bandwidth for This Week in Tech is provided by <a href="https://www.cachefly.com/" target="_blank">CacheFly</a>.</p>
]]>
</description>

This is the GUID. It IS ABSOLUTELY NOT the link you should use for downloading the file. It is intended to be a unique identifier for the episode. If it changes, then the episode has changed and should be marked as a "new" episode so people can re-download it. If it hasn't changed, then people shouldn't be told there's a new episode (even if we change the description, title, or download link. For example, if there's a typo in the episode or the show description, we're not going to change the GUID and force people to re-download it. However, if there's a major problem with the downloadable file, we WILL change the GUID so that people can see the fixed version.

<guid isPermaLink="false">
http://www.podtrac.com/pts/redirect.mp4/cdn.twit.tv/video/twit/twit0584/twit0584_h264m_1280x720_1872.mp4
</guid>

This is the episode length in hours, minutes, and seconds. (Shorter episodes may just have minutes and seconds. We'll never list just seconds.)

<itunes:duration>2:27:21</itunes:duration>

This is also a link to download the file.

<enclosure url="http://www.podtrac.com/pts/redirect.mp4/cdn.twit.tv/video/twit/twit0584/twit0584_h264m_1280x720_1872.mp4" length="1893605376" type="video/mp4"/>

Want one more? This is yet another download link for the file. Why two? Different podcatchers like different methods. These contain the MIME type of the file and the file length in bytes.

<media:content url="http://www.podtrac.com/pts/redirect.mp4/cdn.twit.tv/video/twit/twit0584/twit0584_h264m_1280x720_1872.mp4" fileSize="1893605376" type="video/mp4" medium="video">

For anything that recognizes "price" tags on media, you can download TWiT for free, so we make that known here.

<media:price type="subscription" info="https://twit.tv/shows/this-week-in-tech" price="0.00" currency="USD"/>

This is a tag containing a thumbnail image for the episode. Although it says "400x300" in the directory name, it's actually 400x225.

<media:thumbnail url="http://elroy.twit.tv/sites/default/files/styles/twit_slideshow_400x300/public/images/episodes/346751/hero/twit0584_h264.01_26_49_34.still001.jpg?itok=qKjLWh2s" width="400" height="225"/>

This is a simple rating of either "adult" or "nonadult" for the episode.

<media:rating scheme="urn:simple">nonadult</media:rating>

This is the V-Chip for the episode.

<media:rating scheme="urn:v-chip">tv-g</media:rating>

These are credits for the episode. "anchor person" is for hosts and co-hosts, "reporter" is for guests, "producer" is the show producer", and "director" is who ran the TriCaster and acted as technical director (TD).

<media:credit role="anchor person">Leo Laporte</media:credit>
<media:credit role="reporter">Ben Thompson</media:credit>
<media:credit role="reporter">Nathan Olivarez-Giles</media:credit>
<media:credit role="director">Karsten Bondy</media:credit>
<media:credit role="producer">Karsten Bondy</media:credit>

Closing the "media" tag.

</media:content>

Microsoft Bing recognizes "price" tags. In this case, you can download TWiT for free, so we make that known here.

<payment type="free"/>

Closing the "item" tag.

</item>

End of File

At the end of the file, it's closed out by these tags:

</channel>
</rss>