I liked Gmail originally because it used tabs. I have seldom had an email that was permanently tagged with more than one tag, but I have imagined having files in a filesystem with multiple tags. Bloggers commonly use tags but I don't know if they're successful.
On a filesystem where tags were not native, you could implement tags as subdirectories, using symlinks to achieve that the same file had multiple paths giraffes/history.html and history/giraffes.html.
Did you try tags?
No. I found that many of my early ideas on how to structure my notes didn't scale, made evolution of my system more difficult. So later I tried not to impose addition structure. Tagging enforces a structure, and how I classify ideas changes over time. What do tags give that grepping words doesn't?I use a "Travel ideas" tag on emails from cruise lines if they suggest a specific place, time and cost to travel somewhere. Those words aren't in the email. The criteria that qualify the email for the tag are easy to check in a scan of the message but I don't know how I'd grep for them.
I still do searches but for other reasons.
If you wrote a note about a neutrino-hunting instrument at the South Pole, how many searches would it take you to find it later? What about a science station at McMurdo, which is in Antarctica but not at the South Pole?
You could allow yourself to have or not have a line of free association, whose only purpose was to match future searches that would otherwise miss because of how the content was phrased.
Regarding timestamps: I have a Python script triggered by Alfred App on my Mac. The script creates markdown files based on a template. The template has a header section with helpful infos like `Created: yyyy-mm-dd`.
Here is my template (with filled out placeholders):
```
Created: Fri, 2019-10-11 12:27:18
Title: BOOK - METAPHYSICS - ARISTOTELES
Author: Ugur
FileID: fid-20191011-122718-440741
Base Header Level: 2
Tags: #ethics #philosohy
[%Title]
{{TOC}}
# WRITEHERE
```
This is a markdown template that can be rendered by `iA Writer`.
What I do recommend is writing a little tool that produces filenames in a consistent way. (E.g. stripping out 'weird' characters, removing capitalisation etc.) I found that the more uniform filenames, file structure etc, the easier searching remains. Moreover, writing tools that mine / transform Zettel is also easier when the setup is uniform.
I also tried adding structures by subdirectories
etc, but that didn't scale, since everything is connected to everything else. Knowledge is not tree- or DAG-structured. Flat file structure + hyperlinks works for me.