pubsubhubbub

View: New views
6 Messages — Rating Filter:   Alert me  

pubsubhubbub

by James Roper-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hey Pebblers,

I'm thinking of having a go at implementing this into Pebble:

http://code.google.com/p/pubsubhubbub/

For the lazy, it's basically a standard to allow push style
notifications of atom feeds, using lightweight protocol that builds on
atom and webhooks.  An implementation in Pebble would probably look
like this:

* Blog administrator would configure in Pebble a hub server to point to.
* In all feeds, pebble adds a <link rel="hub"> pointing to that hub
* When a blog author publishes a blog entry, Pebble sends a publish
event to the hub server, containing the URLs of every feed that that
blog entry is contained in (this includes URLs to tags and categories
that that entry is part of, and the URL for the feed for comments for
this entry).  The hub will then request those feeds from Pebble, and
cache things like the entry ids.
* When a comment is accepted on a blog entry, Pebble sends a publish
event to the hub containing the URL for the feed for the comments for
that entry.  The hub will then request that feed from Pebble.

The idea here is that Pebble uses a third party hub to publish feeds
to subscribers.  Pebble could be made into a hub itself, but I don't
see any value in that, there are a number of free hubs out there
already.

When news aggregators subscribe to feeds, they will see the hub link
attribute, and subscribe to that feed from the hub.  That news
aggregator then no longer needs to poll Pebble for updates, it can
just wait for notifications from the hub.

This won't change in anyway the existing atom feeds, except for the
addition of the <link rel="hub"> element.  It is completely optional
whether subscribers decide to use the pubsubhubbub feature, they can
continue polling if they like, which will be the normal thing for
users subscribing to Pebble directly from their news reader.

I'm not sure if pubsubhubbub recommends publishing notifications when
blog entries are updated, I'll have to do more research on that.  And
it may be worth making it a configuration item whether categories,
tags and comment feeds are published in this way.

Any thoughts?

James

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Pebble-user mailing list
Pebble-user@...
https://lists.sourceforge.net/lists/listinfo/pebble-user

Re: pubsubhubbub

by Weiqi Gao-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

James Roper wrote:

> Hey Pebblers,
>
> I'm thinking of having a go at implementing this into Pebble:
>
> http://code.google.com/p/pubsubhubbub/
>
> For the lazy, it's basically a standard to allow push style
> notifications of atom feeds, using lightweight protocol that builds on
> atom and webhooks.  An implementation in Pebble would probably look
> like this:
>
> * Blog administrator would configure in Pebble a hub server to point to.
> * In all feeds, pebble adds a <link rel="hub"> pointing to that hub
> * When a blog author publishes a blog entry, Pebble sends a publish
> event to the hub server, containing the URLs of every feed that that
> blog entry is contained in (this includes URLs to tags and categories
> that that entry is part of, and the URL for the feed for comments for
> this entry).  The hub will then request those feeds from Pebble, and
> cache things like the entry ids.
> * When a comment is accepted on a blog entry, Pebble sends a publish
> event to the hub containing the URL for the feed for the comments for
> that entry.  The hub will then request that feed from Pebble.
>
> The idea here is that Pebble uses a third party hub to publish feeds
> to subscribers.  Pebble could be made into a hub itself, but I don't
> see any value in that, there are a number of free hubs out there
> already.
>
> When news aggregators subscribe to feeds, they will see the hub link
> attribute, and subscribe to that feed from the hub.  That news
> aggregator then no longer needs to poll Pebble for updates, it can
> just wait for notifications from the hub.
>
> This won't change in anyway the existing atom feeds, except for the
> addition of the <link rel="hub"> element.  It is completely optional
> whether subscribers decide to use the pubsubhubbub feature, they can
> continue polling if they like, which will be the normal thing for
> users subscribing to Pebble directly from their news reader.
>
> I'm not sure if pubsubhubbub recommends publishing notifications when
> blog entries are updated, I'll have to do more research on that.  And
> it may be worth making it a configuration item whether categories,
> tags and comment feeds are published in this way.
>
> Any thoughts?

