Tagging vs Categories and Creating the Best of Both Worlds
posted Mar 27, 2008 at 10:07:46 PM by Doug Gibson.
After tweaking my CSS (still in progress on some minor things such as code displays and the comment form), and implementing SES URLs, the next thing I planned to implement is a tagging system. This sounds pretty simple, but as I debate the best way to go about it, I've become paralyzed in thought over it.
The flexibility of tagging is a strong point and the primary reason that tagging caught on several years ago. The many-to-many relationship of tags to the items being tagged make tagging work where hierarchical categories simply do not.
It's great for the general user to label things however they want without restriction. But as any seasoned user of del.icio.us (I have nearly 2500 bookmarks at the time of writing this article) knows, this flexibility eventually turns into chaos. Inconsistencies become apparent as you find that some of your items were tagged singularly and some plurally. People make their own compound tags differently, using dashes, underscores, or dot notation - and some people are inconsistent in that as well. If you start out simple, you may find the need to add more tags later on for greater descriptiveness.
I'm not necessarily seeking a system that will address all of the above issues. Rather, I am looking for a way to create some more order within a flexible tagging system. I could come up with some simple solutions like adding a parent key to each tag's database entry, which would allow for some hierarchy (however messy it would be to take advantage of on SQL 2000 right now). Thinking of some other projects I'd like to use this codebase for, I would also like to be able to have groups of tags that are not in a hierarchy. I.e., the tag group is not selectable as a tag. For example, perhaps I am writing tutorials and want to tag them by technologies used as well as difficulty level (beginner, intermediate, advanced). I could use a flexible tagging system for this, but interface-wise it makes sense to have these tags grouped rather than be free-form entry tags.
While I could certainly construct my own ad-hoc system, I'm wondering if anyone has any experience or has read about more robust taxonomies that may address my needs and could point me to some articles or examples.