The State of Podcast Apps — 2013

We’re in a golden age of podcasts. And yet, all the apps suck.

Super Jeff
I. M. H. O.
Published in
13 min readOct 11, 2013

--

Disclaimer: this post is 100% iOS-centric, with a focus on iPhone apps in particular.

This was originally posted on my personal blog, superjeffective.com.

Everything Awful

I was partially inspired to write this by Harry Mark’s The State of Podcasting: 2013. Harry points out ways in which many podcasts could be improved, and he ends by comparison to the approachability of terrestrial talk radio. I agree with many of his suggestions for how podcasts could be improved (limiting episode length, competent editing, focusing conversation, and splitting episodes into seasons), but I think his conclusion raises an interesting point while somewhat missing the mark. Indeed, podcasts are not as approachable as terrestrial talk radio, but the content isn’t the problem—the apps are.

There is something intimidating about podcasts. Many people think they have no time to listen, without realizing the nooks in their lives where audial processing is available (e.g., cleaning dishes, walking, driving, doing chores, or running errands) and how much that time adds up. More importantly, all the existing podcast apps do an extremely poor job of serving this potential podcast lover who knows nothing about podcasting but wants to take a tiny step into the pool to test the waters. I insist that, for every person who is skeptical of or doesn’t understand podcasts, there are several podcasts currently being published that he/she would love, if only he/she didn’t find podcasts intimidating and could discover these shows.

But what really lit a fire under me was listening to Andrew Johnstone and Emily Reese’s discussion about Marco Arment’s recently-announced podcast app in development, Overcast, on Podcast Squared, Epsiode #198 “Apple… Just… Stop…”. This discussion was full of ignorance and the immature behavior of immediately rejecting the unknown as stupid. The main element of their discussion which irked me was Andrew’s assertion that podcast apps are a solved problem (0:04:03; ellipses inserted to note cut words, not pauses):

Apple has been asleep at the wheel for years, but lots of other people haven’t. A thousand people haven’t. We’ve had people on this show. Instacast is one… We had the dude from Downcast… It just seems to me like there are at least a hundred alternatives. Everybody has taken care of this issue, and everyone in a broad range: Stitcher… Instacast, Downcast, Dogcast, Player.FM.

When Apple announced the iPod in 2001, was the proper response, “Everybody has taken care of this issue: Audible.com, Saehan, Diamond, HanGo, Creative, Cowon, Archos”? Similar ignorant gut reactions blind to the possibility of innovation were no doubt made at the thought of Apple entering the phone and tablet businesses. Whether 3rd-party podcast app developers have been asleep at the wheel is a touchy subject, but Andrew’s underlying sentiment—that the issue has been “taken care of,” that existing apps are perfect—is clearly absurd. There is always room for innovation, for crazy new features that completely change how we listen to podcasts and, much more importantly, who listens to podcasts. In the course of the conversation, both hosts come off annoyed by the idea of an unknown player entering the space, and assume the player must be stupid because they don’t have information about him. No lover of podcasts should be annoyed that a new app is being created—in the worst-case scenario, it sucks and no one cares; in the best-case scenario, it sets off a chain reaction that makes podcasts as ubiquitous as radio. All podcast apps suck in comparison to what they could be.

In setting out to write this post, I re-stumbled upon Chris Gonzales’s iOS 7 and the State of Podcast Apps. I agree with Chris’s optimistic attitude to the future, and agree that it’s awesome that all the major iOS apps got new UI and some new features all at once, but none of their new features fundamentally change how people listen to podcasts. Background downloading is great, and within months we’re going to wonder how we survived in the dark ages of iOS 6, but it’s not going to convert someone who found podcasts too unwieldy into the devoted podcast lover that they really should be. Chris has a great analogy:

The point is, I don’t think I would necessarily call any of the current podcast apps the “best one” right now. They’re all going through a phase of change and experimentation, like a kind of adolescence — all the kids are going through it, and there’s no telling what the mature results will be like until the awkward phase is over.

But I think it’s a little off-base: the current crop of podcast apps aren’t going through puberty—they’re toddlers who learned to talk years ago but still need their diapers changed. Podcast apps were created to ease the pain of The Old Workflow—downloading a podcast on iTunes for the desktop and then syncing the device to send the episode to iOS’s iPod or Music app. This is now a completely solved problem. And yet, how far have podcast apps advanced beyond this? Each app has a few things it does to differentiate itself (e.g., Downcast with countless options, Instacast with bookmarks and subscription-less episodes, Pocket Casts with server-side update checking), but these are all minor incremental improvements to the formula[^formula]. Since iTunes-free management and streaming episodes without download, how many apps have implemented a feature so amazing that every competing app had to incorporate this feature in some form eventually? None that I can think of.

I really hope that Overcast will usher in a new age of innovation to podcast apps. The large players in the high-quality-app space (Instacast, Downcast, and Pocket Cast) have not changed in years, leading to a stalemate in major features. Meanwhile, the majority of people new to podcasts use Apple’s Podcasts app or Stitcher; Apple has no interest in revolutionizing podcast consumption, and Stitcher has potential to affect change with car integration but a lot of other issues. The situation is indeed very overcast right now.

