Version 19, changed by Andrew.Davey. 06/12/2005. Show version history
This document details the steps needed to enable One-Click subscription to podcast RSS feeds. The method is based on the USM (Universal Subscription Method) described at http://www.kbcafe.com/rss/usm.html. (It is suggested developers still read the USM specification for details of supporting Reflexive Auto-Discovery.)
One-Click subscription describes the method of subscribing to a podcast RSS feed by just clicking a link in a web page. An application installed on the user's computer will be invoked by the user's web browser when the link is clicked. The application is then able to add the selected podcast feed to the user's subscription list.
When returning the podcast RSS feed, the HTTP header “Content-Type” must be set to the following MIME type:
application/rss+xml
The following element must be added inside the RSS 2.0 <channel> element:
<atom:link
rel="self"
type="application/rss+xml"
title="Title of RSS Feed"
href="http://url to the RSS feed"
xmlns:atom="http://purl.org/atom/ns#" />
Obviously, replace the title and href attributes to match the RSS feed's title and location.
See this example of an RSS feed before and after adding One-Click Subscribe support.
(Read more about ATOM here http://www.atomenabled.org/developers/syndication/atom-format-spec.php.)
Register the podcatcher client application as the handler for the application/rss+xml MIME type. Windows developers see the WindowsRegistryKeys page for the keys you need to add to the registry.
Make sure the application is ready to receive a filename as a command line parameter. When the user clicks a podcast subscription link in their web browser, the application will be passed the filename of the temporary file containing the RSS XML data. (Note that the web browser will handle downloading and saving the RSS to the temporary file.)
The client application then has to open the file and parse the XML for the <atom:link /> element and extract the href attribute. The URL contained in this attribute is the location of RSS i.e. the URL to subscribe to.
It is suggested that the client application displays some form of confirmation user interface, maybe showing additional information about the feed, to allow the user to double check that they want to subscribe.