11/17/2007

How I Stopped Worrying And Learned To Love The Tags

For years, I've maintained a comprehensive to-do list tree. My entire life is organized into this tree; for example, the act of replacing the air filter in my house:

Improve Myself
Improve Home
Maintain House
Restock
Replace Filters
Replace air filter (every 3 months)
Buy air filters (every 6 months)

This is the backbone of my GTD sytstem. Counting both nodes and leaves, the entire tree has almost 1400 current items in it (3000+ if you count completed items). For the past couple years, I've been keeping it in an application called MyLifeOrganized, which also stores extra information (due dates, context, recurrence, etc.) and then shows me the whole list converted into a single flat to-do list, so I can see all my "next actions". Neato.

Recently, I've become less fond of MLO, mostly due to a variety of little annoyances and lack of any new development, but also because of the sheer weight of what I've got in there. It sometimes takes me a few minutes to add new stuff, just because the tree is so huge.

So, I decided that I'd like to go to a lighter app - maybe something web-based, like Remember The Milk or Nozbe. But, I've realized that beyond MLO, few of these programs offer hierarchical project setup. Instead, they give you tags - you can assign any number of tags to each item, and thereby view things along whatever dimensions you want.

I like tags. But the concept of converting such a huge, heavily used single-root tree to a tag-cloud makes me ... nervous. First off, how do you even do it? And how much of that tree information do I want to preserve in my tags?

One way to do it would be to just keep the same structure, but encode the hierarchy into the tags themselves using some character, like a dot ("."). So the above air-filter stuff would be tagged as:

Self.Home.Maintenance.Restocking.Filters

Ugh ... that's terrible. I'd never keep that up. Another approach, since tags are many-to-many, would be to tag something with all the appropriate tags in the tree structure. So, in this example, I get:

"Self", "Home", "Maintenance", "Restocking", "Filters"

Now I can find it based on any of these tags. Some of the tags are more useful than others, though; from a utility point of view, the right tags for these two items (i.e. the ones I'd ever really want to filter on) are:

"Maintenance", "Restocking"

Other stuff with those tags would be "Restock toilet paper", "Change light bulbs", etc. Other stuff with just the "Maintenance" tag (but not the "Restocking") tag would be stuff like fixing the water heater, painting the kitchen, etc.

Will I need to maintain a list of all the tags I use? I don't know. Will I tag for @context, too? I don't know. Will this work? I hope so ... as of this week, I'm starting the process of converting my 1400-item tree into a tag cloud, using the aforementioned Tudumo, with a little help from Sciral Consistency for the recurring stuff. Wish me luck!

No comments: