Categories
Technology Weblogging

Tracking the backing of backtrack on trackback

Say that three times fast…

I’ve made a minor change to the Backtrack code that should allow any weblog that supports a variation of [ping)?__mode=rss to work, and that returns valid RSS. This is implemented by default with Movable Type’s trackback, including the stand alone TB server. And, this also now includes Sam Ruby’s weblog, which was one that wasn’t working previously, as you can see from the following post: http://weblog.burningbird.net/fires/000766.htm, as well as this one.

(Click on the Sticky Strand for Sam’s post to see it in action.)

Sam implemented his own version of Backtrack, but his also allows one to ‘drill through’ to the backtracked items for each level, through the “back” link. In some ways I’ve stolen this functionality because when you backtrack one of Sam’s postings, his implementation of backtrack comes along, so to speak.

I thought about adding this support to my variation of Backtrack. What it would take would be to follow each link that’s returned within Backtrack, and use RDF/RSS auto-discovery to find the trackback link for the posting. For example, following one of Ben Hammersley’s posting, such as this one and looking at the source shows the block of embedded RDF/XML that Trackback uses for AutoDiscovery. I can then pull out the trackback ping and add this to my entry.

I could, but I won’t. I’m not interested in incorporating the expanded processing, and if people are interested in following a thread, they should follow it directly from each level rather than skip around. From the lack of interest shown in this functionality at Sam’s site, I don’t see that this is something people necessarily want.

At this time, Backtrack also does not include support for Pingback because I don’t see that this implementation of sticky strand supports an HTTP GET with parameter “?__mode=rss”, which is what I’m using. However, I may have missed this somewhere, though. because there is a tangle of messy threads about pingback, trackback, and variations thereof.

Categories
Technology Weblogging

Movable Type tips and tricks

So, how do you like the new look, eh? Still playing a bit, but it’s getting there — blue/green for sky and water; tan/rust/brown for earth and fire; gray/black/white for air and snow.

I’ve also been exploring different things to do with Movable Type; this weblogging tool is amazingly versatile. The Trott’s have left all sorts of open interfaces into the tool that you can use for whatever you want, such as my new Backtrack goodie.

If you use Movable Type, then two weblogs that should be on your must browse list:

My change for comments and trackback entries is a variation of PHP that I found at Girlie Matters web site. I don’t at this moment use Brad’s plug-ins, but I’m sure I will in the future.

Categories
Technology Weblogging

Tiny thread, small needle

In The Third Generation of Weblogging I wrote the following about ThreadNeedle:

 

I discovered that my original concept was infeasible because of the space requirements and the forced centralization. Now, with trackback and increasing uses of other technologies, we’re starting to see ‘threadneedle’ take form, and we’re finding that what was wrong with my original concept is that it was based on one technology — threadneedle is not one single technology, it’s dozens created by as many or more people, all focusing in one way or another on Conversation — not hits.

 

ThreadNeedle is a concept whereby we can track a conversation, not just a specific post or weblog. The original idea was to have an application that people could use to register their ‘conversation’ threads, so to speak, and then one can see the whole conversation at a glance.

As I mentioned, a couple of problems arose. First was the fact that I couldn’t afford the server necessary to do a truly effective job of storing the information for all of the threads. However, I could have passed the hat for a server, but that led to the second problem — usability.

All the approaches I explored required additional effort on the part of the user. More than just a little effort. To start a conversation they would have to register it with a service, and then each individual conversation thread would have to attach themselves deliberately to the thread.

Well, after careful study, I’ve come to a conclusion about webloggers: we’re all here because we want to write. We’re not here because we want to fill in forms, tweak RSS, hunt down esoteric applications, compare each other’s byte length, or twist our arm behind our head to kiss our elbow, no matter how satisfying the experience.

Sure we have people who like to tweak tech, and we all benefit from the tweaker’s efforts. However, even the tweakers don’t want to have to do a lot of administrative stuff just to ensure connectivity. If it can’t be automated as much as possible, no body really wants it.

At about the same time as the discussion on ThreadNeedle was happening, Movable Type released the concept of Trackback — a way of pinging another weblog and letting them know, automatically, that you’re linking to them. If the person’s weblog was set up for it, the trackback item would be automatically added to the list of trackback items for the post.

I was asked at the time if Trackback wasn’t ThreadNeedle, and I said yes it was, and no it wasn’t. The biggest problem with the first release of Trackback was it’s dependency on Movable Type. Of course, that all changed when Movable Type released the Standalone Trackback application that anyone with a server that supports CGI can use.

At first, the use of Trackback was light, and then Movable Type added Trackback auto-discovery to posts, and next thing you know, we’re seeing trackback items everywhere. Additionally, other weblogging tools such as Bloxsom have integrated its use.

By now, to all intents and purposes, Trackback is ThreadNeedle — the embedded RDF/XML to provide information about each ‘thread’, paired with the services to track an individual thread. All that was left was pull it together. There is an application, mt-thread.cgi, included with Movable Type that allows one to see an entire thread, cached, but I haven’t seen its use. The reason for this is, in my opinion, that we don’t necessarily care to see an entire thread at a time — not really. If we did, we’d be using mt-thread.cgi. (See demonstration of this at Six Apart.) I think what we want to see is the conversation above us and below us. In other words we want to see who’s linking to us, and our readers want to see who we’re connecting to (not always in the links in the post). At least, that’s what I’m curious about when I read a post.

(And to be honest, I don’t think many conversations go beyond the three levels.)

Based on all of the above, time for a new plan — ThreadNeedle on a diet. And I’ve implemented three new pieces of functionality at this weblog as part of this plan.

