I got a Gmail account. If you don’t know what that is, Google have decided to step into the webmail market, which is bigger than the search engine market apparently. Each account gets a 1 gigabyte of storage space and some other changes to the standard webmail interface.
Labels vs Folders
Gmail poses a radical new paradigm to emailing: Searching instead of filing. They have one of the best searching technologies around so they have replaced hierarchical folders with labels that act like metadata. The main difference is that an email can have more than one label and are not in a hierarchy.
The hierarchy is the natural method for organising information on the internet and in computers generally. URI‘s are a hierarchical way of organising everything and are based on computer file systems which store everything in a directory/folder structure. Though I think hierarchies are useful for small controlled vocabularies, they are restrictive as the information set becomes large. In the context of the web, potentially all human knowledge, they can’t cut the mustard. I think this is because people store information in the brain though multiple related memories allowing more than one way to arrive at the same thing. Tags work more like the way people think I think.
There is also the philosopher Jerry Fodor’s argument against prototypes (terms in hierarchies more or less) in his paper “Concepts: Where Cognitive Science Went Wrong”.
Fodor’s main argument is that, if DOG is a concept organized around the prototypical DOG, because of compositionality, so must be NON-DOG. But this is crazy, because a bagel and Beethoven’s 5th Symphony, and zillions of other desperately heterogeneous things, are NON-DOG. Nothing can possibly count as the prototypical NON-DOG. On top of this, you have to add the notorious problems with the conjunction of prototypes (PET FISH and MALE NURSE etc.). The case is desperate.
Not to write off hierarchies completely as they do help to narrow the scope of large amounts of information and I think this is useful from a UI point of view. As Rajiv points out:
Organizing content is a means to the end goal of finding information. Since organizing content is not a goal by itself, it should be as simple and less work as possible required to meet the goal of finding information… To organize content well in folders requires deep levels of sub-folders. These can be a challenge to browse.
Tags are the new Labels
In an article on the “new social networking phenomenon called ‘tagging'” del.icio.us was cited as an example of an online community sharing bookmarks and their tags. What I found even more exciting was a comment that mentioned a site that’s whole focus is making tags and how it is driving its community. It certainly makes for an easy and effective way to browse a group of people online, and because the information is personal it would be possible to match very similar people making it a good social networking tool.
The article also talks about searching tags as being a way of searching the present and the future as opposed to Google which is a search of the past (because searches are based on indexes that are not real time). RSS is mentioned too but I think even that is history (just possibly more recent that Google), where as iCalendar allows you to see what is coming up. But I digress.
From a data modelling point of view it means a many-to-many relationship between information and the tag/labels that are used in metadata about it. This could work for mp3 collections where songs could be marked to have more than one genre, or artist, or album or title even. How I wish my mp3 player had such a facility!
The future of content management online
Drupal is the first CMS that I have come across that lest you set-up a many-to-many relationship between a piece of content and a vocabulary and its terms. These vocabularies can be flat or hierarchical, with ether single or unlimited depth. This allows for amazing flexibility and ease of navigation (a concept I plan to put into ComPort when I get round to it).