Wouldn't that introduce an extra point of failure?  After all my
subscribers are persuaded to go register with the hub to receive
notifications from it, what guarantees do I have that the hub will
operate correctly?  Suppose the hub, for some reason, decided to not
honor my publication event, would my blog seem to become stale for those
subscribers using the hub.

I understand the perceived "savings" of internet bandwidth this would
entail, but that has never been an issue for me (the savings would
amount to less than a three-minute video on YouTube).

--
Weiqi Gao
weiqigao@...
http://www.weiqigao.com/blog/

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Pebble-user mailing list
Pebble-user@...
https://lists.sourceforge.net/lists/listinfo/pebble-user

Re: pubsubhubbub

by James Roper-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Yes, it does introduce an extra point of failure, but not to the
average subscriber.  Most subscribers subscribe directly to the atom
feed from pebble, by putting the URL to the feed in their newsreader.
There are no changes to end users subscribing with their newsreader,
pubsubhubbub cannot be used by them because it requires that the
subscriber be a web server.

Hence, the things that can use pubsubhubbub are web applications, the
most common being news aggregators like newsgator, bloglines and
google reader, but there's also a number of other specialist
applications where it could be used.  Because it's a new technology,
not many people have explored what can be done with it, but an idea I
had was a facebook application that subscribes to blog posts from
pebble, and then publishes them as new posts on your facebook news
feed, so within a few seconds of you hitting publish on a blog post,
all your friends have a link to your blog post in their facebook news
feed.

The advantage of pubsubhubbub is *not* lower bandwidth (though for
some large aggregation sites subscribing to millions of feeds, this
may be the case), the real advantage for something like pebble is
giving other applications real time subscriptions to its content in a
standardised way.  In my above facebook example, that application
could be used for any feed, not just pebble.

As for if the hub rejects an event, there are several things to note.
Firstly, pubsubhubbub was designed with cloud computing in mind, hubs
can and do run on the cloud, which greatly increases availability, and
hence decreases the chances of error.  Secondly, pubsubhubbub has been
designed in a way that it can easily recover from errors and still get
the events through.  It does this by virtue of the fact that when you
publish an event, you don't tell it anything, except that change has
been made.  The hub then goes and finds out what has changed by
downloading the feed from you, so if an error did occur, the maximum
time it will take for the event to be published is when you next
publish a new blog post.  At that point, the hub would pull both
posts.  Thirdly, there's nothing stopping the hub from initiating its
own pulls, so if the hub did go down, it could decide to poll all
feeds it is the hub for, and it might also poll at low frequencies
(daily) as a safeguard against errors.  Fourthly, subscribers are
still free to pull the feed directly themselves.  If the subscriber is
google reader, it might have thousands of subscriptions to the one
hub.  In this case, it would be worth it for Google to monitor the
hubs availability, and when it detects the hub is unavailable, switch
to polling.    Finally, in pebble, if a publish event was rejected
(server returns 4xx or 5xx), we would probably implement a retry timer
that would retry after 10 seconds, 30 seconds, 1 minute, 5 minutes, 1
hour, 3 hours, and 1 day, and then finally give up.

pubsubhubbub is one of those things that until we implement it, we
won't know the extent to how useful it is (or isn't).  But because
it's so simple, I don't think we lose anything by implementing it.

On Tue, Aug 11, 2009 at 3:39 PM, Weiqi Gao<weiqigao@...> wrote:

