Home Link

Hello, my name is Brett Terpstra, and it’s nice to meet you. Elegant solutions to complex problems. Curious?

On sorting, tagging and other nerdery

On sorting, tagging and other nerdery Tagged:
Feb 22, 2011 (450 days ago)

Nerd post alert. As if you were expecting anything else.

Since posting my latest desktop, I’ve received a few questions about how I keep my Mac’s Desktop icons under control. I thought I’d answer that question before I got around to posting my whole GeekTool setup. Beyond hiding disk icons and making the icons smaller in Finder’s Desktop view settings, I have a “system.” My filing system is simple to use, but a little complicated to explain (and set up), so it gets a whole post to itself. I doubt many will follow directly in my footsteps, but you asked…

Like any so-called system…

The basic idea is that my Desktop is an inbox. During the day, I save just about everything I work on to my Desktop. Like any system I’ve ever used, the secret is actually doing the “reviews”. At the end of each day I do a scan and file what obviously has a place (I have some neat tricks for speeding that part up, but I’ll get there in a bit). Things that represent new projects or that don’t fit into an existing folder/tag setup take further action; if there are enough related items to represent a project or topic, they get collected into a new Desktop folder which is descriptively named. The new folders will generally stay on the Desktop until the weekend, when I do a Weekly Review. If a file is singular and has no context, it stays on the Desktop and waits for company. If a file sits alone for a few days, it usually ends up being tossed into a “pile” of similar filetypes. Let Spotlight sort ‘em out.

In the Weekly Review, I go through the new folders on the Desktop and determine what type of information they represent. Is it a project? A client? Reference material? I have a folder hierarchy based on these types, the top levels being Work, Code, Reference and File Cabinet. Each breaks down a couple more levels. If a Desktop folder can be filed into one of these categories, it’s moved there. Not before it’s tagged, though.

Tags, tags, tags

I use OpenMeta tags to sort and search all of my data. I primarily use Tags from Case Apps, Default Folder X and Spotlight, but make frequent use of HoudahSpot and the command line openmeta utility as well (among many other OpenMeta-compatible apps). I don’t stake the life of my data on the continued availability or stability of the OpenMeta system, but in combination with a consistent, shallow folder hierarchy, I know where things are, even without the convenience of tags. Tags make it easy to group files and work with those groups, but there’s more than enough metadata in the filesystem to make any information easy to locate with Spotlight or other mdfind tools.

The beauty of tagging, as you may know, is that you can easily assign multiple categorizations and topics to each item, rather than just having them exist at one location which defines it as a type or part of a static collection. I still use the shallow hierarchy of folders that drill down to individual projects and topics, so it’s not a “one pile” deal. I couldn’t function like that; it’s difficult to weed, and if metadata is lost, so is the file, essentially. I use folders to maintain filesystem sanity. I use tags and other metadata to maintain my sanity.

I also use tags on iCal events, emails, web sites and other elements of my system. They’re easy to filter in searches and allow me to make a project “folder” that contains more types of data than Finder would normally make convenient.

Tags, to me, are like mind maps, in that they work the way my brain does. Each tag creates a “nodal connection” to other items sharing the tag, and neural networks are formed by related tags. Things aren’t always directly connected, but the nodes make it possible to track things down after you’ve forgotten about them. They’re useful in the short term for gathering projects together and categorizing, but even more useful after you’ve forgotten you ever had a file and then suddenly need it.

What’s in a (tag) name?

The secret, which I’ve learned from a few years of doing this, is to tag intelligently, sparingly and consistently. Being liberal with tags like “important” or “flagged” just means more upkeep and reviews that have to be done to keep the tags relevant. While tags like “neat” or “supercool” seem silly to me, I use one “inspiration” tag on anything that I’m saving just because it’s, well, inspirational. I have a Smart Folder in Finder that pulls up everything with that tag, and then I can filter the files based on date, type, etc. If I add additional tags, they are pretty general, such as “color,” “webdesign,” or “productivity.” These are big buckets I can dive into when I need an idea, or a kick in the pants. The tags on project and research files tend to be more specific, and I can drill down to precise sets of files by typing a few words in Tags or HoudahSpot.

