Polling is over: send a Podping!
If you want to hear Adam Curry, the Podfather, explain Podping here he is: No Agenda
1682 - "Natalism"
If you're running a podcast hosting platform that publishes RSS feeds you need to be sending podpings.
A Podping is a tiny little signal which gets written to the Hive Blockchain and tells the whole world that one of your RSS feeds has an update. That can trigger hundreds or thousands of clients to check the RSS feed and take appropriate action.
Sending podpings is the replacement for the repetitive and wasteful "polling" or speculatively checking of RSS feeds which has been the normal way to detect changes since the invention of RSS and Podcasting.
How to send a Podping
Easiest: Podping.Cloud
By far the easiest way for any web based service to send a podping is to use the podping.cloud service hosted service run by @podcastindex. This service requires you to get an authorization key from Dave at Podcastindex dot org.
Once you have that, alerting the whole world that one of your RSS feeds has changed is as simple as this:
GET https://podping.cloud/?url=https://feeds.example.org/podcast/rss
You can also append 2 additional parameters (reason
and/or medium
):
GET https://podping.cloud/?url=https://feeds.example.org/livestream/rss&reason=live&medium=music
If reason
is not present, the default is "update". If medium
is not present, the default is "podcast". A full explanation of these options and what they mean is here.
Most Sovereign: Direct to Hive
Why would you not choose to do the easiest thing? Because sometimes sovereignty is worth it.
Whilst Adam and Dave have done a heroic job in setting up @podcastindex and the entire Podcasting 2.0 project, podping is built to be fully self supporting and sovereign. It is easier to use their podping.cloud
service but not necessary.
The most self sustaining way to write a podping is to have your own Hive account and keys and directly write the podping to the Hive Blockchain yourself.
There are a many ways to get Hive Keys, I'll just highlight two:
Get a Hive Account
- v4v.app/signup - requires a small payment in Lighting
- Ecency.com/signup - requires an email address but is free
If you want help, reach out to me, brian at v4v dot app.
You might want a specific Hive account for sending podpings from. The podping.cloud
for example uses five accounts, podping.aaa
, podping.bbb
, podping.ccc
, podping.ddd
and podping.eee
.
Send a Custom Json
Feed Updates
This is a typical podping. In this case it has 4 RSS feed iris (urls).
version
is1.1
as of the time of this post.medium
andreason
are explained here in the docs but in most cases you'll be usingpodcast
andupdate
.- The
iris
field in the JSON object is a list of one or more RSS feed IRIs (Internationalized Resource Identifiers), which are URLs pointing to the RSS feeds. Each entry in the list represents the location of an RSS feed that is being updated or referenced by the podping. timestampNs
field in the JSON object represents a timestamp in nanoseconds since the Unix epoch (January 1, 1970).sessionId
is an optional identifier which can be used to track multiple instances or processes which send successive podpings.
There is a maximum limit of around 200 iris
per custom_json
and this is set by Hive's blocksize. In practice you should avoid getting close to this limit and sending one at a time is practical if that represents the rate at which you publish updates.
Hive produces new blocks every 3 seconds: in practice you might want to consider batching and sending updates once a minute or so.
id: pp_podcast_update
json: {
"version": "1.1",
"medium": "podcast",
"reason": "update",
"iris": [
"https://feeds.audiomeans.fr/feed/0ec7708b-cbf0-4048-971d-955b8d05bc31.xml",
"https://feeds.audiomeans.fr/feed/6be8a533-aa0f-45c9-86a1-1187bfbc4461.xml",
"https://feeds.audiomeans.fr/feed/b4de9333-deb0-4c99-82e3-3c21cfac3f2a.xml",
"https://www.spreaker.com/show/6096975/episodes/feed"
],
"timestampNs": 1726734767069026000,
"sessionId": 10631874232419994000
}
required_auths: []
required_posting_auths: [
"podping.eee"
]
If you want to see thousands of examples of this, open up a Hive block explorer like this one for account @podping.bbb and look!
Live Items
live
andliveEnd
these special reason codes are for indicating a live broadcast. These will usually be sent with precise timing and quickly so as to alert watching apps.
id: pp_video_live
json: {
"version": "1.1",
"medium": "video",
"reason": "live",
"iris": [
"https://tv.mattchristiansenmedia.com/plugins/podcast2/router/podcast2?channel=matt_christiansen"
],
"timestampNs": 1726707654177263000,
"sessionId": 10708055723163822000
}
required_auths: []
required_posting_auths: [
"podping.bbb"
]
I won't lay out here all the ways to write to the Hive Blockchain but that may be a future post.
Uses Podping
There is also a small tag you can put in all the RSS feeds which you will use podping on to signal that your RSS feed uses podping.
This allows indexing systems and clients to know that they only need to watch podping and no longer need to check all the RSS feeds under your control.
Conclusion
Sending Podpings is easy and censorship resistant. Once you have a Hive account (which needs a minimal amount of Hive's Resource Credits
) nobody can stop you sending podpings.
If you want a fun visualisation of all the podcasts updating in real time via podping just take a look at tiles.podping.org.
Congratulations @podping! You received a personal badge!
Participate in the next Power Up month to get another one!
You can view your badges on your board and compare yourself to others in the Ranking
Check out our last posts: