Autodiscovery and the death of TrackBack

I’ve grumped about this a number of times in comments, my own and others, but oddly enough, not in an entry. TrackBack autodiscovery is evil, and will be the death of TrackBack.

When TrackBack was first introduced, it was a way to automatically insert links, with a bit of preview text, in an entry. If you wrote about your favorite catfood, and I wanted to write about how my vet said it was dangerously low in fat, I could leave a comment on your weblog, or, if I thought that my readers would also be interested in what I had to say, I could write my own post about it. Before TrackBack, I could either hope that you would notice referrers from a link in my post, and update your post with a link to mine, or I could leave a comment saying “I wrote about this over here” (something I have never, ever seen done elegantly). With TrackBack, I could either start my post from a bookmarklet, which would discover your TrackBack URL for me, or copy and paste the TrackBack URL myself, send a ping, and have your entry automatically link to mine. Anyone reading your entry would be told that someone else had something more to say about FluffyNumNums, and if “While FluffyNumNums seem like a healthy and tasty cat food, in fact they are dangerous to your cat’s health…” intrigued them, they would have a link to see what I had to say about it.

Then, partly in response to some dislike for the way that TrackBack was implemented, and partly to solve another problem (getting across “I linked to you” without clicking your own links), Pingback was introduced. Pingback has somewhat different semantics (while a TrackBack ping generally has a title, an excerpt, a permalink, and a weblog name, a Pingback ping has a permalink, full stop), and different methods for advertising the URL to ping, but most important for TrackBack, the typical implementation had a very different method for discovering the URLs and sending pings. Rather than relying on the author of a post to decide what entries to ping, since a Pingback ping should be sent for every link to a Pingback-enabled resource (interestingly enough, you can send a Pingback ping to an image, or anything else that has a URL), the sensible way to implement Pingback is just to automatically look for a Pingback server for every link in an entry when the entry is first saved. Pingback solves a problem that needs solving, creating a clean list of referrals from weblog entry permalinks, rather than the usual mix of referrals from various forms of archives and alternate URLs. It just isn’t the same problem as TrackBack, which solves the “everyone is too lazy to go back and update their old entries with links to other entries on the same topic” problem.

Unfortunately, in the ensuing discussion of who had a better architecture and a more transparent system, the fact that TrackBack and Pingback are different things, with different semantics and different goals, got passed over. What makes TrackBack valuable, and makes it worth a reader’s time to click through the TrackBack links in a post that interested them, is the fact that it’s intentional: when you send a TrackBack ping, you should be sending it because you think a reader of that post should read your post.

When Movable Type got TrackBack autodiscovery, sending a ping to any TrackBack URL it could find in anything you link to, TrackBack lost that value. If a reader clicks through some TrackBack links, and finds that the linked entries are interesting, with more to say about the topic, then she’ll be inclined to keep clicking them on other entries. However, if she finds that they are generally from an entry saying “Hey, you should read this“, or a link-dump linking to twenty unrelated other things, or, perhaps worst of all, and done by at least two people who should know better, a linklog that’s nothing but a link back to the entry, then she’ll quickly learn that TrackBack links are there for something else, whether it’s ego, or backscratching, or Google-voting, but are not there to tell her what other entries she should read.

Can TrackBack be saved, while still being more transparent than the original? Sure. All it takes is one step of human intervention before the pings are sent, along with some awareness of what should and shouldn’t be pinged. Either another button alongside Preview and Save, to Discover, or another screen during the entry saving process, listing the autodiscovered URLs along with checkboxes to actually send pings, would do just fine. That, along with enough people deleting pings that don’t actually lead to something more, could possibly return TrackBack pings to being something for readers, rather than something for weblog authors. I doubt it will happen, but it could.


Comment by Anders Pollas #
2003-04-24 00:25:15

Hmm, I actually unticked the ’send ping’ box, but for some reason it didn’t work….damn…

Sorry, it’s your whole (good!) point, and messed it up…. :|



Comment by Phil Ringnalda #
2003-04-24 00:48:48

Don’t you hate that feeling when the ”sending pings” window comes up with something you didn’t want to ping, and at that point there’s nothing you can do?

