Designing Better Tags

An excellent thought-piece by “Nayuki”:

Some tags are naturally or inherently related to other tags. For example, any file associated with the tag core for Madrid (under the complex tagging model) should also be associated with Spain. In a sense, the tag Madrid implies the tag Spain. This can be enforced in an HFS by putting the folder Madrid inside of Spain, although this is not without its problems. On Danbooru, adding some tags automatically adds others – like green hat implies hat. It is unclear to me whether tag implications should be handled by creating and querying an implication graph over the tags, by letting the user interface suggest helpful implications but still making the user decide manually, or by some other mechanism.

This is an ontology and it’s what nested tags are good for. It’s one of my favorite things about DEVONthink and least favorite about Things 3.

The nesting of tags creates the relationship. It’s not perfect since you can have cross-tree relationships that simply can not be represented in most applications. For example, if you have a “brown dog” file and want to represent the tree as Animal > Dog > Brown that’s fine. But what if it’s a photo and you want a tree of Image > Color > Brown. In most applications you are required to have two “Brown” tags in two different ontologies to have the two search for “images that are brown or dogs that are brown.”

Ultimately, I think Apple was right to want to abandon the traditional file system on iOS and replace it with tags. It was just a weak implementation that made them lose the path. Most people understand tags but still prefer hierarchical file folders. Apple might have shifted this for new users if they had gone all in on tags across the platform. But today, tags are inconsistent across Mac and iOS and terribly hard to create and manage. It’s unfortunate, because I really do believe that intelligent tagging and search would have given them an advantage.