Decoupling publishing and notification
Sep 23rd, 2008 by JoeC
There is renewed interest in trying to construct a microblogging platform using XMPP for the “push” or notification of followers. The Open Birdcage project is aiming to
establish a full environment for an XMPP based microblogging service. Environment means the full stack necessary beginning from protocol and API definitions to server side and client side implementations.
I am hoping that this project will also be able to make a distinction between publishing of content and notifying subscribers of the publishing event. This is a generally useful function that transcends microblogging. It would be a great boon to live-bloggers, news services, live-streaming video or any publishing endeavor where time is a factor.
I’ve written in this space previously about the idea of a personal publishing platform. OpenBirdcage may give us the opportunity to decouple the notions of creating and posting content from the notion of notifying others that the new content is available.
In this decoupled model, you could choose a notification provider separate from your publishing provider, although certainly the two might be offered by the same site. In addition, you could choose multiple notification providers so if one failed, subscribers could simply fall over to one or more backup site.
This model would allow not only microblogs, but any web publisher to very rapidly notify subscribers of new or changed content without having to poll. Your personal identity and/or publishing site would present XRDS records allowing subscribers to discover your notification provider accounts, which could be totally distinct from your publishing provider.
XMPP publish-subscribe plus Atom is well-suited to this model. It would allow small content like microblog posts to be sent right in the notification, while links would be sent for larger content.
Thanks for adding this to the wiki.
I fully agree here with your view on things. Actually I’ve been thinking about this issue all day long today. Given that we choose to use the PEP based microblogging XEP, PEP would be responsible for handling the notification stuff whereas the “publisher” could be a PEP aware consumer sitting in your roster. This could be a bridging component/bot to twitter/identi.ca too. Maybe twitter will become PEP aware itself once they get their IM services back?