What are webhooks really about?
August 26, 2009
Oh, webhooks. What have you become? Just another buzzword for the rising realtime web trend? I admit, without a spec or obvious definition, it seems to lend itself to such a fate. It’s kind of like AJAX. Although, those that know the true meaning of AJAX exists mostly in first letter, and know that it is actually a significant and useful pattern, should know the same of webhooks.
In fact, those that are familiar with the heart of AJAX can even compare webhooks mechanically to AJAX. It’s like an inverted, backend, server-to-server version. Yeah? Okay, that’s a stretch. Maybe I won’t open my SXSW talk with that description.
Actually, I do want to start my SXSW talk backwards. What I usually leave until the end of my webhooks talks, and as such tend to skim over for lack of time, I’m going to make the focus on my next major talk. You see, some people just don’t get it. I think starting with the mechanism and extrapolating doesn’t work if people get stuck on the mechanism.
I questioned both Anil Dash and Mark Cuban‘s posts about webhooks and PubSubHubbub. It turns out they both do actually get it, they just realize they need to simplify it for people to understand. The same reason PubSubHubbub is focusing on feeds for now as opposed to general HTTP pubsub.
It’s not that people are stupid. Or even that we’re smarter than others. The magic of webhooks is in the emergence of an event-driven programmable web, something that’s not terribly obvious when looking at what webhooks are in of themselves: callbacks over HTTP. Most people don’t even see that; they see notifications over HTTP.
You can compare it to Go. A game you can learn to play so quickly, but can spend a lifetime to master. More importantly, after you learn the rules and do some simple scenarios, you think you get the game… but as you play more, it becomes something else. What it’s “really about” emerges as you actually experience it.
It reminds me of some people that say “Well, you can do that with XMPP; that’s what you should really use,” when it turns out they’ve never really programmed a system with XMPP, and definitely not with webhooks. They have no idea the convenience of webhooks over XMPP, or what that affords. Even for those that believe webhooks sound nice in theory, they’ll go implement it and come out going, “Wow, this really is quite cool,” as PBworks CTO said after implementing webhooks in PBworks.
Anyway, I haven’t even gotten to answering my question: What are webhooks really about? The real answer is that they’re about something completely different!
I was standing next to my long-time colleague Adam Smith (we built AjaxWar together in 2005, before Comet had a name) as he read Mark Cuban’s post. After, he remarked, “Well it’s good to know you’re still two steps ahead.” Yep. ^_^
You see, the funny thing is that webhooks aren’t even the ultimate goal. They’re a means to an end. That’s what my next talk is about, only I decided against “Beyond WebHooks” … instead I went with “How WebHooks Will Make Us All Programmers.”
Have I been pushing an agenda to subvert the masses and make us all programmers? I’ll admit that’d be nice, but really I just think it’s the most interesting outcome of the progression I see going on. Honestly, if explained properly, I think it’s something we can all get behind. In fact, I explained webhooks to Cheri Renee at the last DevHouse from this perspective and it actually got her excited. She’s not even a programmer.
So that’s the angle for my next talk on webhooks. The real big picture. At least for me, that’s what webhooks are really about. Hopefully I’ll find some time to get into more details before the talk. Until then, please vote for the proposal so I can finally make it to SXSW (and give this talk)!