To keep the cruft down, I use tags which aren’t already defined by other metadata like the creation or modified date, the filetype, the filename, etc. I do tag files with the name of their parent project or topic, even though it’s often redundant to the folder hierarchy. This allows me to tie projects together across multiple folders, disks or even servers. Sometimes a file is more strongly tied to a topic than it is to an individual project. Say it’s a general reference item or a stock photo that I gathered while working on a specific project, but that I know I’ll need again. I put it into a reference folder or photo collection, and tag it with the related project. It’s easy to view it in the context of the project with a tag search, but part of a larger collection of similar items at the same time.

When in doubt, I usually choose tags based on the first thought that pops into my head. Chances are, when I’m looking for it again in a year, I’ll have the same thought. It doesn’t always work, but I’ve had a pretty good success rate over the last couple of years. As often as possible I try to reuse tags; a tag that reveals one or two files is a useless tag. My “Yearly Review” includes weeding out tags that have very few associated files, or that could be merged into more common tags.

Is this future-proof?

I know I started by saying I don’t depend solely on tags, and then went on to describe a system that sounds pretty tag-heavy. Given the somewhat unorthodox nature of OpenMeta tags, and Apple’s power to pull the rug out from under them at any time, it kind of seems like a disaster waiting to happen, right? The fact of the matter is that OpenMeta tags are well preserved by design, backed up1, and can be re-associated with their files through various means, should the system ever fail. It’s really pretty solid.

The tags don’t translate to iOS, though, so that’s taken some extra thought in some cases. The tags I use in Simplenote/Notational Velocity, for example, are inline in the file as a special character followed by the tag name. I can set up Spotlight searches to search for a keyword with and without that prefix, so it doesn’t really add complexity to the system. Searching in Simplenote on my iPhone/iPad is then much easier. Spotlight and apps like Simplenote also search text content and filenames, and iOS apps don’t “talk” to each other very well anyway, so it’s not a huge deal at this point.

The cool part

Tagging files with a project name has an added benefit for me. I’ve built a system using some Ruby scripts, the CLI tool for OpenMeta, the mdfind command, Dropzone, Hazel and Tags.app. This is the truly “complicated” part. The system took a while to set up, and there was some tweaking early on, but it’s solid now and I rarely have to think about it. It just works.

When I file those Desktop folders each week, I add a special supertag to define them as “targets.” They get a unique project name or combination of names, and the target tag. Then they’re filed in parent folders which are also targets with unique names. The second level of target can have one more child level of targets to separate sub-projects or file types. These tag names do not have to be unique system-wide, only within their parent target tag. Within any of those folders, the files are tagged and finding them rarely actually requires going into the folders.

Now, during the daily review, I just use Tags.app to quickly tag files on the Desktop with whatever is appropriate, plus the name of the project or topic they’re associated with, and any subfolders I want them to reach. Then I can let Hazel pick them up, or drag them straight to my Filer destination in Dropzone. Both run a script which gathers all of the target folders on the system and starts drilling down to find the best matching tag or series of tags. Then, it moves the tagged file into the best-match folder, logs the action to a text file, and gives me a quick Growl notification letting me know what it decided.

That’s the system. I’m sure I left some questions unanswered, so feel free to ask again in the comments. As I said in the beginning, I don’t know if this kind of setup makes sense to other Mac users, but it’s served me well for years. I don’t lose files, I keep my filesystem tidy, and I stay relatively sane.

Here’s a mind map of the elements that went into this article. It seemed to make a nice summary of my long-winded diatribe.


  1. The Mac App Store has an issue with the backups, actually, because OpenMeta-compatible apps all back tags up to a universal cache folder. MAS doesn’t allow an app to write anything outside of its own Application Support folder. I like that in general, but I think there needs to be a concession in cases where synchronicity between multiple apps is of essence. 

