Paul,
I had replied under-the-radar, if you hadn't picked that up. (I don't want to publicize shario yet, as it's really not yet operational.)
The standards document Jeff is referring to is at
http://tinyurl.com/webhooks. I wrote it up last month to begin organizing and communicating my thoughts on the whole idea of event-pushing.
Jeff, I understand what you're saying about the "programmability" of http callbacks. I also understand that it is the lightest of the push technologies when it comes to network footprint and ease of implementation. However, I do believe some of these others (xmpp, sms, email, twitter) have their merit, and I believe the "programmability" of them is growing slowly but consistently. I just don't want to limit the overall idea. The cool thing about xmpp in the mix is that desktop applications can then be included in the whole subscribing-receiving end, and then there is no boundary to web hooks.
Therefore I may be stubborn, but I will insist on not binding the term "web hooks" to simply http.
When it comes to decoupling the standards for Discovery / Subscription / Delivery, I agree -- I just haven't yet understood quite how that should be done. And as I've moved onto the agile crowd a while back, I just have to get something moving, even if it's not quite right. I do like having them described right next to each other so that it's easy to see the connections and how they play together. I'd love to get some more feedback though on what you mean by "decoupling the standards" and perhaps how we could do that.
I'm not sure how you're thinking of registration, Jeff, but it might be slightly different than I am: I'm thinking of a completely automated system here -- a person could tell their new rss reader to subscribe to a feed, and it will automatically discover the subscribing endpoint for that specific feed, and automatically post a subscription request to that feed. Perhaps since it's a desktop application, the rss client subscribes to xmpp, full-payload. Then also from the rss client the user can unsubscribe at any time -- the unsubscribe link is somehow included in a standard way in every pushed event. Subscribe your facebook photos to your flickr account and your myspace photos to your facebook photos, subscribe your desktop background to your friend's photoblog, subscribe your cell phone (sms) to your house's security system, subscribe to your pool's chemical levels by email, *dreamy thoughts continue...* - These are all automated systems, and I wouldn't want a web browser involved. Just to clarify that the reason we need a standard for subscription is because we want it automatable. But you probably already knew that. :)
Lastly, What do you think of the minimal set of standards I have written so far? Every part of it is up for discussion, since I know that it's often hard for one person to be right first try on these kinds of things. ;) A few parts that are shaky for me are:
• Discovery: HTTP header or meta tag? If we want discovery on an xml document, we can't insert a meta tag, so maybe we need it to be an http header. Then again, perhaps not all web publishers can insert http headers in their published articles. Should both methods be encouraged?
• Subscription: What standard options should exist? From getpingd and other plain webhook implementations (github, for example) I've gleaned that people often want at least "notification" and "full" mode. Should a "duration" option be available (subscribe for x number of updates, for a time period, or forever until unsubscribed)?
• Delivery: How much standardization should go into this? It seems that the more standardization, the less flexible, but the more automatable. Is it possible to get around that trade-off?
- daniel parker -
"You have granted me life and steadfast love, and your care has preserved my spirit." Job 10:12
"The LORD is my chosen portion and my cup . . . indeed, I have a beautiful inheritance." Psalm 16:5-6
"Give what you can ... take nothing back!"