I am developing an application similar to Yahoo Answers and debating whether to use tags or categories. Most of the other Q&A sites use categories. Which one do you guys prefer and why.
If you are talking about a hierarchy of categories, you assume that you can define a hierarchy that is reasonable for all of the questions being addressed, and that the categories you define make sense to most users.
Tags do not require you to pre-determine a structure for your questions and provide a much more flexible means to categorize information.
You may also be interested to know that you can license the technology behind StackOverflow and white label it. That offering is called StackExchange
The difference I see is :
- One "entity" can have only one category ; no more
- Categories can be organized in hierarchy -- ie, sub-categories
- One "entity" can have several tags
- Tags are not organized in any kind of hierarchy
I would say... Why not use both ? Something like :
- Category / 1 (maximum) level of sub-category, defined only by administrators : a first level of classification -- but optionnal, maybe ?
- For instance, on a general-oriented website, "computer related" would be a category
- "Cooking", "Motor Vehicules", "Holidays" might be others
- Tags : like here on SO ;-) Can be created by (almost) anyone, especially ; and are far more specific.
Of course, if you are having only one "subject" (like SO is about programming questions), categories would probably not be that useful : not wide enough...
I believe tags are infinitely more flexible, there's a place for everything. I've noticed too that tag based sites are rare, but isn't having one place with ALL the questions (organized by tags) nicer than having to navigate 40+ forums and subforms. It makes stuff a lot easier to find and search for IMHO as well; you don't have to try to put all of your information in the title of your question, you can use its tags. One a forum based site, you could search for something less than mainstream, like jquery-onchange event, and you would have to hope people were smart enough to be specific in their titles. On a tag based site, you can rely on both the title AND the tags to relay information.
It also makes moderation easier. I wouldn't like it as much if people renamed my questions a lot, but being able to retag them is a great asset, allowing for better organization and more search-ability. :D
Tags, because taxonomies never work exactly right -- cfr Weinberger's works for one take on that.
Both tags and categories can be worthwhile. Really you could implement categories as tags with special properties set. Typically categories are nice for navigating content in a structured way. Tags tend to leave you with a big mess.
A nice way to work with tags and categorization is to allow tags to have a parent tag. That way you could write a page which displays tags in a hierarchy. Depending upon your needs you may or may not want to support multiple parent tags.
(Note: I was an interaction designer at Google for about 5 years and sat through a lot of usability studies of many Google products that included concepts of tags, labels, and categories. I'm currently designing business web software that uses similar concepts.)
A great many users don't understand the concept of "tags" (or "labels"), even today. Users, in general, do get "categories." Surprisingly, in usability if you show people "tags" or "labels" and say "what are those over there?" a lot of people will say "oh, those are like keywords".
The salient differences between categories and tags are highly technical, and as far as I've ever seen in usability studies, are entirely pointless even to people who use their computers a lot for work.
So I'm in the "use both" camp:
- An entity can have multiple keywords. (it can live in multiple categories or have multiple tags -- both describe the same utility.)
- Keywords can be organized in a useful manner to facilitate discovery and mental organization. This means a hierarchy. You can use a card-sorting test (see www.websort.net for a good online card sorting application) to figure out a good hierarchy for your particular subject matter and users.
- Users can easily generate their own keywords. Whether these get added into your hierarchy is an issue for internal monitoring to decide. (Note that most people prefer to pick from an existing set of options -- they understand that using existing categories helps an item get found. [HCI principle of recognition vs. recall.])
On my current site, we have a list of "canonical tags" which we've organized into a hierarchy so users can do basic browsing & drilling down into categories of interest. (We've got 3 levels.) Users can create their own tags if they want, but in practice they mostly don't, preferring to use the UI combo box to select from tags in our official corpora.
P.S. -- Tag clouds (i.e. the visual representation of popular tags as a big blob of words with different font sizes) fail miserably in usability. All they're trying to do is provide, basically, a ranked list of popular categories on the site, and as such you might as well just order the list from most to least popular.