podcastsocial.org

The year is 2022.

Podcasters no longer publish their new episodes into a social void. Instead, they can receive feedback and comments from listeners for every episode they publish, on a social platform they choose.

Podcast listeners can use their existing podcast playback app to also easily publish ratings, feedback, and discussions about each episode they listen to, right on the episode screen. These comments are not locked within a single app, but are available for display in many other podcast playback apps.

Podcast apps and hosting companies can offer innovative solutions to listeners and podcasters, built on top of the open protocol-based standards that make this possible.

How does it work?

In short, via a new podcast RSS feed tag called

<podcast:socialInteract>

defined by the podcast namespace initiative.

It's a small tag to include, but has implications for everyone involved in the podcasting ecosystem, so here's an attempt to tell the story from multiple points of view:

Podcasters!

You are able to tell the world: Here is the official link to the social media post where comments should go for your new episode.

  • The url can either point to a post on the Fediverse, or an url to a Tweet. Your show might already post to social media after publishing a new episode, this is just a way to declare it in structured way.
  • Declare it using an item-level (episode-level) tag in your RSS feed. Example

If you can't easily modify your podcast's feed directly, you should ask your hosting company to add support for this tag in their CMS.

You are always in control of where the conversation will take place. Podcast apps will use this root post link as the source of truth about where to look for comments for this episode.

If you choose to post on a Fediverse-compatible platform like Mastodon, Pleroma, or Castopod, you have a variety of options around moderation.

  • Use a free account on an existing open server like mastodon.social if you like their terms of use, and trust the moderators to do a good job.
  • Use an account on a server that gives you moderation access, perhaps a server run by a small network of shows or a group of friends.
  • Use an account on a server you either run or pay for yourself (for example, on masto.host ) for ultimate flexibility on moderating incoming comments, users, or entire servers.

Listeners!

Once your podcast app is updated to support podcast comments, you'll be able to view ratings, comments, and discussions for each episode right underneath the player view, without leaving your podcast app.

  • These comments will be coming in from many different apps, not just the app you're using.
  • The comments will be hosted by the podcaster's platform of choice, perhaps including an additional level of moderation applied on their side.
  • Your app can also provide an additional level of filtering, allowing you to possibly hide and upvote/downvote content.

Some podcast apps will go the extra mile and allow you to send ratings, comments, and discussions as well, right from the app.

  • The app may choose to use your existing profile information on the app itself as your identity when posting a comment, in order to make the experience as frictionless as possible.
  • Your comment might be moderated by the destination platform/server specified by the podcaster, and your app might also apply its own filtering.
  • If the podcaster chooses Twitter as their platform, you'll of course need a Twitter account to post.
  • If the podcaster chooses a Fediverse-compatible platform, you may be able to also send comments from a separate Fediverse account you already have.

Apps!

You can get started today by implementing support for the <podcast:socialInteract> tag.

If you rely on the Podcast Index for your feed data, we provide a similar API to read this new tag for a given episode, since the Podcast Index doesn't parse it yet.

Our API is also useful to apps that don't use the Podcast Index, since it allows apps to create root comment posts (hosted on volunteer server instances, important to boostrapping the feature) if one of your users is ready to reply to any episode.

The two API calls that make up our API have similar naming conventions and behavior to the Podcast Index API, since we hope to have them eventually added there, once they have the development time.

To display comments in your app:

  • Call Get Social Interacts to find the current official podcaster post (if one exists), or the existing volunteer post.
  • If a root post exists, iterate the thread using the ActivityPub Client-To-Server (c2s) API for Fediverse posts (for example using threadcap in a JavaScript environment), or using the Twitter API if the root post is a tweet.
  • If no post exists, display a No comments yet message in your UI for this episode.

When one of your users is ready to comment:

  • If a root post does not yet exist for this episode, call Add Social Interact to automatically provision a new volunteer root post.
  • For a Fediverse root post: implement the ActivityPub Server-To-Server (s2s) API to create a local ActivityPub Actor for your user, a local copy of your user's comment, and federate a copy over to the root post url as a reply (or use something like the Minipub microservice to do this for you).
  • For a Twitter post, use the Twitter API to walk your user through their OAuth 2.0 authentication flow, and posting under their own Twitter identity.

Remember to always call Get Social Interacts, even after creating a provisional volunteer root post, since any post declared by the podcaster in the future should be displayed more prominently than a volunteer post, in the unlikely case that both exist.

Podcast hosting companies!

Since you help the majority of podcasters manage their podcast's feed, you are in the best position to make it as easy as possible for them to specify their official social media post.

Add a new field in the existing content management system you already provide to your podcasters, allowing them to specify a url to their comment post, and generate the <podcast:socialInteract> tag in their feed automatically under the hood.

Since podcasters already trust you to manage their podcast's public presence, you may want to consider providing a Fediverse-compatible service yourself, and automatically creating a new comment post for each new episode. This would be similar to the service you already provide of a default webpage for each episode, giving your customers one less thing to manage themselves.

Volunteers!

You want to help get podcast comments going, but don't know exactly where to start?

We maintain a service that creates a single provisional root comment post for any episode, using a pool of underlying Mastodon-compatible servers hosted by volunteers, in order to give apps and listeners something to work with (see the bootstrapping section below).

If you want to host or pay for a Mastodon-compatible server to help in this effort, email xxxx%podcastsocial.org to find out how to add it to our pool.

Basically we just need a moderator user account on a server we can count on staying online during this provisional period, thanks!

Early adopters

Some podcasts are already living in this future:

Bootstrapping

With every new feature proposed in the open podcasting ecosystem, there is a “chicken and egg” problem, a period of time in which:

This problem is especially pronounced for this new podcast comments feature, since not only do both podcasters need to add the new info to their feeds and apps need to support the feature, but crucially, listeners need to see and provide real comments before the value of the feature becomes visible at all.

podcastsocial.org → volunteer comment servers

We can give app developers a provisional root comment post for any given podcast episode today, so the app's users can interact with any episode, before all podcasters update their feeds to include an official location themselves.

We do this by managing a pool of Fediverse-compatible servers, run by volunteers, and distributing these new posts between them.

Apps can both find and create these provisional root comment posts using the podcastsocial.org API, which contains only two API calls, and should be familiar to the apps that already work with the PodcastIndex.org API.

If you want to host or pay for a Mastodon-compatible server to help in this effort, email xxxx%podcastsocial.org to find out how to add it to our pool, thanks!

podcastsocial.org API documentation ▷