Sunday, June 25, 2006

Boosting Blogger: two technical proposals

There are enough hacks out there that with a bit of tinkering you can actually turn Blogger into a half-decent platform. Nevertheless, there are two features in particular which I think could still use further improvement:

1) Recent Comments. The recent comments hack only picks up on comments from posts on the current page. It can also be a bit slow if there are a large number of comments to sort through. Both these problems would be avoided if we could create an appropriate RSS feed for comments. I have no idea why Blogger don't provide this themselves (surely it wouldn't be that hard for them to do?), but it seems like something external users could create for themselves. We receive email notification of each new comment, after all, and should be able to construct the needed RSS feed out of this.

Note that existing "email-to-RSS" services (e.g. Mailbucket) aren't good enough. Some further processing is required here. In particular, we need to extract from the end of the notification email two bits of data: (i) the commenter's name, and (ii) the post link; and use them as the title and link, respectively, for the syndicated entry. Then we could use any old RSS-to-JavaScript tool to display the recent comments list in our sidebars. (Without the link extraction, the list entries won't actually link to the original comments, and so would be useless. Readers would have to guess which post the quoted comments are from!) That sort of data extraction shouldn't be too difficult, should it?

[Apparently there's some Ning-based hack to create comment RSS feeds, but it involves more template-meddling and - worse - requires XML validity (which this blog apparently lacks). So it would be nice if someone could figure out how to implement my simpler suggestion.]

2) Categories. I'm generally pretty happy with the based "Freshtags" system that I'm using. The main problem is that it's very difficult (time-consuming) to alter the category tags of an old post. You have to edit both the blog post itself, and your corresponding entry. I would like to categorize my old posts which pre-date my installation of FreshTags, and I also often want to change the classifications of some more recent posts (say if I decide to introduce a new category). But it would just be too much work at present.

This needn't be the case, however. Someone with better programming skills than me could overcome the problem by designing an "editing program" which integrates control of both your blog and tags.

First, it would import a list of all your blog posts (if there's no more direct way to get the data out of Blogger, one could simply get the user to paste in the list that Blogger displays when you "republish all" of your blog. Though I guess it would also need the post ID# in addition to the URLs, someone else will need to figure out how to get those!). Second, you likewise import your relevant posts. The program then pairs them up, where appropriate, and may highlight discrepencies (e.g. if your post has stored different tags from those listed on the corresponding blog post itself).

Here's the crucial bit: the program would be capable of making edits to both Blogger and in one go. Let's say I scroll down my list of blog posts, and select one from last year which lacks any tags. I click "edit tags", and the program asks me to enter the new tags. It then automatically completes two tasks: (i) it logs into Blogger for me, and edits my post to append the provided list of "categories" (just like you see on this post), and (ii) it posts that blog's permalink to my account, with the tags provided. (Or, if that's impossible, it brings up the posting page with the appropriate data fields already filled in.)

You might even make multiple edits at once, say by selecting from the program's list multiple blog posts, which you want to classify together, and then enter the tags that you want them all to share.

Is such a program possible? plausible? soon-to-be actual? It would be incredibly convenient, in any case, so I hope someone sufficiently skillful might look into it...


1 comment:

  1. I thought I'd chip in with some thoughts on the category proposal, since you asked so nicely :-)

    Both Blogger and delicious offer an API that means that something like you've described could be built. However, I would suggest it is easier to set up a "master/slave" relationship and use synchronisation so that what happens in one system is automatically reflected in the other.

    Delicious is the natural choice as "master" since it has a nice facility for displaying, sorting, splitting, merging, searching and editing tags. Looked at in this light, your proposal would boil down to:

    How can we best get Blogger to reflect our delicious tags?

    The synch program would need to use Blogger's Atom API to discover your list of blog postings, go through them one at a time, checking the corresponding delicious account and search/replace on the tags as required before re-publishing the post.

    If you're only making changes to a small proportion of posts, it would be more efficient to grab the recently-changed posts on delicious, then finding the blog posts etc

    I think this would be best implemented as an offline app that would synch your blogs and tags, rather than an online web service as it would be quite slow and resource-intensive.

    Still, it would be a lot of work to develop ... maybe another approach is to contact Johan and ask him to put a "synch this post with delicious" feature into his userscript. Sure, you'd still have to manually revisit each updated post, but a one-click solution for tag replacement might speed things up significantly.


Visitors: check my comments policy first.
Non-Blogger users: If the comment form isn't working for you, email me your comment and I can post it on your behalf. (If your comment is too long, first try breaking it into two parts.)