pubsubhubbub

felix schwenzel, , in notiert    

kürzlich fragte torsten kleinz:

Lebt pubsubhubbub noch?

meine antwort lautete:

pubsubhubbub lebt noch, so wie RSS noch lebt. aber die noch erstaunlichere nachricht ist: es funktioniert.

pubsubhubbub ist nun schon ein paar jahre alte, aber vor ein paar wochen, entschied ich mich, dass es nun zeit sei das auch mal auf wirres.net zu implementieren. der grund hing mit dem indieweb zusammen, dass sehr RSS-unaffin ist, diese push-technologie aber für die benachrichtigung von ein paar indieweb-readern benutzt.

im prinzip funktioniert pubsubhubbub so: ich annonciere auf meinen seiten, oder meinen feeds, welchen pubsubhubbub-server (hub) ich benutze (so dass andere hubs dort benachrichtigungen abonnieren können) und pinge „meinen“ hub an, sobald einer meiner feeds (oder meine seite) aktualisert wurden. damit weiss erstmal nur mein hub bescheid, aber da auch andere hubs meine aktualisierungen bei „meinem“ hub abonnieren können, können die benachrichtigungen kaskadieren, von einem hub zum nächsten wandern.

praktisch sieht das so aus, dass ich zum beispiel meinen haupt-RSS-feed bei superfeedr.com abonnieren kann — oder ein rezpet bei ifttt.com bauen kann, dass etwas tut sobald mein feed aktualisiert wird — und superfeedr millisekunden nach einem update bescheid weiss, obwohl ich superfeedr gar nicht anpinge.

in der tat benutzt ifttt superfeedr genau dafür: sobald ein abonnierter feed aktualisiert wird, weiss ifttt im selben moment bescheid, vorausgesetzt der feed sagt irgendeinem pubsubhubbub-hub bescheid (ping), ansonsten dauert es ein paar minuten, bin superfeedr den feed crawlt (ring).

wirres.net pingt google’s hub an (mit ein paar zeilen code und der php-klasse von pfefferle). ein ping für jeden feed, der aktualisiert wird. in meinem fall sind das nicht nur der hauptfeed, sondern auch die kategorie-feeds der kategorien, in denen ein artikel gespeichert ist.

um zur ursprungsfrage und antwort zurückzukommen. pubsubhubbub funktioniert so gut, dass dieser artikel, den ich heute um 7 uhr (automatisch) veröffentlicht habe, bereits um 7:03 uhr in den google-suchergebnissen auftauchte, drei minuten später:

3 minuten nach veröffentlichung im suchergebnis, auch wenn das angezeigte alter nicht stimmt
3 minuten nach veröffentlichung im suchergebnis, auch wenn das angezeigte alter nicht stimmt

pubsubhubbub kann übrigens auch „fett“ pingen, also abonnenten nicht nur bescheid sagen, sondern auch gleich den neuen inhalt mitliefern. so braucht google’s crawler (theoretisch) noch nichtmal auf wirres.net nach dem neuen artikel zu crawlen, weil der hub den inhalt in den ping gepackt hat.

superfeedr lohnt übrigens auch einen zweiten blick. superfeedr reagiert nicht nur auf pubsubhubbub-pings, sondern crawlt feeds auch selbsttätig alle paar minuten (ring statt ping). so hat superfeedr.com quasi mehr oder weniger alle (RSS) feeds der welt in seinem index und liefert sie, auf wunsch, jedem aus der das möchte, inklusive benachrichtigungen. und weil superfeedr (quasi) alle feeds der welt kennt, kann man superfeedr auch super als stichwort-alarm und zur recherche nutzen. superfeedr nennt das trackers. theoretisch kosten diese tracker geld, aber nur wenn man sich bepingen lässt, einen tracker also abonniert und einen webhook angibt, der gepingt werden soll. wer tracker lediglich als RSS/ATOM-feed aboniert (ohne ping), zahlt nichts.