Pelle Wessman uses GitHub Pages + Superfeedr to send PuSH notifications from his site voxpelli.com
1000s of Known Sites
1000s of *.withknown.com sites send PuSH 0.4 notifications for each new post on their homepages's HTML feed since at least 2015-05-04 when Known 0.7.8 shipped with reliable PuSH 0.4 support.
There are also numerous (hundreds?) of Known installs that are also all likely running Known 0.7.8 or later and thus send PuSH 0.4 notifications.
Instagram supports PuSH so that apps can subscribe to notifications whenever a user has posted a new photo. https://instagram.com/developer/subscriptions/ subscriptions API
Flickr supports PuSH to subscribe to photos posted within specific locations or with given tags. https://www.flickr.com/services/api/flickr.push.subscribe.html
The following implementations consume and subscribe to PuSH feeds:
Publish and Consume a PuSH-enabled feed
Main article: How to publish and consume PubSubHubbub
PuSH 0.4 goes beyond previous versions to allow publishers to send push notifications for any HTTP resource (e.g. h-feeds). You should use the newer spec, 0.4. PuSH 0.3 supported push notifications only for legacy XML feed files.
See the main article: How to publish and consume PubSubHubbub.
WordPress Plugins for PuSH
An alternative, that also supports PubSubHubbub v0.4, is the PubSubHubbub Plugin.
If you're using WordPress.com, they already support PuSH by default (likely using that plugin).
Subscribing to Fragments
Superfeedr also offers the unique ability to subscribe to fragments on a page, using the # symbol. For example, if you subscribe to http://tantek.com/#.hentry, you will receive POST to your webhook/callback endpoint with the content of the first element of class "hentry" on http://tantek.com/
This should be seen as an optimization. A minimal consumer can simply re-fetch the resource itself when it receives a ping.
Testing your PuSH-enabled feed
There are several ways you can test whether or not your PuSH feed and pings are working properly:
Testing PuSH 0.4
Testing PuSH 0.3
Most popular RSS Readers do implement PubSubHubbub, you can just subscribe to your feed on one of them, and see if the update as been propagated after you added content.
Notifix is a bot (see above for source code). It's constantly connected to irc.freenode.net. Send him a private message like +help to see available commands. Subscribe with +subscribe <feed>, publish your content and see if you get the ping straight via IRC.
Testing your PuSH Subscriber
See https://github.com/pubsubhubbub/PubSubHubbub/wiki/Hubs for more of them.
Testing your hub
Public instance: http://push-tester.cweiske.de/
Discussion about PubSubHubbub primarily occurs on the GitHub repo, but there's also a W3C community group:
How can we support PuSH consumers that do not have a publicly routable URL, such as devices behind a firewall or NAT? Maybe a hub or an external service could provide an alternative subscription mechanism such as websockets or eventsource, which could then make the PuSH subscription on behalf of the consumer. Aaron Parecki 12:32, 26 May 2015 (PDT)
In the past (2013 era) there was controversy about PubSubHubbub being too complex for the indieweb. Since then numerous indieweb sites support PuSH notifications of their published content, and we have a few new PuSH hubs built and maintained by indieweb folks, as well as readers subscribing to PuSH updates. The below is left as historical record of a past issue.
Q: How do I update the hub I am using and ensure subscribers update accordingly?
A: Subscribers should poll occasionally to see if the hub has been updated. You can list and ping both hubs for a while to speed up the process. . Also, hubs should actually notify the hub URL (as part of the discovery links) which means that subscribers will know about the designated hubs with every notification, making it completely optional to have a "routine" polling. It's considered good practice when a feed/publisher changes its hub to have a period during which it *also* pings the old hub (even after the discovery link was removed).