Oh God Somebody Do Something

Here are some of my ideas for features that could change podcasting. This is by no means even an attempt at a comprehensive list. Let’s hope Marco has something even more revolutionary up his sleeve with Overcast, and that that inspires other developers to create features that none of us have even thought of yet.

Sharing

I listen to hundreds of podcasts regularly. My wife listens to none. If I listen to an episode that I think she’ll enjoy, what’s the easiest way to share to her phone? It is literally to pick up her phone and download Instacast, search for the podcast, and import the episode. As of Instacast’s iOS 7 update, this is a huge improvement over the previously best process: subscribe to podcast, mark all as played (or delete) all episodes except for the one that I wanted her to listen to, disable all automatic feed updates, and remind her to never pull-to-refresh (which would introduce new unplayed episodes, making it unclear which episodes I’d “shared”). This is still ridiculous.
Pocket Casts gets really close to this goal, but misses the mark in a really important way: the primary sharing workflow that needs to work is sharing episodes, not podcasts. Shifty Jelly clearly understands this, as they have a very slick interface in the app and a web backend to generate a share-able link to an episode, but the workflow breaks down when the app is opened and the one and only one option presents itself: Subscribe. If I’ve shared an episode with a friend, I don’t want to guilt them into subscribing. I want them to listen to the episode (not just in a little feed preview window, but as episode on equal footing with other episodes in a queue), and they can choose to subscribe if they really liked it.

Refresh speeds

If I have 30 feeds, checking each of those individual servers for an update can take a lot of time (I have 11 podcasts in Downcast, and it takes over 30 seconds to check if there are any updates). From an engineering perspective, it’s also just inefficient work that doesn’t need to be happening on my device, wasting battery life and mobile bandwidth. Shifty Jelly already does this perfectly with Pocket Casts—their web backend crawls feeds to check for updates and aggregates the information about these updates so the phone can do one simple “do I have any updates?” “Yep, start downloading them from here” exchange. Given Marco’s discussion of the web backend of Overcast on Accidental Tech Podcast, I suspect(/hope) he’s planning on including this feature. It really saddens me that Pocket Casts has had this feature for several years, and no competitor has matched it.

Listening to an episode without subscribing to a podcast

I mentioned this in passing in the sharing section, but it deserves its own bullet point. Instacast does this currently, and it works, but in an odd way. Instacast’s basic setup is like most other apps: you have subscriptions which contain episodes, and lists which also contain those episodes (some lists managed manually, and some as automatic filters). Imported episodes are added to a special playlist. This implementation feels like a hack, like imported episodes were grafted onto the design which was built on the assumption that every episode had a subscription.

Discoverability

This idea is simple, but it would also be amazing: let me sign in to Twitter, and then let me see what shows the people I follow listen to (assuming they’ve also signed in to Twitter in the app). I assume this is similar to Stitcher’s Facebook integration, but I’d rather know what the tech celebrities (and podcasters) I follow on Twitter listen to over what my friends listen to.

Listen later

Huffduffer is great. It allows a user to create his/her own podcast feed (which can be specified via URL in most podcast apps), and then use a “Huffduff” bookmarklet to add individual episodes to the feed. It also sucks. The bookmarklet works by presenting several fields (MP3 URL, title, description, tag), and filling them in as best as it can, occasionally half-decently and usually not at all; more importantly, the bookmarklet is often very slow, often taking over 10 seconds just to load the empty form. But the service works great once you’ve added something. Huffduffer is the perfect solution for someone like my wife, who doesn’t want to subscribe to podcasts, but wants to catch the occasional episode. It’s not a feasible solution, however, because of the huge dance she would have to walk through to add episodes (which 80% of the time requires copy/pasting fields, and occasionally requires digging into a page’s HTML source).

If there were a listen-later service tied into a directory of podcasts, it would be possible to match a page againt a full directory entry and just present the user with a clickable list of likely fully-formed episode blobs, with manually entering all the fields as a an option for extreme situations. As I see it, once these episodes are imported, they would be treated just like the subscription-less episodes added from within the app (described above). If anyone has the knowledge required to build a listen-later service that integrates with an iOS podcast client, it’s Marco; I wouldn’t be surprised if this is one of his planned features for Overcast.

What the hell is playing

When the currently playing episode appears in multiple playlists, how do you know which playlist is playing, and what will follow? This irritates me the most because it’s common sense and yet is completely ignored in every app. It makes me wonder if any developer tests their app with nontrivial use cases (without basing their usage on their knowledge of how the app works), or if I’m just crazy. If I forget from which playlist I hit Play, but want to make sure the second playlist is what’s used, how do I do that? Is it enough to go to the second playlist, and enter the Now Playing interface by tapping on the currently-playing episode? Or do I have to pause and actually launch playback from within the playlist? The iOS 7 Music app has a cool little animation that shows next to the currently-playing song in a list interface; just put something similar in the list of playlists! Or, for god’s sake, just a little triangular play icon would be fine.

