Using Tags for Following Comment Threads

One of the hardest parts of designing any ongoing software project is deciding which features to leave on the whiteboard for future development. Once you know what you eventually want your product to be, it’s hard to resist the urge to implement as much of it as you can right now so that your 1.0 release is just amazingly good.

The problem is that you can’t possibly do everything right now.

Some features make the cut because they’re indisputably essential. Very few features are truly essential, however. After that, how do you draw the line as to what gets done now, and what gets postponed for later?

What I look for are meta-features, by which I mean features that allow users to create their own features. That’s why so many super-popular applications support things like scripting and plug-in APIs – by adding meta-features like these early on, developers allow their users to build or approximate some of the missing features that they (the developers) haven’t gotten around to adding yet, or which they’ve never even imagined.

Tagging has worked well for me as a meta-feature in Joyent Connector. What follows is my favorite example.

Every item in the Connector system supports weblog-style comments. Anyone can add a comment to any item – an email, a calendar event, a file, anything. Ever since we added this feature during development, we’ve used it internally at Joyent and it’s proven to be very useful for a lot of things that used to involve sending a bunch of CC’d emails around.

One thing we don’t have, though, is a way to let you know when other people have added new comments to threads you’re following. We thought about adding an RSS feed for every comment thread, but that seems untenable—given that every single item for every person on your team has its own comment thread, you’d soon wind up subscribed to dozens or even hundreds of disparate RSS feeds if you had to follow (and subscribe to) each one separately. That’s madness – you’d spend more time managing all those RSS subscriptions than you would have spent tracking all those comments without RSS.

What I wanted was a way to subscribe to just one RSS feed, which would update whenever a comment was added to a thread I was interested in.

Tagging to the rescue. For any item whose comments I want to track, I tag that item with “gruber comments” (that’s one tag, with a space; I’ll save my rant on space- and comma-delimited “tag” schemes for another day). Every tag already has its own RSS feed, so by subscribing to the feed for my “gruber comments” tag, I get one feed that changes every time a comment is added to any item I’ve tagged as such.

(I put my name in the tag, rather using something like, say, “interesting comments”, because the whole point of Joyent Connector is that it’s a multi-user system. If two users both use the same “interesting comments” tag for this purpose, the feed for that tag will contain all the items both users have tagged.)

It’d be better if we had a feature to automatically track the comment threads you’ve participated in, and, in fact, that’s still on the drawing board. But tagging is clearly good enough, and it’s already here.

2 Comments

  1. Posted March 27, 2006 at 3:32 am | Permalink

    Tagging is the one thing that makes Joyent a possibility for me. If I could get, say, MS Outlook to tag as nicely, I’d be a much happier man.

    Cool work. Keep it up!

  2. Posted January 29, 2007 at 8:09 pm | Permalink

    Tags are work! Don’t think? do it!


Post a Comment

You must be logged in to post a comment.
Follow

Get every new post delivered to your Inbox.

Join 39 other followers