Trackbacking across the universe
Since everyone else seems to be doing it, this weblog (damn I really need to think of a decent name for my weblogging software) now has Trackback support. Having implemented both Pingback and Trackback I can now say with certainty that Pingback is much nicer.
The main problem I have with Trackback is that the embedded RDF for autodiscovery is absolutely hideous to parse (even the example code given in the spec. falls down on several valid examples) and because you need a separate entry for each post, you need to make damned sure that you are looking at the right piece of RDF. Not to mention the fact that putting data that needs parsing inside a comment (
<!-- -->) is just plain wrong.
Pingback is much more sensible: firstly all you need to look for is either an HTTP header or a simple
<link rel="pingback"> tag; secondly, you send the permalink of the post you are linking to in your request so you don't need to have a different pingback URI for each post on your weblog.
Pingback also has a much better written specification, which explains everything very clearly with good examples. The Trackback specification leaves out many of the details (eg. How does the server find out which post you are referring to when you send a Trackback? -- answer: you need a unique trackback URI for each entry) and has several ambiguities (eg.
url: The permalink for the entry. Which entry: the one I'm sending a Trackback to or the one I'm sending a Trackback from? -- answer: it's the latter).
All of this makes me wonder why Trackback appears to be more widely used than Pingback. The only technical advantage of Trackback over Pingback is the ability to send an excerpt of the document with the Trackback request. I can see how this can be useful (I don't use it personally), but it is not entirely impossible for a Pingback server to grab an excerpt from the source page should you wish to do so.
One reason I can think of is that many people seem to be very confused about Pingback:
...the key distinction being that trackbacks are client-server and pingbacks are peer-to-peer between servers. So [this software] could support trackbacks, but not pingbacks.
I hate to say this, but that is blatantly not the case. Pingback is just as much "client-server" as Trackback is. My code for Trackback and Pingback is very similar in both the client and server aspects (the only differences being in the format that the request is sent and in the method that the autodiscovery works).
Another reason why Trackback is quite successful is that a lot of people use Movable Type for their weblogs which of course comes with Trackback built in.
Ah well, I just hope this doesn't become another Betamax vs VHS scenario...