Example of Object Tag vs Topic Tag in Programming Zettelkasten

Went through some old notes this week (I’m doing this AppKit/UIKit stuff for surprisingly many years!) and found a problem with the tags I used in one of my notes.

Let’s dive right in with an example:

# 201801251531 Copy NSView contents into NSImage
#appkit #image #screenshot

It’s a how-to note with a code snippet. Its tags are: #appkit, #image, #screenshot.

Adhering to the boy scout rule, I changed it to leave it in a better state:

# 201801251531 Copy NSView contents into NSImage
#nsimage #screenshot
  • I specified #image to become #nsimage. I’m never casually searching for “oh what could I do with images today, I wonder”, but I am looking for NSImage-related tips. The specificity helps.
  • I removed #appkit. Yes, this is a problem related to the topic of AppKit (aka Mac app programming), but the note is not about AppKit itself.

This should be an instructive example of The Difference Between Good and Bad Tags:

  • The NSImage object tag specifies what the note is actually about. It’s precise, and all notes tagged #nsimage are actually about this type.
  • The AppKit topic would pollute if used consequently in the way I originally did (I have thousands of notes about Mac development).
  • Similarly, the #image topic was too broad to be useful: it’s not about images in general, but about NSImage in particular!