Zettelkasten Forum


link-as-search vs link-as-direct

I've been doing all of my links as [[202005091413]] Name of file, due to The Archive prioritizing link-as-search, which I think is core to the discoverability aspect of Zettelkasten. However, I'm playing with a bunch of other markdown-based tools, and there seems to be a tendency to prefer [[202005091413 Name of file]]. This is what I think of as link-as-direct rather than link-as-search.

I'm thinking about my own implementation here, and I'm considering moving to link-as-direct for interoperability with other tools. I think the only thing I'm losing there is, in The Archive, not seeing related links by default. But, I also think that is solved by just I guess backspacing to the UID (or possibly using a KM macro to extract just the UID or something).

I'd like the thoughts of the community on this one. Am I missing something? Am I going to break anything? Anyone have a script for converting all the links in my thousands of files to their equivalent filenames?

(also mods feel free to move this if you disagree with my category choice, I wasn't sure where to put this.)

Cheers!

Comments

  • What "other markdown-based tools that seem to be a tendency to prefer [[202005091413 Name of file]]. "

    As I get better at titling notes I am tending to change revisited old note titles more and more.
    Something I wouldn't be freely able to do with a "link-as-direct".

    I recently found 3 notes all titled "Writing as Thinking" each with different UID's. (Don't tell the Zettelkasten god's.) I'm currently refactoring, combining them, and renaming the result. This would be a big event dealing with a bunch of "link-as-direct" links, trivial with "link-as-search".

    Will Simpson
    I'm a Zettelnant.
    Research: Rationalism, Zen, Non-fiction Creative Writing
    kestrelcreek.com

  • @Will said:
    What "other markdown-based tools that seem to be a tendency to prefer [[202005091413 Name of file]]. "

    Most notably I'm playing with Obsidian, which is (speaking very broadly) trying to replicate some of the better functionality of Roam but in local markdown files. They already have very good finding related notes and backlinks functionality. The devs are building a plugin system, with one of the express purposes being to choose between link styles.

    Also I'm experimenting with Devonthink applied to my ZK (as a way of connecting it to other non-zk files), and it wants direct links. It's also been pointed out that Bear and a few others do this as well, but that's a whole other set of questions about interoperability.

    As I get better at titling notes I am tending to change revisited old note titles more and more.
    Something I wouldn't be freely able to do with a "link-as-direct".

    This is true. And, this is another reason I've been avoiding this, but 1) practically I find myself doing this pretty rarely and 2) Obsidian also has plan to automatically propagate changes throughout one's zk. And also, it seems to me that in the extreme case a relatively simple script could do this.

  • Obsidian sounds interesting. I've applied for early access. Must still be in a tight beta. I do worry when I read that a lot of functionality is plugin based. While that might work well for EMACS, my past experience has been not so smooth. I worry about a favorite plugin becoming orphaned.

    Also I'm experimenting with Devonthink applied to my ZK (as a way of connecting it to other non-zk files), and it wants direct links. It's also been pointed out that Bear and a few others do this as well, but that's a whole other set of questions about interoperability.

    I've 'applied' Evernote as a sort of document archive. Connecting it with non-zk files, mostly web clippings, and PDFs. I use KM to create these links. This isn't as pretty as some other implications but this works and we'll see the changes when @ctietze integrates Full MultiMarkdown Support & Inline Image Preview.

    Source: https://zettelkasten.de/the-archive/roadmap/.

    In The Archive

    In Evernote

    I use The Archive's ~/media folder a lot and fill it with dup files there as space is not an issue. This works for any file type.
    In The Archive

    Will Simpson
    I'm a Zettelnant.
    Research: Rationalism, Zen, Non-fiction Creative Writing
    kestrelcreek.com

  • edited May 10

    @Will said:
    What "other markdown-based tools that seem to be a tendency to prefer [[202005091413 Name of file]]. "

    Obsidian, NVUltra, Bear, Devonthink, Roam (sorta markdown), Tiddlywiki (can be markdown). All use standard filename links.

    With full filename links, your links work in any of those apps (and still work just fine in 'The Archive'). This allows you to view your notes in any of those apps and the links work! But in EVERY case but 'The Archive', if you click a UID link like this: [[202005092100]] Hi Mom it makes a new note called 202005092100.

    Pluses and minuses to both ways of course, but 'app-interchangeability' in a profound advantage to filename links in my opinion.

  • edited May 10

    Full disclosure, I started down this path because @eiff convinced me. So his opinion is biased :)

    @will when you get in the Obsidian beta, say hi to me on the discord. It's a pretty lively community over there, with a bunch of folks from here.

  • Just wanted to note that nvpy Kinda does both: if the text in a link matches a note name from the sidebar, it loads that note in the editor. Otherwise, it treats the link as a search term to do a full-text search across all notes.

    Personally, I modified a copy of the code to always do a search first, and then if a note matches exactly, load that note in the editor pane. If I had either back/forward navigation for those clicks, or just multiple tabs to keep other searches faster to bring up, it'd be an even greater note browsing experience. Editor-wise, it needs some love, but the code is open for that as well.

  • @mleo2003 said:

    Personally, I modified a copy of the code to always do a search first, and then if a note matches exactly, load that note in the editor pane.

    Yeah, that's pretty much the behavior I want. I feel close enough to that by just deleting the non-UID part of the result, it's a minimal amount of friction.

    Editor-wise, it needs some love

    I like how like the first thing they say is "it's ugly." Admirable honesty.

  • I’m currently reconsidering my links as well, for the very same reason. Right now only using the UID, but going for “direct links” is tempting, even tough readability suffers.

    @mediapathic, what did you decide to do?

    I have one idea: Keep [[UID]] as a “search link” in the meta data header for each note. That means I could easily follow the direct link to a note and then click the search link and get all references to it. Perhaps that would work as a compromise.

  • I've struggled with this, too. I much prefer [[UID]] linking since the links won't break. It makes me more comfortable tweaking titles to be more descriptive. Only Zettlr and The Archive have in-built links as search, though. I love the mapping function of Obsidian, but using [[UID]] adds blank nodes to the map that are titled with the UID.

    I wonder how hard it is to implement links-as-search functionality in these programs. Maybe we could request it? I don't know anything about programming, but it seems like it could be a settings toggle that swaps between links acting as direct links or just populating the search bar with the linked text. Worst case, maybe this could be implemented with Keyboard Maestro?

    Even though [[UID Title]] is better supported by multiple programs, I'm much more comfortable using [[UID]] as links. Putting the note title inside the link just doesn't feel sustainable to me in the long run. Maybe I'll regret this in the future, though, if I ever stop using The Archive or Zettlr and am faced with the prospect of manually searching every time I want to follow a link.

  • @prometheanhindsight said:
    Even though [[UID Title]] is better supported by multiple programs, I'm much more comfortable using [[UID]] as links. Putting the note title inside the link just doesn't feel sustainable to me in the long run. Maybe I'll regret this in the future, though, if I ever stop using The Archive or Zettlr and am faced with the prospect of manually searching every time I want to follow a link.

    Being free to evolve a zettel's title is paramount. The [[UID Tite]] link is stifling. I think these other programs have got it wrong.

    Will Simpson
    I'm a Zettelnant.
    Research: Rationalism, Zen, Non-fiction Creative Writing
    kestrelcreek.com

  • I see it as different implementations using the same syntax.

    • [[uid]] as a link
    • [[uid]] as a search

    The Archive lacks an implementation as a link and the other apps lack an implementation as a search. Search works as a linking and searching which makes The Archive so compelling and the other apps limiting in terms of folks coming from or to The Archive.

    Until the apps find and adopt a common distinct syntax for each different functionality that we can easily use we will have to rely on import and export scripts.

    Obsidian has this:

    We probably need a set for The Archive that allows seamless transition in and out of The Archive.

    Until some bright developer comes up with a solution I think we will have to depend on migration scripts.

    I was happy to see this discussion Future proofing my Zettelkasten – file names and linking, because this topic definitely has future-proofing considerations. I was going to post over there but then saw this discussion gain some traction.

    I also struggle with this issue. I hope the discussions continue.

  • The format we chose adheres better to the software-agnostic concept. This is a decision you have to make as a user. Even if the majority of note taking apps use another convention and just few use link as search does not change the fact. You can opt however for more software dependence to use those features. I, personally, did opted against it way before I became part of the The Archive Super Duo of Doom.

    This is part of the software-agnostic approach: Sometimes, it is not the most convenient approach available right now. But I rather now that my Zettelkasten works with any ordinary editor than making me dependent on any software ever again.

    Changing titles does not need to happen often. I fiddle with the title a couple of times per note creation. But sometimes I want to change a title of very old notes. It is rarely but if it happens it would be more than just a convienience to change a couple of dozen references.

    I think that is one of the big issues: There is very little experience with big archives, year-long practices and people, who actually try to perform on a high level. I see this frequently in all the communities (mostly on reddit, though). There is very much mechanical and theoretical talk which is ofte inspiring to me. But it lacks experience and long-term perspective. Even we, on the level of software, did change our opinions on what works and what not, just because we saw how big Zettelkastens behave differently. The same is true on the level of the method which is more my stick. I ran against the wall a couple of times with each level of complexity until I accepted that I need to plan for the extrem cases.

    But I think with some mass replacement scripts conversion between the apps should not be too much hassle.

    tl;dr: Link-as-search is the software-agnostic way. It is a personal decision on how dependent one wants to be on software.

    I am a Zettler

  • But isn’t being software agnostic and how to treat links two separate questions?

    As long as all notes has an UID not only in the file name but also in a YAML front matter or similar and all internal links use that UID, at least as a part of the link, you have the possibility to open the notes folder in any editor that has a function for Search In Folder?

    If one software treats those links as search and another as actual links doesn’t matter?

    My point is that there is a tremendous value in those UID’s, even if there are software alternatives that doesn’t require them.

    This also means that I’m hesitant to stop using UID’s and are not concerned with the risk of lock-in. I can’t see how that would happen. As long as the UID’s are there, it should be possible to manipulate the actual link syntax with RegEx. Without UID’s, such operations would be harder to do.

  • Just coming in again after a long time away, and catching up.

    @thoresson to answer your question; I've largely moved to Obsidian, and am taking full advantage of its ability to automatically change links in all files when a file name is changed, and enforcing unique filenames. I'm not putting a UID in any new file names, though most new files get a YAML block with a uid: 202009251805 entry. My hope is that that will be enough if I decide to go back.

    I agree with everything that @sfast said about agnosticism. I am well aware that my approach is not the best for software agnosticism, but I think it's good enough for what I predict my future need will be (e.g. the UID is still there, if I'm doing a full text search), and the conveniences it provides me within Obsidian (and emacs, actually) are worth it. I could well be wrong about all of this, but given the nature of the way I work, most notably the fact that I am rarely using ZK in the usual manner of academic writing, I feel like I can afford to experiment.

    So, short form, what did I decide on? Probably not what you want to be doing :smile: .

Sign In or Register to comment.