My simple heuristic for deciding if something is a note or a tag.
2023-03-27
A lot of people ask me about my Obsidian setup and one of the most often asked questions is: "Do you prefer notes or tags for everything?"
My answer has always been "it depends."
I decided that I'd share my "it depends" heuristic to give others insights into how I think about when to use which one and why (In my example).
The single heuristic I use for if something should be a note or a tag is "is this an abstract or concrete term?"
As an example, let's say I am doing a What Is a Remote Design Sprint? at 30 - Collections/Organizations/Murmur and I want to capture an insight for the retrospective, here's how I would go through the process of capturing if both the Sprint and the Retrospective are new concepts in my Personal Knowledge Management System.
Capture the insight as a list item in my daily page. As an example: "- The flow of capturing questions asynchronously was awkward."
This is a list item captured for the concrete sprint about its Retrospective.
This one is tricky, because at first blush, it seems like the retrospective should be concrete, but I only need to capture that it's for a retrospective that is specific to this sprint.
In this case, I would create a note for the Sprint ("Sprint WK12", for example) and tag it with #retro because I want to connect this specific Sprint with any notes about its Retrospective.
Now when I view the specific Sprint note, I can have a view that finds any items across my notes that references the note "Sprint WK12" and has a tag of #retro.
The reason I find this useful is that I don't usually find myself writing queries for just abstractions of objects/events.
I usually refine a query for a concrete object or event with the abstraction ("Show me all items tagged #retro for this week's sprint.").
An example of the code for this DataView would be:
//```dataviewjs
dv.list(dv.pages().file.lists.where(t => t.text.includes("[[WK13 Sprint]]")).filter(t => t.text.includes("#retro")).map((t ) => t.text))
//```
I could take that even further and use a subtag for #retro, such as #retro/dislike.
This would allow me to organize my #retro notes by "like", "dislike", "change".
If I wanted to see all retro items in some other note, I could use the same DataView JS query without the initial includes for the sprint, then refine it as necessary.
Hey, I'm Chase. I help aspiring entrepreneurs and makers turn their ideas into digital products and apps.
Subscribe to my Newsletter
Every other week I publish the Curiously Crafted newsletter.
In it, I explore the intersection of curiosity and craft: the people who make stuff, what they make and the way they pursue the craft of making.