Well, everyone’s doing Webmentions these days. So, there’s a bandwagon here to jump on.
All this is really my fault. It is a good idea that, when I write a post which links elsewhere, that the elsewhere gets told that I linked to it. This way, the web stays connected — obviously, a link from A to B is one-directional, and these notifications allow links to be two-directional.
So, 12 years ago, I invented Pingback. Sorry.
Pingback uses XMLRPC because that was the cool thing at the time and because I was young and foolish and had a peanut for a brain. Ian Hickson took my vague spec and kicked it in the arse to make it a proper spec, and it got adopted really quickly. Back then, when the world was young, everything got adopted really quickly; there was so much new ground to be broken that coming up with a reasonable way to do something (permalinks, RSS autodiscovery, pingbacks) meant that it got picked up by everybody.
However, XMLRPC is considerably less popular than it was, and is really heavyweight for this sort of thing. We’ve learned since then that HTTP can actually do all this stuff for us way more simply1 and we’ve learned how best to use HTTP to express the whole bunch of loosely-defined agreements and protocols that we now call the Open Web. Hooray! And I should get on board, partially as penance and partially because it’s just a jolly good idea.
I then, of course, needed to fetch the webmentions for my whole site at build time — the initial version of the endpoint didn’t do this and instead required requesting the webmentions for each individual URL, but I have about eighteen hundred posts on this site and so a quick patch submission later and I could grab all the webmentions for kryogenix.org in one request. Pelle graciously fixed, merged, and deployed said patch, and now we were off to the races.
It would be nice if this stuff were in core WordPress, I’d say. Also, people have started thinking about webmention spam and how to avoid it; Vouch seems a reasonable approach, and it’d be interesting to see where that discussion goes and whether we can fix this before it becomes a problem. Also, I have added myself to the indieweb IRC people list and am hanging out on freenode IRC in #indiewebcamp.
- ok, ok, Roy Fielding, you knew already ↩
- because Aaron and I were having a blog-to-blog conversation, and that sort of thing is the perfect environment for webmentions to thrive and prove their worth ↩
- code is in a gist on github rather than a nicely submitted plugin project, because it’s got too much stuff in it which is hardcoded rather than generic, but it would be a useful start for someone wanting to build something proper ↩