A Problem with Tagging
We’ve talked about taxonomies before – these are the big parent-child tree structures that have traditionally defined information architecture. Tagging is a direct response to the complication and “monolithic-ness” of the taxonomy – instead of defining the entire tree, you just label the one leaf that you’re working with.
But what happens when the tree starts creeping back?
For instance, one of the drawbacks with tagging is that people have different names for the different things. What I call “automotive,” you might call “cars,” so our entries don’t appear under the same tag. Have this happen enough times, and it gets annoying.
How do we get around this? Well, let’s create a thesaurus then. Let’s tell the system that “cars” and “automotive” are more or less the same thing, so if someone searches for anything tagged “automotive,” return anything tagged as “cars” as well. Awesome – now we’re back in action, even though we have a bit of a top-down system to maintain. It’s a small price to pay.
But what happens when someone wants to broaden their search beyond just a simple tag? Instead of just automotive-related items, I want to find anything to do with vehicles.
How do I back up from “automotive” to “vehicles”? Well, we need to tell the system that “cars” is a child of “vehicles.” For that matter, there are more than just that in “vehicles.” “Vehicles” is really a parent of “planes,” “trains,” and “boats” too. No problem, we just need to create a recursive table that tracks how tags are related to each other, like…a taxonomy of tags…
And, with that, we’ve come full circle back to the top-down taxonomy. Wow, that was quick.
I don’t think this is so bad, because it still has some advantages. The editing interface for tags (a simple textbox) is much better than the mess we get with parent-child stuff (usually a huge list of checkboxes).
Additionally, tag-based organization can kind of define itself. Instead of sitting around thinking up a huge taxonomy before you get started, you can watch the tags that come rolling through the system and just organize them as they come in. (“Oh look, another tag for ‘hydrofoils.' Maybe we can stick that under ‘boats’…”)
Finally, if you’re really anal retentive, you can “normalize” the tags as they get applied. When an item gets submitted with “cars” and “howto” assigned, you can detect and change them to “automotive” and “tutorial” if you like. Be sure to notify the user, however, so they know where to find the thing when they go looking for it (or just make sure the the thesaurus has the correct relationships defined).
Anyone have thoughts on this? Am I just trying to rain on the tagging parade?