Okay, this may be a dumb question, my apologies, and I have made my homework on Hook, but there is something I don’t get.
I am all for deep linking – I love that feature in the Apple ecosystem and I use it extensively. I understand that Hook works with deep linking and creates bidirectional links with anything that integrates with the app anywhere in your system.
But I don’t understand the advantage over native deep linking in apps. I have a few KM macros and scripts that extract apps’ deep links and I use that everywhere. I link my Zettelkasten to DEVONthink for instance, my OmniFocus tasks to emails or Drafts workspaces, and so on.
It seems to me that Hook just provides an interface for those links but obfuscates them, replacing them with its own centralised scheme. This looks brittle to me – if, say, I rely on DT document links to my sources in my Zettelkasten, I rely on DT to stay in business. Now if I use Hook, I am now relying on both Hook and DT to be around for the Hook links to still work, is that right? (And they don’t work on iOS, while native links do)
What is the advantage of using Hook, except from having a cleaner and nicer interface to work with? It feels like a few minutes with KM every time I intend to really use a new app allows me to replicate the extraction of deep links like Hook does.
I’m not sure exactly what a ‘deep link’ is. But I’ll give it a shot:
Hook allows you to link anything to anything. In your example with the deep links, it sounds like you are linking files to documents, that is, putting a link inside a document. With Hook, you don’t have to be able to insert a link into a document. For example, I have MATLAB code that is Hooked to the CSV files it produces, and those CSV files are Hooked to the images of the plots produced using those data.
Hook also allows you to link, say, a note with some document that it is related to, without adding a link in the text of the note.
Hook also allows one-to-many links, so my aforementioned CSV file could be linked to four different plots that it produces.
Here’s an example:
An image file, linked to the image file that it originated from, also to the Acorn image, and the LaTeX source file for the document I’m working on.
If I click on the .tex file and open it in Texpad, clicking on Hook in the menubar shows me the dozens of files that make up the document.
And I’ll mention that I’ve replaced Hook’s functionality using The Brain, which gives me a better view of the files I’m working with. Note that The Brain doesn’t have the app connections like Hook, so I just drag files in, which creates links to them.
Thanks for the screenshots, really appreciate the time you put explaining this. Deep links are simply URL schemes linking to a resource – a link to an email, an OmniFocus task, a DEVONthink document, etc. They use their own schemes, like message://, OmniFocus://, x-devonthink:// and so on. This is what Hook uses internally, which explains why many apps that don’t do deep linking cannot be called via Hook. Which is why I wonder about the advantage.
It’s bit clearer but I am afraid I still fail to really “get” it… (I put links where text belongs: OmniFocus notes fields, notes themselves, etc. and they work everywhere) Maybe because I am in a similar case to yours: my tasks live in OmniFocus and my notes in Obsidian. Both are text environments from which I naturally jump using deep linking, and if need many-to-many relationships, I write Maps Of Content in Obsidian. And all this is only as brittle as the apps themselves instead of using an intermediary on top.
true, a hook file is just a x-something deeplink, it’s just nice and convenient.
I commented recently in MPU that this functionality should come by default in MacOS.
Can you share some of your deep link KM macros? I’d love to see what apps you can create/extract deep links
They’re mostly just quick shortcuts to menu options when deep links are readily exposed, nothing fancy. If something fancier is required, I usually trigger AppleScripts through abbreviations in KM. The most advanced ones are here down the thread:
You could do everything Hook does by relying on a bunch of other tools and techniques, and in some cases rolling your own. So it’s one tool versus a bunch of other tools and techniques. Plus the benefit of a developer who is aggressively working to add more and more contexts – apps, doc types, etc. – to Hook.
I have one major reservation about something I personally feel is lacking with my use of Hook.
The developer loves writing and talking about Hook. This might be interesting:
I’d also note that unlike Hook, these examples and a lot of others (ulysses:// , drafts:// e.g.) work on iOS as well. That’s enough for me to prefer native linking.
Saw your other post and tend to agree, but in Hook’s defense it does add finder tags to documents when they are hooked. Would be cool if there should be a way similar Roam or Obsidian to examine hook relationship visually.