The ”send ping” box? I didn’t know there was one, unless you mean turning off autodiscovery in the weblog config settings. Otherwise, the only thing I’ve ever seen is the ”allow pings” box, to decide whether or not you want to accept pings on your entry. Have I been missing a partial solution right in front of my nose somewhere?

Extra charming of my sloppy server to refuse your comment the first time, forcing you to double-post it to get it through. I’ve had a stern talk with it about that, but it doesn’t seem to listen very well.

Comment by Mark Paschal #
2003-04-24 15:19:19

If a Pingback client looks for every potential recipient of a ping, how is that any cleaner than autodiscovered Trackback? Just separating the discovery from the pinging, like you suggest Trackback ought?

SimpleComments is really just a convenience, but the idea that Trackbacks really are comments (and not Pingbacks) is telling. I kept wondering why people tried to make comment-posting APIs when that’s Trackback, except the limit on description length. I don’t even remember the new APIs’ names. Did I miss a reason why you couldn’t just accept larger item descriptions in Trackback, and have a very nice system for posting comments programmatically?

Comment by Phil Ringnalda #
2003-04-24 16:21:45

Pingback’s only cleaner in that it’s doing what it should, while autodiscovery TrackBack is grafting a second, conflicting use on top of what it was doing.

Well, not strictly true, because including the URL of the resource to ping in the ping request lets you advertise a single Pingback URL that receives pings for multiple resources, which lets you do it in slicker ways than including commented-out RDF in HTML. That’s poorly put, but, say that instead of advertising that the URL to ping for this entry is /mt/mt-tb.cgi/337, which then requires that I include a bunch of identifying information along with the specific URL to ping, so you can tell which one’s which if I’ve got monthly archives or (Ghu forbid) a main page that advertises ping URLs, I just advertised that the URL to ping is /mt/mt-pingback.cgi. Full stop. As part of the ping, you include the permalink for the entry you want to ping. That gets rid of the whole embedded RDF issue, letting me advertise a single URL in HTTP headers, or an HTML link tag. It lets me do URL to ping discovery by first sending a HEAD request, and if I don’t find a Pingback header only requesting n bytes and looking for a link tag with a strictly constrained format. If I don’t find it but I do find a </head>, I’m done. If I didn’t get the </head>, I can grab another n bytes. In contrast, since the TrackBack RDF can appear anywhere in the entity body, I have to request the whole resource (and woe betide me if it turns out to be a huge MP3), and although it’s unlikely that anyone will do TrackBack RDF that doesn’t pass the MT regex, there’s no reason why they shouldn’t, because the spec doesn’t say it’s constrained at all. MT looks for a literal trackback:ping, but the spec doesn’t say that it’s not allowable to use foobarbaz:ping, as long as foobarbaz is defined as the prefix for the TrackBack namespace.

Requiring that there be an out-of-band way to determine the URL for the resource you want to ping does maybe limit Pingback in some ways (you could have RDF for several different non-blog-entry things in a single HTML page, letting the metadata in the RDF sort them out, even if the things didn’t have URIs that someone could somehow ”know” to send along with a ping, though it seems like it would take some effort to contrive an example of that), but then Pingback isn’t trying to be everything, just a way to say ”this permalinked post linked to that URL”.

TrackBack instead of the CommentAPI? Works for me, other than the problem of telling the difference between a TrackBack intended as a TrackBack (”I’ll update your post, in exchange for some traffic, so don’t print my whole entry”) and a TrackBack intended as a comment. I suppose that could be solved roughly by building a separate commenting tool, so that your weblog would only send excerpts, while your commenting tool would send full posts. Then you just have to get a rewrite into MT, to accept more than 252 characters. And find a way that it would actually be more useful than just a comment HTML form, which is where I’m stalled with the whole CommentAPI thing: I will not comment on something without first seeing the existing comment thread, and absent a lot of comment RSS feeds, and a really good threading reader that knows to request comment threads more frequently while I’m commenting than at other times, I’d really rather just use the form.

Comment by Mark Paschal #
2003-04-24 18:57:01

