Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

Does anyone have experience working with nested tags? I could not find any websites that allow users to have hierarchies in their tags (equivalent to non-mutually exclusive categories). Is it a bad practice in general? If so, why?

share|improve this question
    
Drupal lets you set up tags/categories however you want, with hierarchies (even with hierarchy cycles until recently!). Hierarchies aren't inherently good or bad, the question is how to use them well.. –  naught101 Oct 15 '12 at 23:05
add comment

6 Answers 6

up vote 11 down vote accepted

The idea behind tags is the same as the idea behind labels in GMail: the ability to assign multiple tags to a single post/mail/.../item.

The GMail labeling of e-mails was born specifically to counter the need in most e-mail clients to archive an e-mail in a single specific folder which ususally would be part of a hierarchy of folders. So what do you do with an e-mail that belongs both in the folder "advertisments" and in the folder "creditors"?

GMail was the first to solve this using labels: you just assigned both the label "advertisements" and "creditors" to the e-mail and you would be able to find it both when showing all e-mails in the "advertisements" label ("folder") and the "creditors" label/folder.

Some people still want to organise their GMail labels in a hierarchical manner and there is actually a GMail "labs" feature that allows this. But in my opinion it goes against everything for which these labels are intended and were invented.

Similarly, organising tags in a hierarchy goes against the grain. How can a specific document/mail have tags from different branches of the hierarchy tree? Technically not a problem of course, but it just doesn't make any sense (at least not to me).

In many CMS's you will find both tags and categories. Usually you can assign multiple tags, but just one category. And you will find that the categories actually can be organised in a hierarchical manner...

So I would say that the reasons most websites won't allow you to have tag hierarchies is that tags are not intended to be used hierarchically and that if you want to do something in a hierarchical manner you need to use categories (or whatever the website offers by way of a hierarchical organisation system).

share|improve this answer
1  
i'd go as far to say that poor fit to hierarchies is exactly the problem that tags are trying to solve in the first place –  jk. Sep 12 '11 at 16:16
    
@jk. well yes, that's a more succint way of putting it... –  Marjan Venema Sep 12 '11 at 16:57
2  
The Gmail labs feature is not very useful. But I disagree about the other comment ("mails having tags from different branches of the hierarchy treedoesn't make sense"). It does make sense if I want to apply the "Chess" tag to some mails (and automatically the "Board Games" tag if I have an hierarchy "Games -> Board Games -> Chess") and also the "Holland" tag because the mails are about a chess tournament in Amsterdam. –  ypercube Aug 24 '13 at 12:21
    
@ypercube The point is that it doesn't make sense to make a leaf show up in more than one branch of a hierarchical tree. That would contradict the hierarchical nature of the categorisation/tagging that the tree represents. A non-hierarchical classification is exactly what you need for the scenario you describe. –  Marjan Venema Aug 24 '13 at 12:49
    
Oh OK, I read again and see what you meant. –  ypercube Aug 24 '13 at 12:58
show 2 more comments

Though I agree in part with the answers already posted, you can impose structure on tags. Rather than using 'hierarchy', a better term is 'relationship'. Consider some of the potential relationships between two tags:

  • is parent of
  • is child of
  • is type of
  • is subset of
  • is opposite of

Of course, each type of tag relationship adds extra complexity to your user interface, so you need to weigh cost versus benefit for each additional layer you include. For most use cases, it's probably better to not define tag relationships.

share|improve this answer
add comment

We are facing a similar situation where our client has a huge catalog and wants to allow its users to successively filter down the content by drilling down into a hierarchy defined by them; a hierarchy they can decide to change anytime and as much as they want. Add to that the fact that the target platform is Android, its omnipresent back button and navigation back stack and you find yourself with an interesting challenge.

We came to the conclusion that classification and categorization are two different things. Is Evil Dead a horror, b-movie or a b horror movie? For categorization, it does not matter. The movie will have both tags associated with it. As for classification, it depends on what you want to put in evidence. The hierarchy of tags is completely independent from the categorization of an item. So for example, it probably would make more sense to classify Evil Dead as a b-movie under the horror category. However, during the b-movie festival weekend, one might want to put b-movies in evidence and bring that category up the classification tree. I don't believe organizing your tags hierarchically is necessarily a bad practice.

share|improve this answer
    
+1 for your reasoning. More on the topic: ux.stackexchange.com/questions/tagged/tag-hierarchy –  Benny Skogberg Oct 10 '12 at 16:57
add comment

The problem with trying to use heirarchies is that it's seldom you find universal agreement on what the heirarchy should be. The heirarchy can also change in unpredictable ways.

If you had a tag ASP.NET then should it's parent be Web Development Frameworks or .NET Frameworks?

If you had a tag Iron Python that was a child of Microsoft Products, what do you do now that it's been open sourced?

If you have a tag Functional Programming, what parent tag makes sense? You don't want to have generic tags like Programming Paradigms that don't make sense as tags, just to be able to group things.

Generally, it seems that attempts to arrange tags into a heirarchy are seeking to add semantics to each tag, so that searching and classification become richer. I'm not convinced that it works.

share|improve this answer
add comment

I would agree that explicitly organizing tags within a hierarchical structure is bad practice however the nature of tags is such that by specifying multiple tags for an item you are in effect creating a dynamic hierarchy anyway.

Take the example of an online store like amazon. I may classify a toy train model as "trains", "cargo", "toys", "hornby", "models". What I have is a flat list of associations but as soon as I filter by a single tag we can start to build a hierarchy based on associated tags.

If I filter by "toys" then I can aggregate all of the tags associated to items tagged "toys". I could order these by number of associations to create a smart-list of further tags to filter by. Conversely I could start with "trains" and get a completely different list of tags to filter further by.

Stack Exchange does this allowing you to pin-point the type of questions you're after. Take for example the following link which presents questions tagged "usability", "mobile", "navigation" and "touch screen". I could just as easily have started at mobile and ended up at "mobile", "iphone", "navigation".

http://ux.stackexchange.com/questions/tagged/usability+mobile+navigation+touch-screen

share|improve this answer
    
I think you're not creating a hierarchy so much as a graph. –  Bennett McElwee Aug 24 '13 at 11:56
add comment

In my opinion tag hierarchy is not always a bad idea, but I think hierarchy is a bad word here, I would consider this being subsets.

Let's say we are on Stack Overflow and because you work often with Microsoft Excel, you are interested in all questions regarding it. So you add as favorite the "excel" tag and ignore all the others.

But there are other tags related to Excel. There are tags about VBA in Excel, about formulas, about macros, about specific versions (like 2003, 2007, 2010 etc.). In my opinion all of them should be subsets of "excel" tag, so when I'm interested in Excel, I will also see Excel-VBA questions, if only I do not ignore them. This can be in case somebody tagged his question with "excel-vba" but forgot to tag with "excel". The same applies to "vba" tag, which can contain subsets like "word-vba", "access-vba" and of course "excel-vba".

Having this tagging questions would be easier, as I don't need to remember and search what tags are usable. I just put my question with one tag "excel-vba", and it will be seen for all the people who are interested in "excel", and for those who like "vba". This guarantees that more people will see the question and increases probability of getting an answer.

I think that such grouping is missing in SO, especially in case when there are about 1,000 pages in the "Tags" list, which is completely non-searchable.

Screenshot showing 996 pages of tag list in StackOverflow

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.