Coding a Smarter RSS Podcast Button
Related link: http://www.spacemusic.nl
When is a button not a button? When I click on the RSS button above this article,* Firefox asks me where I want to download a file called “ ” (there’s just a blank space). Safari just redisplays the article teaser. The
and
buttons on other sites (which look even more like physical buttons) bring up the whole geeky-looking XML file in Firefox.
The correct action, I’ve learned, is to right-click (or Control-click) on the button, copy the RSS file location, and paste it into my aggregator program.
I thought about this unintuitive procedure recently when trying to tell someone how to subscribe to O’Reilly’s new Distributing the Future podcast, for which I wrote the theme music. In that case, the third step was to click the Advanced menu in iTunes, select “Subscribe to Podcast,” and paste the link into the little box that drops down.
Coincidentally, one of my favorite podcasts, Space Music, came up with a clever workaround. When you click the RSS button on the Space Music site, a JavaScript prompt opens up, with the URL selected, and tells you to copy the URL and paste it into your podcatching program.
Here’s an example of how it works:
<div align="center">
<a href="http://spacemusic.libsyn.com/rss" target="_blank"
onClick="prompt('To subscribe to this podcast,
copy this link and paste it into your aggregator software
(e.g., iTunes or iPodder).',
'http://spacemusic.libsyn.com/rss'); return false;">
<img src="rss-btn.gif" width="36" height="14"
border="0" alt="Smart RSS Button" /></a>
</div>
Of course, “RSS” and “XML” are singularly unhelpful labels for a podcast feed button. At a minimum, I’d suggest “POD,” though “Podcast Link” would be better. But there must be a better way to fix a button that isn’t really a button.
*UPDATE, 2006-09-19: Our current blog layout uses text links instead of RSS buttons, but their behavior is the same.
Also, I just thought of a more compact way to make the RSS links: Simply move the JavaScript functions to an exernal file. The new link format then looks like this:
<a href="http://spacemusic.libsyn.com/rss" target="_blank"
onclick="RSSalert(this.href); return false;">[BUTTON]</a>
And the external JavaScript looks like this:
function RSSalert(theURL) {
prompt('To subscribe to this podcast, copy this link and paste it into your aggregator software (e.g., iTunes or iPodder).', theURL);
}
Categories
WebRead More Entries by David Battino.

...And the specs for the ITMS are here: http://www.apple.com/itunes/podcasts/techspecs.html" target="_blank">www.apple.com/itunes/podcasts/techspecs.html.
Luke: Check out Apple's ITMS Link Maker page. You enter the name of the song or artist you want and the page creates a link for you.
I have read that you can code links to iTunes compatible Podcast XML/RSS files so that they are automatically opened in iTunes by changing the protocol from "http" to "itms" (iTunes Music Store).
That would bypass all these problems, at least for iTunes users.
Can you syndicate podcasts w/ RSS 1.0
I found http://www.dalkescientific.com/Python/PyRSS2Gen.html which may work.
Can you syndicate podcasts w/ RSS 1.0
Apparently, but why would you want to?
Mainly because the only good, simple Python RSS module I could find (RSS.py - see http://www.mnot.net/python/RSS.py and http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/310322) only produces RSS 1.0 feed files, and I've already written code against that module.
So it would be far easier to use RSS 1.0 if possible, rather than having to hunt down a 2.0-producing Python module (which I did try, btw) and then maintaining two RSS modules. Thanks for the mod_enclosure link, maybe that will work :-/
If you know of a simple RSS 2.0 producing Python module, though, that would probably end up helping a lot too, since I suspect I'll be forced to code to support what's out there.
Thanks.
Can you syndicate podcasts w/ RSS 1.0
Apparently, but why would you want to? The Wikipedia RSS entry (http://en.wikipedia.org/wiki/RSS_(protocol)#Incompatibilities) says, “The RSS 2.* branch was the first to support enclosures, making it the current leading choice for podcasting, and as of mid-2005 is the format supported for that use by iTunes and other podcasting software; however, an enclosure extension is now available for the RSS 1.* branch, mod_enclosure” (see http://www.xs4all.nl/~foz/mod_enclosure.html).
More here: http://radar.oreilly.com/archives/2005/06/it_turns_out_rs.html
—David
Can you syndicate podcasts w/ RSS 1.0
I was looking at the Yahoo! (http://podcasts.yahoo.com/publish?i=3) docs on podcasting, and their example of a feed file uses RSS 2.0.
Is that necessary, or can I use RSS 1.0 for podcast feed files? Thanks.
pretty sweet hack
I was just grumbling about the same issues you raised last night. I feel like it's a pain to have to right click and get the URL to paste into my DashBoard widget or to see all the XML mumbo jumbo when all I'm trying to do is subscribe to a feed (I typically use Firefox).
What you've done here is a nice little hack...but I wonder what it would take to make it catch on?
pretty sweet hack
Hostile to Safari users
Did you try it? The link contains both JavaScript and a normal HTML link. When I control-click on it in Safari, I do see the “Add Link to Bookmarks” item in the pop-up menu. My point is that neither the labeling of an RSS/XML button or what happens when you treat it like a normal button—left-click it—makes sense.
Admittedly, adding a layer of explanation is a hack. It’s equivalent to adding the buzz back to electric carving knives so people wouldn’t accidentally slice off their thumbs while testing to see if the knife is turned on. (A supposedly true story I read in a usability book.) But the explanation should help people who are less-savvy with Web jargon. —David Battino
Hostile to Safari users
Doing that to your link makes it hostile to Safari users who are using Safari as an RSS reader (and possibly Mozilla users that do the same). If it's a real link, we can simply control-click on it, and "add to bookmarks", and it's a done deal. If you pop up a window, we have to select the text (manually), visit the page (another keystroke), then "bookmark this page" (another keystroke).
Ugh.
No savings there. Try not to be "cute"... you're probably being hostile to some part of your audience.