Simple Hierarchical Tagging

I’ve been pondering the notion of hierarchical tagging lately. I would love the ability to effectively sub-categorize a given tag, whether in GMail, del.icio.us, Flickr, a tag-aware RSS reader, or wherever. The trick is to make the notation easy enough to work through RESTful APIs and skip the need for messy form-based drill-downs, etc.

Perhaps somebody has already used the following approach. If so, please let me know. If not, I welcome feedback to the notion. Here goes…

Users of older versions of the Apache Commons Configuration library are familiar with using property files with nested properties along these lines:

   user.preferences.language = English
   user.preferences.theme = chrome
   module.foo = Crimpinator
   module.bar = Crankenator

Viewed in a tree, the above properties would appear as such:

   user
      preferences
           language = English
           theme = chrome
   module
       foo = Crimpinator
       bar = Crankenator

Along these lines, why not allow a tagging system to do the same thing? Personally, I find tag clouds quite irritating. Providing a natural mechanism to organize tags would be welcome indeed. I would love to have del.icio.us tags along these lines:

web | web.php | web.dhtml | web.dhtml.css | web.dhtml.javascript
technical| technical.java | technical.gui

With these hierarchical tags at my disposal, I might bookmark scriptaculous as both web.dhtml and technical.gui. With a deliciously-hierarchical tag display, I might see “tag folders” organized like so:

[+]  web
    [+]  dhtml
         - scriptaculous
[+]  technical
    [+]  gui
         - scriptaculous

Used in an RSS/Atom reader, such a hierarchy could also be used to generate OPML with folders that mimic the tagging structure. The user may need to specify the “alpha tag” for a given feed (to avoid the same feed appearing all over the place), but it could be a handy system none the less.

Fairly workable, I think. Feedback, anyone?

6 Responses to “Simple Hierarchical Tagging”

  1. Rob Fay Says:

    I realize I’m reading your post while wearing the lense of my library science background (rather than a programming/cs perspective), but “tagging” and “hierarchy” are very different organizational concepts - mixing them could be quite dangerous. What you suggest isn’t tagging, but simply hierarchical classification. Crosslisted items are nothing new - we already see crosslisted items on sites, such as Amazon (we can even do it on our blogs!).

    See Keith’s “Three Breadcrumbs Overview” over at User Experience dot org.

  2. Mark Woodman Says:

    Perhaps you can elaborate on why you believe hierarchical tagging is classification (I agree), but tagging isn’t classification (I believe it is, just limited.)

    We organize browser bookmarks in folders. You probably organize your RSS/Atom feeds in some sort of folder structure. Your Flickr photos are both tagged and placed in Sets. Why would a simple mechanism to categorize / specialize your tags be dangerous?

    In any case, I can’t take credit for the idea… a lot of people are exploring the concept (Google “hierarchical tagging” to see). I’m just looking for an easy way to realize it.

  3. Rob Fay Says:

    Perhaps “dangerous” is the wrong term to use, but the point I was making is that “tagging” generally has a social component (moving towards folksonomy)whereas hierarchical organization does not.

    For example, your Flickr example does combine the two, but only the owner of the image can create the set, but if given appropriate permissions, anyone can tag the image. Tagging is more social because it could potentially allow anyone to apply descriptors to an object.

    I’m not sure what the benefit is to combining the two for reasons surrounding syndication, because the subscriber is at the mercy of whatever organization scheme the owner decides to employ. Choosing a syndication by hierarchical category or tag is already available.

    Also, tagging may be messy, but it lends itself to find by search rather than find by navigation. Translated to syndication, I’m not sure what the benefit is. If I find a tag or if I find a hierarchical category, I may subscribe to it.

    Right now what you describe only seems like hierarchical organization, with some categories cross-listed. Is there something I am misunderstanding?

  4. Mark Woodman Says:

    No, that’s pretty much what I’m after: hierarchical organization of tags, which naturally leads to cross listing.

    Case in point: I have 17 GMail labels (really just tags). I’m very reluctant to add new labels because they aren’t organized and the listing already scrolls off my screen. Hierarchical tagging would let me categorize some labels/tags by work, personal, family, online accounts, etc.

    In an RSS Reader, or an email client, or whatever, I would like the flexibility of tagging AND dynamic, cross-listed categorizing.

  5. Rob Fay Says:

    I guess it is, after all, about flexibility with the ever-increasing information influx.

    Now I understand what you are referring to - using this flexible hybrid organization method applied to applications like a Reader or Email client.

    Some good discussions, including mine, can be found here, here, and here.

    I would, however, caution against making things too complicated. I am a firm believer that we “find” ina variety of ways - some rather just go to the search box, others organize in such a away that they need a solid hierarchical organization.

    You refer to a hybrid organization seemingly because you remove “search” as in a search box from the equation.

    However, if you refer to my post on this issue, it seems to me that if we are careful to construct “smart” folder hierarchical organizational schemes (triggered by keywords/labels/tags), then we would simply need to tag items and not worry about hierarchical structure.

  6. Emanuele Says:

    Hierarchical tagging makes a lot of sense. I’m discussing it with David Weinberger and other experts all over the world.

    As I have explained in my presentation about Social Distributed Classification at the Italian IA Summit these year,the main issue about actual tagging is that the usability of tag clouds is very very low.

    After having reached the zero level of classification complexity through tagging, we have now to reintroduce a little of structure to improve usability and findability.

    The structure can be introduced gradually and in a bunch of different ways.

    Hierarchies are one of the ingredients and provides:
    - serendipity improvement
    - browsability enhancement
    - better comprehension of tags’ meaning

    Hierarchies can be introduced by users themselves or using a clustering algorithm as already done by RawSugar and Edgeio.