20 Responses to “On sorting, tagging and other nerdery”

  1. […] This post was mentioned on Twitter by Ian Beck, Terry Norton. Terry Norton said: Big user of OpenMeta tagging as well: Leap, Yep, Tags… On sorting, tagging and other nerdery http://​goo​.gl/​f​b​/​R​g​C73 [post] (via @ttscoff) […]

  2. Pascal Sartoretti says:

    Thanks for having shared how you organize your information, it is very interesting. However, I fear that what works for you might not work for others (such as me). Why ?

    • I guess that you have one machine (one desktop), whereas I have to deal with a work PC and a Mac at home. Most of the stuff is clearly either work or home, but not everything, especially the most interesting ones (for instance : your blog entry and this answer….).
    • Many of my work files are shared with colleagues, and I don’t have complete freedom in how to organize information. Some people like tags and some not, some people are very good at organizing files in a hierarchical structure (and most are not…).
    • Same at home : I share a lot of files with my wife and/or kids, who are not as interested as me in cleanly classifying information.
    • And now the worse : tags work well in single language environments, but not in multi-lingual ones. My personal stuff is in French, technical stuff is mostly English, and work projects are in both plus sometimes German. Even for my personal use I have trouble with deciding on one language for my tags, the same decision for a multi-lingual group of persons is virtually impossible.

    But thanks again !

    Pascal

  3. Karl says:

    Very interesting to me!

    I very much enjoy reports like this on methods people develop to overcome the silly limitations of strict hierarchies of folders as the only filing paradigm here.

    I find this topic that interesting that I decided to spend four years of PhD time here ;-)

    If you are interested in my research approach, please feel free to visit http://​tagstore​.org and drop me a line if you want to test the software. It is no replacement for productive usage but a research prototype which offers a cool tagging method. Once the method is proven to be of use, its functionality has to be included into operating systems and file systems. This is my long-term vision.

    For now I need test users which are willing to test tagstore and giving feedback for research purposes.

    And if you have URLs to similar reports like this, drop me a line too: tagstore@IST.TUGraz.at

    Thanks for your time writing down your method!

  4. keizo says:

    How can you add tags to iCal event? I guess Gravity Apps Tags doesn’t support iCal.

    • Brett says:

      Yeah, it’s not as easy as it used to be, and I rarely do it anymore. You have to locate the appointment with Spotlight in Finder and tag the associated file. It works, but it’s not very convenient.

  5. […] On sorting, tagging and other nerdery – Brett Terpstra — I use OpenMeta tags to sort and search all of my data. I primarily use Gravity Apps Tags, Default Folder X and Spotlight, but make frequent use of HoudahSpot and the command line openmeta utility as well (among many other OpenMeta-compatible apps). I don’t stake the life of my data on the continued availability or stability of the OpenMeta system, but in combination with a consistent, shallow folder hierarchy, I know where things are, even without the convenience of tags. […]

  6. Robin B says:

    I love this idea, but I’m worried about OpenMeta’s future. Any word on where it’s going with Lion?

  7. Great article, and makes me feel a bit more comfortable in using OpenMeta to drive my storage behavior.

    I’m not super technical, so I figured you may have answers to the following questions:

    • Do you know if Spotlight indexes tags in secure sparseimages? I prefer to send scanned bills, etc into a secure sparseimage, but would also like to tag them. I think spotlight images those images, and that I can search the image when it is open, but I’m not 100% sure.

    • Do you know if tags are saved to Dropbox? Best I can tell, they are, but I’m not sure their either.

    Great insights on this approach.

    • Brett says:

      Spotlight can index sparse images, but I’m not sure what happens with encrypted ones. Tags stay intact, though, I know that much. Also, as of recent versions, tags are preserved in Dropbox syncs.

  8. Very nice.

    Might I suggest a piece of my own system (which I got from Ethan Schoonover): I have an Inbox folder, and a completely empty desktop. Hazel sweeps everything from my Desktop and from Downloads into the Inbox. It’s out of sight, out of mind, until I’m ready to process my Inbox and decide where everything goes. I also don’t show disks or anything else on the desktop, so I’m left with just a pretty desktop picture, and room to use GeekTool etc without running into any icons.

    Now that I have two computers, I also sync my Inbox via Dropbox, so I always have the stuff that I haven’t put away yet.

    • Brett says:

      I used to do something similar, but found that keeping the items on my Desktop provided a strong incentive to file them regularly. I hate it when my Desktop starts to look like a n00b Windows user’s desktop, so I feel a strong urge to get things sorted at the end of each day. Probably not an inclination for everybody, though. I do like the idea of combining downloads and work files, right now I sort both folders individually. Might have to try that.

  9. Simon says:

    Hi Brett,

    thanks for your insight in your filing system. The mind map is especially usefull the get some good habits with tagging. I also listened to the MPU-Podcast about this topic, which gave me a good overview of the topic.

    I really like your “shallow folder hierarchy” approach, because I, too, don’t like the idea of one big pile. A have a few questions regarding this approach.

    As I understand, you have 4 top-level folder, which you’ve setup manually. Inside these folders, the hierarchy is defined by this special supertag “target” (thus resembling the folder hierarchy?) and managed solely by Hazel I guess? Or how does this work? Please explain this supertag “target” concept a bit more. I think this is key to the “shallow folder hierarchy” approach and worth explaining in more detail, so dumb people like understand it and are able to implement it themselfs :). Maybe an anonymized real-world example for a new file and a new folder would be helpful? And please post your hazel script, I’m willing to implement this on my system as soon as I get the fiddling part.

    Thanks for your help Simon

    • Brett says:

      Your understanding is correct. I tag “target” folders with the tag “°target” as well as a unique descriptor tag, such as “ThernIndustrial” (a main client folder). Then, within that folder, I can have multiple “°subtarget” tags, along with descriptors which only have to be unique within that target folder. Commonly things like “contracts,” “mockups,” etc.

      I’ll try to do a more elaborate demonstration of the system when I get a chance. Here’s the script I’m using with Hazel. It looks for files with OpenMeta tags (“Tags” is not blank) and runs the script on them. If the file has a tag that matches a unique °target descriptor, it will check the other tags to see if it belongs in a subfolder. It will file it wherever it matches first. Keep in mind that this is just for general organization, you can still get to the file in a few keystrokes using the tags.

  10. Dennis says:

    Brett,

    I’ve been trying for a while to download your Hazel script at http://​bret​.tk/​e​/​F​i​l​e​r​.rb . Nothing happens; a blank page just sits there. Perhaps the file needs to be archived before posting.

    Could you please help use acquire the file.

    Thanks,

    Dennis

    PS Apparently the site originates from Tokelau, is that correct?

    • Brett says:

      Sorry, I forgot I killed the bret​.tk server and didn’t update that link. Updated now to point to http://d.pr/FE7q .

      The tk domains are free, I just had one pointed to my local server as an all-purpose Dropbox redirect. I sold the Mini it was running on, though, and need to get that redirect back in place…

      • Dennis says:

        Thanks, Brett. I downloaded it but haven’t used it yet.

        You will want to know that clicking on that link to the script gives a 404 error because the period was inadvertently included in the URL. Others clicking on the link may figure it’s just a bad link and abandon the script altogether.

        Thanks again,

        Dennis

  11. job board site…

    […]On sorting, tagging and other nerdery — Brett Terpstra[…]…

  12. […] people are major tag junkies. I’m not one of them. I usually organize by folders. But with Simplenote, I use tags.[3] Why? […]

Entries (RSS) and Comments (RSS), or Subscribe by Email