Why Tagging Isn’t The Answer
By Adrian Sutton
A while back, Benjamin commented about a problem his parents had organizing photos:
Watching my mother trying to use Windows XP to locate her holiday snaps makes it clear to me that tagging is the right way to interact with personal documents. The traditional “one file, one location” filesystem is old and busted. The scenareo begins with my mother learning how to take pictures from her camera and put them into foldlers. Unfortunately, my father is still the one managing short movie files. The two users have different mental models for the data. They have different filing systems. Mum wants to find files by date, or by major event. Data thinks that movie files are different to static images and that they should end up in different places. The net result is that Mum needs to learn how to use the search feature in order to find her file, and is lucky to find what she is looking for.
The idea of using tagging to solve this problem is fundamentally flawed – tagging is merely a different way for Mum and Dad to represent their mental models in the computer. The mental models are still different however, so having tags doesn’t solve the problem. Instead of wondering which folder the file was put in, Mum now wonders which tag it was filed under. Since tags aren’t hierarchical, it’s harder to narrow down the number of possibilities either.
The ability for the file to be in two places at once is a big advantage, but only in that once you find the file you can put it somewhere you’re more likely to find it again in the future without disturbing other users. When the file is initially imported by someone with a different mental model, it probably still won’t be where you would have put it and thus won’t be where you first look for it. You still need to use the search feature to find the file.
The other problem with tags in this particular case is that most or all of the data Benjamin mentions is already captured by the file system as metadata. Dates and types of files are already automatically stored (both in the file system and most digital cameras put the date in JPEG images too), it’s just not simple and efficient to use this metadata with most current OS’s. The major event name could be entered in comments for the file (if the file system supports it), the containing folder or the image name. This is the one piece of data that is likely to benefit from user extensible metadata of which tagging is a primitive form (it would be better to support adding a specific metadata field called “Event Name” or similar rather than just supporting the specification of a tag).
I find it particularly interesting that tagging was presented as a solution in this case where the essential problem is a difference of mental models between users when the biggest problem facing current implementation of tags is bridging the gap between the mental models of different users. Should this blog entry be tagged as “tags”, “Tagging” or “tag”? What other tags should be applied? No structure gives maximum flexibility but also causes the maximum difficult in finding things again later.
In this particular case, I’d suggest getting some good software for managing photo libraries that suits their needs. Most photo library software supports some form of tagging, as well as providing the ability to have images in multiple albums at once and the ability to specify comments etc. Most importantly an interface is generally provided to be able to utilize that data by searching, sorting and providing different views. An OS wide solution might have more potential across the whole of your computing experience (and other benefits), but a domain specific solution is both readily available today and will almost certainly provide a better user experience and better functionality for the specific problem at hand.
There’s been a lot of talk about tagging lately and it definitely has it’s uses but it is one of the most primitive forms of metadata so why it’s seen as solving all problems is somewhat beyond me. The most common example is being able to group files related to a specific project together by using a common tag. I just don’t see how this is easier or better than just creating a folder for that project and putting everything in there. Tags are more useful for cross-cutting concerns (like with Aspect Oriented Programming). Group related things together using existing techniques and then use metadata to cut across groups and find related material. There’s a lot of power in metadata but it’s not found by throwing out everything we already have (ala GMail), it’s found by augmenting existing techniques and providing extra power and flexibility in the combination of approaches.
Anyway, I’m a long, long way off from Benjamin’s post now so I’ll stop.