When researching about how to subscribe to multiple rss channels, I encounter this cool protocol Websub, previously known as Pubsubhubbub. It eases rss content distribution between subscribers and publishers at scale.

Websub does it by being adding a hub to manage the communication between pub-sub via a channel called topic. Without a hub, consuming rss feeds is a painful experience for both subscribers and publishers.

From subscriber perspective, they can’t know if publisher has updated their content without polling the publishers regularly. If the content is not updated, it can be a waste of resources. Also, each publisher can use different delivery format, rss, atom, or rdf (how about versions? 🥶). And each publisher can format their feed items as the like. Check out this explanation by Superfeedr(one of hub service using Websub) creator about the difficulties

p p p u u u b b b s u b

For publisher, they usually use webhook to notify their subscribers of their content update. They need to think about delivering POST requests to subscribers which is not easy to make in. It also poses security problems like DDOS for both pub-sub ends. And webhook can fail. It’s not user friendly.

p u b s s s u u u b b b

With websub:

p p p u u u b b b h u b s s s u u u b b b

Hub hides all complexities to both publisher and subscriber and most importantly, saves costs.