> James Roper wrote:
>> Hey Pebblers,
>>
>> I'm thinking of having a go at implementing this into Pebble:
>>
>> http://code.google.com/p/pubsubhubbub/
>>
>> For the lazy, it's basically a standard to allow push style
>> notifications of atom feeds, using lightweight protocol that builds on
>> atom and webhooks.  An implementation in Pebble would probably look
>> like this:
>>
>> * Blog administrator would configure in Pebble a hub server to point to.
>> * In all feeds, pebble adds a <link rel="hub"> pointing to that hub
>> * When a blog author publishes a blog entry, Pebble sends a publish
>> event to the hub server, containing the URLs of every feed that that
>> blog entry is contained in (this includes URLs to tags and categories
>> that that entry is part of, and the URL for the feed for comments for
>> this entry).  The hub will then request those feeds from Pebble, and
>> cache things like the entry ids.
>> * When a comment is accepted on a blog entry, Pebble sends a publish
>> event to the hub containing the URL for the feed for the comments for
>> that entry.  The hub will then request that feed from Pebble.
>>
>> The idea here is that Pebble uses a third party hub to publish feeds
>> to subscribers.  Pebble could be made into a hub itself, but I don't
>> see any value in that, there are a number of free hubs out there
>> already.
>>
>> When news aggregators subscribe to feeds, they will see the hub link
>> attribute, and subscribe to that feed from the hub.  That news
>> aggregator then no longer needs to poll Pebble for updates, it can
>> just wait for notifications from the hub.
>>
>> This won't change in anyway the existing atom feeds, except for the
>> addition of the <link rel="hub"> element.  It is completely optional
>> whether subscribers decide to use the pubsubhubbub feature, they can
>> continue polling if they like, which will be the normal thing for
>> users subscribing to Pebble directly from their news reader.
>>
>> I'm not sure if pubsubhubbub recommends publishing notifications when
>> blog entries are updated, I'll have to do more research on that.  And
>> it may be worth making it a configuration item whether categories,
>> tags and comment feeds are published in this way.
>>
>> Any thoughts?
>
> Wouldn't that introduce an extra point of failure?  After all my
> subscribers are persuaded to go register with the hub to receive
> notifications from it, what guarantees do I have that the hub will
> operate correctly?  Suppose the hub, for some reason, decided to not
> honor my publication event, would my blog seem to become stale for those
> subscribers using the hub.
>
> I understand the perceived "savings" of internet bandwidth this would
> entail, but that has never been an issue for me (the savings would
> amount to less than a three-minute video on YouTube).
>
> --
> Weiqi Gao
> weiqigao@...
> http://www.weiqigao.com/blog/
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Pebble-user mailing list
> Pebble-user@...
> https://lists.sourceforge.net/lists/listinfo/pebble-user
>

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Pebble-user mailing list
Pebble-user@...
https://lists.sourceforge.net/lists/listinfo/pebble-user

Parent Message unknown Re: pubsubhubbub

by geezenslaw :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello James, sounds good to me. I have for quite some time now been trying to get Twitter and Facebook type publishing to work. On the server side of things there is no control when it comes to the public social websites. And, since most of these type of services are free it is difficult to get help from the Facebook admin types. If a single standardized protocol (pubsubhubbub) can accomplish the same thing then Pebble gets added value. I only have one question: can the protocol be configured to publish on a per blog entry basis or per category? or per tag? Regards, David.

James Roper <jroper2@...> wrote ..