Instacast’s iOS 7 update fixed this ambiguity by introducing an Up Next mechanism, but this makes it even more frustrating, because there is no ability to play a playlist by starting the first episode and adding the rest to Up Next. Pocket Cast’s iOS 7 update introduced multiple playlists, and side-stepped the issue from the start by introducing it with an Up Next mechanism and the ability to add an entire list to Up Next easily.

Annotations

Instacast supports the awesome ability to tag the current position in an episode with a note stored as a “bookmark”; all of the bookmarks are then visible in a list. I wish more apps supported this. Also, I think it would be much more useful if it were expanded to allow rating an episode. Then the user could get very helpful information, like which podcasts they tend to like more than others. Playlists could even be sorted by the average rating of a subscription, which brings me to…

Playlist priority

This is a feature of Downcast that makes listening to hundreds of podcasts manageable. Each subscription can be given a rating, from 1 to 10, and playlists are automatically sorted according to this rating. My main playlist is sorted first by ascending priority (most important first), and then by ascending time (oldest first). I like to listen to episodes oldest-first, but I will always prefer listening to a priority-4 podcast over a priority-5 podcast, so I always want to exhaust the 4s before listening to 5s. I listen to the stuff I love soon after it comes out, and eventually get around to or clear out the stuff I only want to listen to eventually. This would fit into a per-subscription or per-episode rating system perfectly. I desperately wish other apps implemented this feature, or something comparable, because with the current state of podcast apps, I am completely tied down to Downcast because of this one feature.

Subscriptions are a continuum

The binary nature of podcast subscription in all apps—download every episode, or never hear about it again—doesn’t actually reflect the way most people think of their subscriptions, or would like to think of their subscriptions. Maybe you subscribe to a podcast with frequent updates, and you don’t always listen to every episode. Or maybe you subscribe to a podcast about movies, and you only listen to episodes about movies you’ve already seen. Or maybe you already subscribe to enough podcasts, but want to test out a new one but you’re not sure if you’ll listen to every episode, or how you would rate it. Just as subscription ratings could dictate the order with which episodes are inserted into a queue, the idea could be expanded such that only “can’t miss” episodes are automatically inserted into the queue, and all other episodes are presented in a review queue (with the ability to quickly decide whether and how much you want to listen to each episode).

Web sync API

I wish this existed. This is the holy grail. I would kill for this. It would be perfect; podcast apps would work just like blog post consumption in RSS readers, syncing played/unplayed episodes and other local content. This would solve the issue of refresh speeds, since the app would just need to communicate with the one API endpoint to find out what new episodes are ready for download.

I should just stop thinking about it, because the incentives aren’t set up to ever make this feasible and sustainable; if the service isn’t free, then it will never get enough users to necessitate podcast app developers redesigning the foundation of their app to support it. Paid alternatives to Google Reader are feasible now because a lot of people already knew they needed an RSS syncing service, and just had to move to another; with a podcast syncing service, there would need to be a free giant (like Google Reader) which had enough users that apps could rely on it as a standard. Underscore David Smith’s Pod Wrangler and Feed Wrangler are the closest to this vision, though I suspect Underscore maintains podcast-specific data locally within Pod Wrangler, and not in the database synced by Feed Wrangler. It would be awesome if Feed Wrangler included this support one day, but, even so, I don’t think any other apps would implement support for it.

Automatic management

Russell Ivanovic recently posted an article on the Shifty Jelly blog describing how he uses Pocket Casts. Pocket Casts is my favorite existing app, but I think the workflow portrayed in the post is problematic. A podcast app should be hands free, and shouldn’t require management. I should be able to just turn on my phone in the morning and hit play.

When you subscribe to hundreds of podcasts, manually episodes to an Up Next interface, or manually rearranging them, verges on literal impossibility. But I don’t think this is just a problem faced by the 0.01% of users who subscribe to a deathly number of podcasts—I think average people, the ones who don’t listen to podcasts—are intimidated by the complexity of using podcasts apps. As someone with hundreds of subscriptions, spending hours managing a queue means I absolutely cannot use an app; to an average user first looking into podcasts, figuring out how an app works and how you have to add subscriptions and manually add things to a list and then why new episodes don’t automatically go there can be the increase in cognitive load and confusion that convinces them that it’s not worth listening to podcasts.
I’ve proposed ideas, like having a review queue of will-maybe-listen episodes, that may seem to conflict with the insistance that everything be automated, but I don’t see this as a contradiction—I should be able to just hit play and know that an episode I definitely want to listen to will start (or continue), and a list of other episodes I also want to listen to will play after that, and I can take some time to sort through the review inbox later. The only risk here is that you listen to an episode from a maybe-will-listen subscription later than if it had been added to the queue automatically, but I think this is much better than the list containing episodes I might not actually want to listen to.

Exporting local episode status

I can’t say I’m surprised that no one implements this, given that I haven’t even seen an RSS reader with this functionality, but it’s still an extreme disappointment. A podcast client serves as both an RSS reader and an Instapaper/Pocket/Readability read-later queue for audio. That local content isn’t important if the only stuff in your queue is the latest 3 episodes of the 5 podcasts you subscribe to, but it is if you subscribe to 30 or more and have been meaning to listen to 10 episodes from months ago and will get to it some day.

--

--