As opposed to the "old" way to index content, hierarchical categories, it's often seen as the cheap metadata for the masses, categories being the land of taxonomy experts. I do think that flat-hierarchy is more human brain-friendly, imitating the word-as-a-label-for-things way it works. It's probably the reason why tags have kicked in so strongly. (The more an user interface follows users thought schemas, the less obstacles it throws between the user and the actions to perform, the better it is) But this is also the main drawback of the tags: human language-structured thought can make hyperspace jumps between concepts, the same word can have several totally different meanings, and last but not least : each humain has its own world-experience, its own tagging-system. Not mentioning the language divides.

Where categories are managed by specialists in order to achieve the best classification, tags are users rough approximation of classification for a practical use. Here is a small proposal to improve flat hierarchy efficiency by patching it with some bits of categorization, while keeping the tags theirselves simple and natural; avoiding the use of categorized tags like technology>computer>programming or web.design.css as users tend to use to overcome tags limitations.

Tags are metadata, but are also data

  1. A map is not the territory. (Words are not the things they represent.)
  2. A map covers not all the territory. (Words cannot cover all they represent.)
  3. A map is self-reflexive. (In language we can speak about language.)

-- Alfred Korzybski, the role of language in perceptual processes

Tags are as natural to users as the use of language. But language has structures itself, and words are related to each other in a web (or webs ?). Why not add semantic relations between tags to flat hierarchy ? It would just be another depth of metadata, metadata over metadata. No need to change current tags systems :

  • Users tag their content with whatever tags they think appropriate, just as actually.
  • Shared tags between a community become a thesaurus, a cloud to be strucutured.
  • Community experts pick tag couples and define freely the appropriate semantic relation between them, like synonym, is-a-kind-of, translation, word-variation etc.
  • Specialized features and search engines can be built, using tags semantic enhancements, improving content sharing.
  • Communities could share their tags maps, to benefit from each other classification abilities, provided there is an accurate, flexible standard defined for tags structuration and exchange.

As a draft, let's imagine tags web structure as a many-to-many relation table linking tags like this :

  • tag A (alphanumeric)
  • tag B (alphanumeric)
  • commutative (boolean) is the relation order-independant ?
  • weight (numeric) if relevant, strength scale of the relation
  • insert other relevant metadata here...

And for exchange... let's say some kind of xml-rpc web service standard to retrieve ponctual metadata on a per tag use or to import complete tag maps from a community, with/or content feeds. I think that there are some intersting potential web applications to be built on community, human-indexed content.

Some links

In no particular order :

Post-Scriptum, 2007-07-29 : I've copied this entry to my wiki so that people can reference and discuss it.