On Pingback: how do you add headers in Apache, if you’re serving normal HTML documents? I know there’s a feature to associate metadata with a resource, but I’m not remembering the right keyword (or if it lets you add headers like that at all) so I can’t Google for it. Do you happen to know?

To tell Trackback-as-Pingback and Trackback-as-CommentAPI apart in the Trackback receiver, I don’t think it’s an issue: MT doesn’t send the whole entry when it sends a Trackback, because it sends the excerpt (and even the synthesized excerpt isn’t the whole item). Hopefully other Trackback pingers speak strictly in that regard.

CommentAPI seems to be just an XML version of Trackback, which I guess is my point: any nonbaroque comment posting API will resemble Trackback. It’s too straight-forward not to.

Mainly I was thinking of Trackback-as-CommentAPI in terms of distributed authenticated comments, so you would have a separate comments client (or personal comments CGI) that would sign the comment then post it by API. I agree posting before reading is a problem–I’m not sure how you get around the interface issue, other than embedding in the browser or proxying the HTTP connection so you can frob it in transit (but then you can’t do it over https). The client would have to be compelling enough to make you want to use it anyway: post history, rich (probably WYSIWYG) editing. You would sometimes get editing and deletion with authenticated comments, so it would support that.

Gah, that makes me wonder if we should just abuse Blogger API to that end, which I don’t want to think about right now.

Comment by Jacques Distler #
2003-04-24 15:20:29

Ultimately, the decision — as to whether a given trackback ping is a relevant comment or a gratuitous link — rests with the author of the blog which receives the ping.

With two mouseclicks, she can delete the trackback, if she really thinks it gratuitous. And, frankly, I’d rather leave that decision with her, rather than depend on the pinger to do something manually (people are lazy).

Comment by Phil Ringnalda #
2003-04-24 18:15:20

Two choices: people only ping when it’s something that I think they should ping about, and when they aren’t feeling too lazy to bother, or, people ping for every link, and a few people sometimes delete a ping (probably usually resulting in the pinger getting mad and never pinging or linking again), but mostly every ping is left intact, because people are lazy, and after a few times clicking through a half-dozen pings from linklogs, everyone realizes that following TrackBacks just isn’t worth the trouble.

I know which I would choose, I know which I expect will happen, I mostly just wanted to have said ”I tell you so” so I can later mutter to myself ”I told them so.”

Comment by Jacques Distler #
2003-04-24 19:00:53

People with TB Autodiscovery turned on are hardly likely to get deeply offended if I delete their ping as ”they” didn’t send it. If they felt strongly enough about the matter to be offended, they probably would send the ping by hand even without Autodiscovery.

You are right about the burden Autodiscovery places on the recipient of the ping. Most people probably won’t bother going through and deleting gratuitous pings (but, of course, some may simply have a different threshold for what is ”gratuitous”).

That diminishes the value of the trackback links on their blog. But I don’t think that makes trackbacks generally valueless.
Those who ”cull” their trackback links will have — on average — more interesting ones, just like those who ”police” their comment threads.

My point, simply, is that it is in the interest of the pingee, much more than the pinger to see that the trackback ping is relevant and interesting. So, ultimately, that’s who’s going to have to make sure that it is.

Comment by Adam Kalsey #
2003-04-24 16:06:54

Speaking of deleting useless TrackBacks…

(As I tried to reply to that trackback it occured to me that perhaps I should work to integrate SimpleComments with threaded comments so you can reply to trackbacks.)

Comment by Phil Ringnalda #
2003-04-24 16:52:29

I thought about that when I first put the threaded comments in, but I decided that replying to a TrackBack was a bit too much. So now I do it anyway.

They aren’t entirely useless, though, since he’s debugging BlogWorks TB support (oddly enough, I think they are the result of people clicking the URL in his comments that he says doesn’t work, and it sending a ping. Why? Dunno yet.), and debugging is always on-topic. Though I think I will get rid of them eventually.

Comment by Adrian #
2003-04-24 23:21:48

Apologies for the useless TrackBack ping. Seems to prove that something is wrong at my end of things… oopps. Looks like I need to take apart the script to see why a link URL or anything else isn’t being sent as expected.
Thanks for your patience.

