Down the rabbithole - Finder tags

Making tagging easier (Go back)

It's fairly easy, though not immediately obvious how, to tag files in Mac OS. In the Finder, if you bring up the information window (⌘-I) for a file you will see something like this:

The file information window in the MacOS Finder

To add a tag, click in the Add Tags... field and start typing. An auto-complete window allows you either to choose an existing tag (saves on duplication of tags, which is a Very Good Thing) or create a new one. In this case I chose "Mac". Hitting return results in a tile in this window. This is how it looks after adding a few tags.

Information window after tagging

This is fine, and it is all that Devonthink needs, but to me it feels a little underwhelming. As I mentioned earlier, the use of keyword tags is a very fragile mechanism for classifying content. You'll see in the screenshot above that I've used Java as a keyword tag. Is that Java the country, Java the type of coffee or Java the programming language, or indeed some other Java entirely? There is no context to distinguish these keywords, because they are just strings of text. So unless you can add that context (you're a human, and the article is about software development, so we know which Java we're talking about) the keyword is a little wasted. Worse, it can be misleading; if I had documents (say, in Devonthink) that were separately about Java the country, Java the coffee bean variety and Java the programming language, they might all be tagged with the keyword Java, with predictably hilarious results when navigating by tag.

Properly designed and used, though, tagging (I prefer the word classification) using structured information taxonomies is a very effective and powerful information tool. It gives precision, flexibiilty and accuracy to your information architecture, and removes ambiguity. Most important, it gives context; by which I mean the environmental information that positions your content in relation to other content.

Improving the way Finder tags are applied

I mentioned Devonthink, and the fact that it will take on Finder tags that have been associated with files. But wouldn't it be nice if there was a simple way to actually apply tags to the files in the first place? Of course it would. So I did some exploration into this.

I used a tool called Hazel for this purpose.

Hazel folder manager UI

Hazel monitors specific folders and acts on them using rules. When a rule is triggered on a folder, it may take any of a range of actions, including moving a file to another location, or running a script. This is how I use it. I have a folder called Interactive tagging which Hazel monitors. When I drop a file onto that folder Hazel runs an Automator script (Automator is a visual scripting language built into MacOS, and very useful it is too) that asks the user for tags for the newly arrived file.

Automator script to add Finder tags to files

Then Hazel completes its action by moving the tagged file to another folder. The receiving folder is monitored by Devonthink. Devonthink indexes the file and adds its content to the content database.

This may all seem a little clunky, and it will be redundant when the Desktop content graph is complete, but actually it works very smoothly as it stands. Just drop a file  from the Finder into the monitored folder, add some tags in the dialog that pops up, and it's immediately updated in Devonthink.