> Hey Pebblers,
>
> I'm thinking of having a go at implementing this into Pebble:
>
> http://code.google.com/p/pubsubhubbub/
>
> For the lazy, it's basically a standard to allow push style
> notifications of atom feeds, using lightweight protocol that builds on
> atom and webhooks.  An implementation in Pebble would probably look
> like this:
>
> * Blog administrator would configure in Pebble a hub server to point to.
> * In all feeds, pebble adds a <link rel="hub"> pointing to that hub
> * When a blog author publishes a blog entry, Pebble sends a publish
> event to the hub server, containing the URLs of every feed that that
> blog entry is contained in (this includes URLs to tags and categories
> that that entry is part of, and the URL for the feed for comments for
> this entry).  The hub will then request those feeds from Pebble, and
> cache things like the entry ids.
> * When a comment is accepted on a blog entry, Pebble sends a publish
> event to the hub containing the URL for the feed for the comments for
> that entry.  The hub will then request that feed from Pebble.
>
> The idea here is that Pebble uses a third party hub to publish feeds
> to subscribers.  Pebble could be made into a hub itself, but I don't
> see any value in that, there are a number of free hubs out there
> already.
>
> When news aggregators subscribe to feeds, they will see the hub link
> attribute, and subscribe to that feed from the hub.  That news
> aggregator then no longer needs to poll Pebble for updates, it can
> just wait for notifications from the hub.
>
> This won't change in anyway the existing atom feeds, except for the
> addition of the <link rel="hub"> element.  It is completely optional
> whether subscribers decide to use the pubsubhubbub feature, they can
> continue polling if they like, which will be the normal thing for
> users subscribing to Pebble directly from their news reader.
>
> I'm not sure if pubsubhubbub recommends publishing notifications when
> blog entries are updated, I'll have to do more research on that.  And
> it may be worth making it a configuration item whether categories,
> tags and comment feeds are published in this way.
>
> Any thoughts?
>
> James
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Pebble-user mailing list
> Pebble-user@...
> https://lists.sourceforge.net/lists/listinfo/pebble-user

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Pebble-user mailing list
Pebble-user@...
https://lists.sourceforge.net/lists/listinfo/pebble-user

Re: pubsubhubbub

by Olaf Kock-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

James Roper schrieb:
> Hey Pebblers,
>
> I'm thinking of having a go at implementing this into Pebble:
>
> http://code.google.com/p/pubsubhubbub/
>
[...]

Hi James,

from just a quick reading through your description this seems like a
combination of BlogEntryListeners with content decorators, though I'm
not sure if RSS feeds are subject to being decorated itself.

As there is already a push operation upon publishing a blog entry
(EMail-Notification) this notification might fit into the game as a neat
plugin.

> * Blog administrator would configure in Pebble a hub server to point to.
> * In all feeds, pebble adds a <link rel="hub"> pointing to that hub
> * When a blog author publishes a blog entry, Pebble sends a publish
> event to the hub server, containing the URLs of every feed that that
> blog entry is contained in

I've not yet fully understood every aspect, but it sounds good and
usable. If it can be done in a pluggable way - even better.

Cheers,
Olaf

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Pebble-user mailing list
Pebble-user@...
https://lists.sourceforge.net/lists/listinfo/pebble-user

Parent Message unknown Re: pubsubhubbub

by geezenslaw :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

+1 for pluggable.

Olaf Kock <pebble@...> wrote ..

> James Roper schrieb:
> > Hey Pebblers,
> >
> > I'm thinking of having a go at implementing this into Pebble:
> >
> > http://code.google.com/p/pubsubhubbub/
> >
> [...]
>
> Hi James,
>
> from just a quick reading through your description this seems like a
> combination of BlogEntryListeners with content decorators, though I'm
> not sure if RSS feeds are subject to being decorated itself.
>
> As there is already a push operation upon publishing a blog entry
> (EMail-Notification) this notification might fit into the game as a neat
> plugin.
>
> > * Blog administrator would configure in Pebble a hub server to point to.
> > * In all feeds, pebble adds a <link rel="hub"> pointing to that hub
> > * When a blog author publishes a blog entry, Pebble sends a publish
> > event to the hub server, containing the URLs of every feed that that
> > blog entry is contained in
>
> I've not yet fully understood every aspect, but it sounds good and
> usable. If it can be done in a pluggable way - even better.
>
> Cheers,
> Olaf
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Pebble-user mailing list
> Pebble-user@...
> https://lists.sourceforge.net/lists/listinfo/pebble-user

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Pebble-user mailing list
Pebble-user@...
https://lists.sourceforge.net/lists/listinfo/pebble-user