Comment by Adrian #
2003-04-25 09:16:46

I’ve been working on tracking down why BW won’t ping your site. After logging every conceivable input and output the only thing I can come up with is that my app is sending the ping in a URLencoded form so the link URL that seems to be missing is sent as:
(that URLs from a text on localhost but running live is the same – I just didn’t want to hassle your server with any more pings.)
Anyway, I don’t know if that is even part of the way to solving the problem so any thoughts are appreciated.

Comment by Phil Ringnalda #
2003-04-25 19:30:38

That shouldn’t be the problem – even though the spec shows a non-url-encoded URL, from the code it appears to really mean it when it says to url-encode. I’ll email you a link to a test blog post you can ping all you want as soon as I find one that doesn’t have any, er, intemperate posts in it.

Comment by Phil Ringnalda #
2003-04-25 19:37:20

Well, no, since I don’t have an email address for you, I won’t: ping anything you like in all you like.

Comment by Adrian #
2003-04-25 22:05:10


hanks for making the effort to find somewhere for me to test TrackBacks too. Hopefully the results, eventually, will be self evident :-)

Trackback by #
2003-04-24 00:23:10

The future of Trackbacks

Phil Ringnalda has a good piece on autodiscovery and trackbacks: Autodiscovery and the death of TrackBack. Bottom line: Not all trackbacks are of equal value to the readers. This post

Trackback by Couchblog #
2003-04-24 05:38:33

Trackback-Pingback rerevisited

Phil Ringnalda ”is grumping”: TrackBack autodiscovery is evil, and will be the death of TrackBack. −54

2003-04-24 12:22:00

Trackback, pingback and LOR’s

Phil has an interesting post on the differences between trackback and pingback. I agree with his comments on when trackback and pingback are relevant. I think this is something that should be looked into more for content/learning object repositories. F…

Trackback by #
2003-04-24 15:55:40



Trackback by Object Learning #
2003-04-24 22:35:19

Ryan Eby: Trackback, Pingback, and LOR’s

An impressive, and apparently new site from Ryan Eby, with a thoughtful suggestion: Phil has an interesting post on the differences between trackback and pingback. I agree with his comments on when trackback and pingback are relevant. I think this…

Trackback by From The Orient #
2003-04-25 07:12:56

Auto Trackback

If in doubt, leave Trackback out.

2003-04-25 07:26:54

Trackback vs. Pingback

This was brought to my attention by Scott Leslie (thanks, Scott!). Ryan Eby has an interesting post about the differences between Trackback and Pingback, and how they might be used in the context of learning object repositories. Ryan is commenting on a…

Trackback by The Blog #
2003-04-26 10:56:22

I’ve fixed the ’bug’ that

I’ve fixed the ’bug’ that stopped TrackBack’s being sent to Phil’s post about the death of TrackBack. I don’t know about the death…

Trackback by #
2003-04-26 12:30:34

On Trackback Abuse And A Possible Solution

(Note: I was in the middle of replying to Adrian’s thoughts on Trackback abuse, when I realised that what I

Trackback by Musings #
2003-04-27 00:45:23


I was very puzzled by Phil Rignalda’s recent complaint about Trackback AutoDiscovery, and I said as much. But then (ironically,…

Trackback by Raw Blog #
2003-04-27 03:55:25

Trackbacks are bits of string

Reading more at Phil Rignalda’s re. trackback, and his latest quibble. One of the commentors makes an interseting point, trackbacks

Trackback by #
2003-04-27 11:21:16

The conversation continues at Phil’s

The conversation continues at Phil’s blog about TrackBack. Marcus’ idea of banning repeat offenders who ping gratuitously is a goo…

Trackback by Big Damn Heroes (Tech) #
2003-05-09 22:15:00

Rethinking the Application of Trackback

I love Trackback… the Trotts hit a home run when they came up with it. But as we’ve discussed in the past, the current implementations leave much to be desired. There’s little understanding of what TB is, debates over acceptable use, and concerns abo…


Sorry, the comment form is closed at this time.