The first implementation is to list out trackback items, including making a small modification in the Movable Type Perl modules to support page individual archive page re-builds with new trackback entries. This change lists all trackback pings received with each individual posting page, showing just above the comments.

The second change, showing in the sidebar of the main page, is a listing of the most recent trackbacks the weblog has received, and which post received the item. This is directly below the Recent Comments, and I implemented it as part of my effort to ‘bubble up’ recent activity on the weblog — comments, entries, and trackbacks.

I implemented this piece of the functionality in PHP, going directly to the MySql database. It’s still in test, but when finished, you’re more than welcome to have to code, to integrate into your page if you use PHP. (Another variation could use a Movable Type plug-in for the same effect. If this isn’t handled by LazyWeb next time I have some spare cycles, I’ll do this myself.)

The last change I just added today. In each individual posting page is a section labeled with Sticky Strands and listing all of the TB pings the posting issued. The functionality I added today takes those pings, follows them back to the posted weblog, and then lists all of the trackbacks that weblog posting has received.

So, for example, if you access the weblog posting for Suffer the Little Children, at the end of the posting, you’ll find the Sticky Strand section. Clicking on either of the links will then display a page containing the trackback items for Jonathon’s post or for Loren’s — including a reference to the directly trackbacked post, itself.

These weren’t incorporated directly into the archive page because I don’t want these to be PHP. In addition, I don’t want to strain the CGI at the tracked site by accessing their trackbacks unless a person really wants to see them.

With these changes, you can now see excerpts and links for posts that trackback to my post, as well as being able to see trackback items for a post or posts I reference in my own writing. Three levels of the thread.

Of course, this is still in test, and I’m still discovering the problems associated with the approach. However, I’m finding that it works quite nicely. However, note that the code for the last change works only if a person is using the standard trackback *ping* format, below:

 

http://yourserver.com/cgi-bin/tb.cgi/[TrackBack ID]

 

Movable Type and Trackback Standalone users get this automatically if you followed the documentation. I have no interest in tracking down variations of how trackback is implemented; If you’re not using this format, then the program fails. My philosophy is that if you want to play and do things your way that’s fine — don’t expect me to change my world accordingly.

Again, I’m testing the code out but once it’s working, I’ll bundle it niecly, with instructions, and you’ll be welcome to download. Implementation on your server should be trivial. At this time, all the solutions are PHP-based, primarily because this seems to be the most universally implemented solution available to most of us. If there’s enough interest, though, I’ll create implementations in Perl/CGI, too.

It’s not my grand idea of long ago, which went the way of most grand ideas, to the great Grand Idea Never Implemented afterlife — but it is a tiny thread. And a little needle. It works, its distributed, and requires no particular processing power other than to implement Trackback.

Now do you know why I’ve been on your butts about Trackback so much lately? And if you’re not using Movable Type, and can’t implement the Standalong TB server, tell your blogging vendor to add Trackback. Let’s get this show on the road.

Update

P.S. Trackback is the creation of Ben and Mena Trott. Additionally, Timothy Appnel just came out with a Perl module for trackback, XML::Trackback that should prove useful for future efforts.

Categories
Web

Setting the stage

Recovered from the Wayback Machine.

Clay Shirky took what is basically an informal, distributed, totally loose system we’re all calling LazyWeb (because, well, we tend to like catchy terms), and formalizing the hell out of it.

He writes at O’Reilly:

 

However, the coordination costs of the LazyWeb as a whole are very high, and they will grow as more people try it. More people can describe features than write software, just as more people can characterize bugs than fix them. Unlike debugging, however, a LazyWeb description does not necessarily have a target application or a target group of developers. This creates significant interface problems, since maximal LazyWeb awareness would have every developer reading every description, an obvious impossibility. (Shades of Brook’s Law.)

I think the concept of LazyWeb is good, but formalizing and even centralizing it is just following the same old patterns established back when Tim Berners-Lee was a pup trying to figure out how to impress his college professors.

The LazyWeb works within weblogging not because it’s promoted by a few elite technologists, or centralized to one feed; but because we have the ability to disseminate requests and solutions at an incredible pace. This is true distributed, peer-to-peer technology and social structure in action.

We use a combination of links and popularity (Daypop), sticky strand technology (comments, trackbacks, and pingbacks), and even syndication (RSS) to connect idea creators and idea suppliers.

Ben’s idea of posting a LazyWeb request to his weblog is what works — putting a procedure into place and giving it a position within social strategies, doesn’t.

(P.S. Too bad O’Reilly doesn’t implement Trackback, so we could let Clay know we’re talking about him, and what we have to say.)

Categories
Diversity Technology

Gasp! Women…speak?

Recovered from the Wayback Machine.

Sorry, but this is all just too good and I must share:

 

Don’t invite only male speakers

If all your speakers are always men, women will notice and not feel welcome. Role models people can identify with are important to staying interested in a field.

Do ask women to speak

It’s surprisingly easy to find technically brilliant female computer scientists willing to come speak to your group. If you explain that you are trying to encourage women in computers, many women will be even more likely to speak at your event. Women speakers are probably the number one way to get women to come to your event. They will be able to see a role model, ask her questions about her experiences, and for a few hours at least, not feel like the only woman who’s interested in computers. Be sure that when you do invite a woman speaker that you advertise the event well, especially to women.

One woman says that she noticed her LUG paid less attention to and was ruder to women speakers. She thought it might be because the members dismissed the possibility of her knowing anything they didn’t already know. Be sure not to let this happen to your women speakers.

And the next time you go to attend a technology conference, and see that the male speakers vastly out-number the women, send an email to the conference planners, ask them what the problem is. And then you might want to shop around for a conference that doesn’t equate ‘geek’ with ‘male’.