Huffduffing for podcasters

I was pointed to this discussion thread which is talking about how to make podcast episodes findable for services like Huffduffer.

The logic behind Huffduffer’s bookmarklet goes something like this…

  1. Find any a elements that have href values ending in “.mp3” or “.m4a”.
  2. If there’s just one audio on the page, use that.
  3. If there are multiple audio, offer a list to the user and have them choose.

If that doesn’t work…

  1. Look for a link element with a rel value of “enclosure”.
  2. Look for a meta element property value of “og:audio”.
  3. Look for audio elements and grab either the src attribute of the element itself, or the src attribute of any source elements within the audio element.

If that doesn’t work…

  1. Try to find a link to an RSS feed (a link that looks like “rss” or “feed” or “atom”).
  2. If there is a feed, parse that for enclosure elements and present that list to the user.

That covers 80-90% of use cases. There are still situations where the actual audio file for a podcast episode is heavily obfuscated—either with clickjacking JavaScript “download” links, or links that point to a redirection to the actual file.

If you have a podcast and you want your episodes to be sharable and huffduffable, you have a few options:

Have a link to the audio file for the episode somewhere on the page, something like:

<a href="/path/to/file.mp3">download</a>

That’s the simplest option. If you’re hosting with Soundcloud, this is pretty much impossible to accomplish: they deliberately obfuscate and time-limit the audio file, even if you want it to be downloadable (that “download” link literally only allows a user to download that file in that moment).

If you don’t want a visible link on the page, you could use metadata in the head of your document. Either:

<link rel="enclosure" href="/path/to/file.mp3">


<meta property="og:audio" content="/path/to/file.mp3">

And if you want to encourage people to huffduff an episode of your podcast, you can also include a “huffduff it” link, like this:

<a href="">huffduff it</a>

You can also use ?page=referer—that misspelling has become canonised thanks to HTTP.

There you go, my podcasting friends. However you decide to do it, I hope you’ll make your episodes sharable.

Have you published a response to this? :


Jeremy Cherfas

So great when developers are responsive. Thanks to @adactio, and here’s hoping @timpritlove can work with this. I really want to switch to podlove publisher.

On discovery of (good) content from the interwebs. A short reply to @anildash @kylewmahan @tinokremer et. al Tino, your note reminds me of Dave Winer’s service which he built to be able to have access to interesting podcasts at any time without having to sync his phone. Sadly, I think it’s a static source and not quite the tool that even is and even that requires some user set up to find great material. I remember early web efforts like Digg that were interesting for a while, but sadly services like this regress to the mean and one gets the fluff that appeals to Harry and Mary Beercan. My favorite discovery engine lately is the Nuzzle News app from Jonathan Abrams ( which plugs into my social feeds and gives me articles from friends/influencers that have been mentioned several times. The value of the site is the ability to easily plug in well curated twitter lists on particular topics which then finds articles tweeted about multiple times by people I trust. I find that most of what the app uncovers is worth reading and thinking about. Rarely does it surface fluff, though I find that the articles in the friends of friends category are things that I don’t care that much about. If only we could get Nuzzle to partner with Huffduffer?! Pocket also has a recommended tab ( which is relatively useful, but it really isn’t far from the simple algorithmic approach of Digg in the past. Also, can someone please build an internet-wide filter to get rid of and the joke and fluff emails with the 1000 forwards from 1998? We’d all be a lot better off.

# Thursday, April 28th, 2016 at 6:27pm

Previously on this day

5 years ago I wrote A question of timing

Incrementally improving the perceived performance of Ajax interactions.

6 years ago I wrote Pattern sharing

The front-end style guide for Code for America.

13 years ago I wrote Do the right semantic thing

A new site looks like a golden opportunity for vote-links.

14 years ago I wrote Four listless things

My sore throat has turned into a full-blown cold. My vulnerable immune system has left me susceptible to memes and, wouldn’tchya know it, I’ve gone and caught one from Rob and Steve.

18 years ago I wrote LEGODEATH: A Museum of Horrors

More fun with LEGO including "Ages Of Execution" and "Torture Classics".

18 years ago I wrote Mission Statement Generator

This is hilarious and slightly frightening.

18 years ago I wrote The Enron Corporation

So everyone is boo-hooing about Enron’s collapse and how people lost money because the company’s real financial situation wasn’t apparent.