Backwards Blogs

Monday, March 29, 2004

Eric is talking about how weblogs are broken. This kind of relates to some stuff I wrote earlier.

And, he’s right. Reverse-chronological order is a terrible way to order items that potentially build on each other. I wouldn’t go so far as to say it’s broken, though. It’s only broken if the author doesn’t take the time to link back to any previous articles they reference in the current post.

Update: Photo Matt weighs in. He makes some good points, namely about what people are used to. And, yes, e-mail apps do always default to reverse-chronological. And I always change that, because it doesn’t make any sense. Invariably, there will be days when you get to work and have 12 e-mails from 12 different people, all on one topic. Does it make sense to read through those backward? Of course, each person replied to the previous person’s e-mail, and quoted the entire previous e-mail in their e-mail, so the last e-mail has the entire exchange. And that is one more reason why I’m glad I don’t work in an office anymore.

Which reminds me of another example: You don’t top post, do you?

Eric is working on a fix—here’s how I would do it:

There are a couple of ways to do this. The easiest is with JavaScript. Publish your articles in chronological order, and have a link at the top that says something like, “Save my place,” or, “Always remember the last post I read.” Clicking this link would set a cookie that would include the ID of the last post on that page. When that visitor comes back, if there is nothing new, they see a message at the top: “There are no new posts since your last visit. Here are the x most recent posts.” If there are new posts, JavaScript adds a .hide class to all posts except those that are newer than the ID in the cookie. This will display:hidden all the old posts, so the newest posts are at the top, in chronological order.

Of course, you might also want to offer a sort option, to be backward compatible with people who prefer the way things are. Unless you’re an evil genius in the world of JavaScript, that will probably require a server-side solution.

It’s an interesting idea. I can’t wait to see what Eric comes up with. I may do something like this the next time I redesign this site.