How to Efficiently Create Two-Way (Bidirectional) Links between Information Resources with Hook — A SSPAI Article

Here follows a translation of an article about Hook in Chinese by Professor Wang Shuyi (@wshuyi on Twitter) of Tianjin University. It was published in the “Scientific research tools” column of

The editor was @PlatyHsu.

The original title is Hook:如何高效双向链接不同类型的信息资源? – 少数派.

Translation courtesy of Google Translation, with editing by Jeff Rivett.

Translation of original follows


Today I will introduce to you a tool I often use, called Hook. In a nutshell, its function is to link and integrate various types of information resources in the macOS operating system.

Let’s take a look at what Hook looks like first. When you invoke it, it will display such a window.

When someone sees the picture above, they will probably say:

Isn’t this just a launcher ?

Indeed, there are already several well-known launchers under macOS. In addition to the “Spotlight” that comes with the system, common third-party launchers also include Alfred and LaunchBar. They can help you quickly find information resources and start some quick commands.

However, this Hook is really different from them. If the launcher’s working mechanism is random access temporary and on-demand opening of resources in unspecified locations, then Hook’s mechanism can be called contextual access (which will be detailed later).


So, what can Hook do? Let’s take a look at two specific demonstration screen recordings.

The picture above demonstrates how I use Hook to associate a local picture with a Craft note. After that, as long as I select this picture in the Finder and use the shortcut key to invoke Hook, it can immediately list all the resources linked to this picture, which is the Craft note in this example. Executing this entry will not only open Craft, but also go directly to the note that was linked before, which is very convenient.

Oh, isn’t it just a link from the picture to the note? What’s so great about this?

Don’t worry, this link relationship can work in reverse. When you open this note in Craft, and invoke Hook, you can also retrieve the picture associated with it, and open it directly:

Seeing this, if you pay attention to the development of card notes/knowledge management tools, you may blurt out:

Two-way link!

That’s right, with the help of Hook, we can establish two-way links for various granularities and different types of information or resources at the operating system level.

Double stranded

To understand the characteristics of Hook, we must first review the concept of “two-way link”.

The so-called two-way link means that you only need to point node A to node B, and then node B will automatically add a link back to node A. In this way, from any node, you can see which nodes are actively and passively associated with it.

In the previous How to use Roam Research? (1) In the article “Two-way Link”, I have explained the importance of two-way links in note-taking software: they can help you quickly build a knowledge network; starting from any knowledge node, you can easily travel on your own knowledge network.

At present, there are many note-taking tools that support two-way links, such as Roam Research, Craft, Notion, LogSeq, and Flomo, etc., so I won’t list them all.

But please note that the two-way links in these tools are limited to the application.

If you want to connect the knowledge node inside the application (generally, a note) with the information resources outside the application (webpages, videos, local documents, emails, etc.) to form a two-way link, these tools are not enough.

For example, you can put a web link in the note-taking software. Next time you open this note, you can find the webpage through this link. But the reverse is not true: the next time you open this webpage, you will not be able to immediately see that one of your notes has cited it. Over time, you may completely forget that you have read and analyzed this web page, and you need to invest time and attention to reprocessing, resulting in a decline in efficiency.

There are many other external resources that are often quoted but are not supported by most note-taking software-PDF files in document management tools (such as Zotero), pictures in iCloud, videos in the “download” directory, an email, items stored in another note-taking tool, etc. If you have realized the benefits of two-way links, you naturally hope to be able to build two-way links between the above types of information resources. However, within the framework of existing note-taking tools, it is very troublesome to do.

In this regard, some people have chosen the “all-in-one” solution: since the two-way link cannot be connected outside the software, then I can put all the information resources in one application, right?

I have seen some friends copy various PDFs, Office documents, audio files, videos, web archives and even emails to Roam Research. Even the content in other note-taking tools must be exported all the time, converted into Markdown format by various means, and then imported into Roam Research.

I really admire this kind of organizational ability. However, I do not agree with this approach. Because doing so will bring a lot of problems.

The first is privacy and security issues. A lot of content was originally intended to be stored locally, but now you have to store it in cloud services, which leads to security risks; this is especially true when it comes to collaborative sharing. I once complained about Roam Research’s sharing mechanism: even if you only share one page, it will throw all your database content into the other’s browser cache. I don’t know if there is any improvement at present.

The second is economic and performance cost issues: many tools are charged for based on storage space. Even if a resource is stored locally, it will also occupy redundant space, which requires various sorting. Not only that, many tools will suffer performance degradation once they are loaded with too much data. If a retrieval command continues, it will take a long time to respond, which will seriously affect your user experience.

Third, these note-taking applications often do not support opening files in some formats (such as multimedia formats) directly on the client or browser, and must wait to be re-downloaded to the local before opening them each time. If it’s a song, that’s okay, but if it’s a video file, the volume can be hundreds of megabytes or even gigabytes. Isn’t it a headache? If you still want to automatically upload and update these resources after opening and modifying them, then… if you choose to delay or even skip it, I can understand.

You see, throwing all types of information resources into one tool is an inappropriate decision. What to do?

Hook provides the answer to the above-mentioned pain points: establishing the two-way link at the operating system level.

How can I do that? Let me briefly show you its usage.

How to use Hook

Installation and basic link operation

First, you need to go to the official website, click the Download button in the upper right corner, download the latest version of Hook, and then install it. This only needs to be done once.

Let’s first look at one of the simplest usages to get a link to an information resource.

Let’s say we want to get a link to a picture.

After selecting this picture in the Finder, we can use ^H to invoke Hook, and then select Copy Link in the menu to get the Hook link of the picture and save it to the clipboard. As shown in the animation below.

Let’s find a place to paste the link and see what it looks like:


With this link, what can we do?

You can associate this picture with any other information resources. For example, I found a related video here.

We select this video and press ^H invoke Hook. This time, we select “Hook to Copied Link” in the pop-up menu.

With a “click”, this video is “hooked” with the picture. Please refer to the animation below for the complete process.

Now we press ^H, and we can see the following interface, which lists the related links:

By repeating this process, all related resources can be linked to each other. For example, to associate another Craft note:

At this point, select the video file again and invoke Hook. You will see that in addition to the picture in the original list, there is another Craft note added now.

On this interface, double-click the required resource or highlight it and press Enter to immediately open the corresponding application and go directly to the relevant location.

Think about it, if you switch to invoking Hook from the interface of the Craft note just now, how many related options can you see?

The answer is two. One of them is of course the video we linked just now, and the other is the picture linked as an example in the “Demo” section at the beginning of this article. You may have forgotten it, but Hook has been earnestly helping you remember it.

Advanced features

Next, let’s take a look at several advanced functions of Hook.

Create Markdown format link

When using Markdown to take notes, you can ask Hook to “copy the link as Markdown” for you.

For example, you are working on a codeword in Draft, and you need to quote a related resource (such as the video just now). What to do? If you copy a long list of links at the hook:// beginning, it is very messy, and it does not support clicking to jump directly in the note-taking software.

At this time, you can choose to use the “Copy Markdown Link” function in the Hook menu. Then paste it directly into a Markdown note-taking tool such as Draft, and you will see a complete Markdown link.

In this way, you can open the video by directly clicking this link in the preview mode of Draft.

Look, is it much more convenient to take notes in this way and associate different contextual content at any time?

Create a deep link (Deep Link)

This is not over yet, let’s have another more exciting feature: deep linking.

Take deep positioning in the most common PDF files as an example. To do this, you need to use one of the officially supported PDF readers. You can refer to the help documentation for the complete support list. Here, we take the free and open source Skim as an example.

After downloading and installing Skim, you need to set it as the default PDF reader. The method is to select a PDF file in the Finder and open the “Information” window. Next, select Skim in the position below, and finally click “Change All” (Change All…)

After you are ready, use Skim to open a PDF file, select any paragraph, and then invoke Hook. This time, we select “Copy Quote and Link” in the menu.

After that, it’s time to witness the miracle. Paste the copied content and see what it is.

That’s right, it’s the original text of the part you selected, plus a Markdown link to the precise location of this passage.

Now, close the PDF document, open the preview mode of Markdown, and click the link you just pasted in. You will see Skim reopen the corresponding PDF document and jump directly to the page where the citation is located. Even the citation is re-selected and it is not bad.

Again, to realize such a function, you must use a PDF reader that is compatible with Hook. The “Preview” that comes with macOS is not included. In addition to PDF, applications such as OmniPlan and Scrivener also support this fine-grained deep link. New applications and format support are constantly being developed. For
details, you can refer to the introduction on this page.

Shortcut key operation

Note that the operations we just demonstrated used the mouse to introduce you to the basic functions. In fact, almost all functions in Hook can be operated with shortcut keys.

If you can’t remember so many shortcuts for a while, it doesn’t matter, take your time. As you use them in depth, they will gradually blend into your muscle memory, allowing you to operate smoothly.

If the default shortcut keys do not meet your habits, you can also customize them in the settings menu.

These, you can slowly and constantly explore later.


Having said so much, if I sum up the exclusive advantages of Hook, I think at least the following points are included:

The first is to help you maintain a deep work flow.

Have you ever had such an experience? When completing a complex project (such as a book or a graduation thesis), I always write a paragraph, and I find that there is something that needs to be verified, or there is something I want to add to it. So you enter the retrieval process.

But the problem is that searching for this thing is actually very consuming of your work energy. Because you need to interrupt your writing process, and then plunge into the cycle of retrieving, filtering results, and editing content; in-depth work is interrupted like this.

This is actually very similar to looking at your mobile phone after you write something for a while, and it is very inefficient: you have to expend enough willpower to ensure that the main work is carried out, and you have to resist the temptation of constant distractions. Content that is encountered by chance in the search, but is not relevant to the current work.

And if you link a lot of information resources in the form of hooks, it’s a big difference. Before writing, you already have enough puzzle pieces. After using an illustration, you do not need to search for relevant keywords in your knowledge warehouse or operating system, but invoke Hook directly, list the links you have found in advance, visit them one by one, and then try to add them to the manuscript. This method, as mentioned above, is different from the contextual access mechanism of random access.

In this way, you are never separated from your own in-depth workflow, and you don’t have to suffer the interference, pull and torture caused by context switching, and your efficiency will naturally increase.

Second, it helps you refine the granularity of information.

When using many large-grained information resources (such as a book), there is a need to quickly locate a specific context. But this is not easy: even with full-text search, finding the results will take some time. Hook, combined with supported tools like Skim, can quickly help you jump to a specific paragraph, sentence, or even the position of a word, and associate it with other information resources in both directions.

In this way, you can quickly jump to the specific context of a book from any note or video, which is much more efficient than other methods. Lu Liqing did such a demonstration in his live broadcast, you can find it and have a look. With the help of shortcut keys, the operation is even more exciting.

The third is to enhance the robustness of the link.

Many times, when you add external links to a note-taking tool, you are always worried. The movement and renaming of resources may cause the link to fail. Some tools (such as some plugins of Zotero) will try to automatically update and rename PDF attachments to alleviate the “dead link” problem, but more often they can only be manually repaired manually “manually”.

Hook allows you to completely avoid this trouble. It doesn’t matter if you change a filename; it doesn’t matter if you move a file. Your original links, even deep links that are positioned to specific paragraphs, can all be maintained without modification. I tried to throw a file into the wastebasket, and a hook link still went straight to it immediately. It wasn’t until I emptied the wastebasket that it disappeared completely.

Fourth, it is convenient to share.

I made a presentation in my reader group a few days ago: I downloaded a PDF file from the Internet and sent it to the group. After Qunyou installed Hook and Skim, he put the file in a folder at will and changed the name. Then, after marking the PDF file on the spot, I generated a link and sent it to the group. The other party directly used this link to immediately locate the corresponding paragraph of his PDF file whose name and position were changed. It was still the same as on this machine.

My reader group said it was amazing.


But Hook is not designed only to be amazing. Its developer is Luc P. Beaudoin, a cognitive scientist.

In Beaudoin’s view, the original intention of the creation of the World Wide Web was to allow more ordinary people to participate in the creation of the web of knowledge. But decades later, the actual development has deviated too much from this original intention: the rise of different application and platform vendors has caused huge gaps in the World Wide Web, and there are obstacles to communication between software. And most users actually consume all kinds of linked information every day without actually participating in the creation. If you use your mobile phone every day, this conclusion may be the same.

Hook hopes to empower ordinary people, so that you are no longer just a
spectator, but can participate in the construction of the link
information network. In Beaudoin’s view, the ultimate goal of Hook is to enhance the cognitive productivity of every knowledge worker.

In addition to developing software, Beaudoin has also published two books, both of which are published on the Leanpub platform which is friendly to independent writers. Among them, the book “Cognitive Productivity with macOS” can be regarded as an electronic knowledge management solution. It includes a systematic review and summary from a practical point of view. It is worth reading. You can see the complete catalog from Leanpub and download a sample chapter.

However, note that this book was written since 2016, and it has been more than two years since its finalization. There are some tools in the book that are actually outdated. If you want to know how cutting-edge knowledge management tools can more effectively deal with many of the problems raised in the book, you may wish to read the Roam Research series of articles I wrote before, and follow the picture to find out, focusing on the Roam Untangled and Roam for Results recommended for you before.

Note from CogSci Apps: _Cognitive Productivity with macOS was last updated in 2019. Further updates are planned this year.


Hook is not perfect. The biggest limitation of this tool at the moment is that it can only be used in macOS. Out of this environment, even on the unified ecological iPad or iPhone, Hook specific links are not valid.

Note from CogSci Apps Corp.: however, Hook also enables users to copy links to all kinds of items. Those links are also valid on iPad and iPhone as long as you have an app to open them on the other software, such as a web browser for https: links and DEVONthink for x-devonthink-item URLs._

Fortunately, according to the developers, they are currently actively working on the iOS version of Hook. I’m looking forward to it coming online soon.

Note from CogSci Apps Corp.: visit the Hook productivity forum for information about our upcoming iPhone and iPad app.

In addition, Hook is also paid software. After the initial download, there will be a one-month free trial period, during which you can use all the features. However, if you want to continue using the full functionality after expiration, you will need to pay a fee for either the Basic edition (Essential) or the Pro (with additional support for Markdown linking and script automation), otherwise you will be downgraded to the simplified (Lite) version with limited functionality.

Hook’s pricing model is also worth mentioning: not a pure subscription system, but the right to access any build created within a year of your purchase. You don’t need to buy an Updates license (which is much cheaper) unless you want updates after that period.

As a special reminder, if you are a university researcher or student, don’t forget to apply for the substantial Education discount. The application requires the use of an education email address and the application process I tried went smoothly.


In this article, I introduced you to the Hook tool. It can help you to bidirectionally link information resources of various types, scattered in various corners of the operating system, and even different application “islands”. In this way, you have constructed a high-speed network connecting knowledge and information for yourself. When the clusters of information are enough to trigger inspiration, you can easily use them for integration and output.

All resources are at your fingertips, and you don’t have to perform very complicated search, screening, re-searching, and re-screening work. Your work style will squeeze your mind from the top to the bottom to a bottom-down knowledge structure that naturally grows, making it easier and more enjoyable.

Happy use!

Welcome to follow my column “Scientific Research Weapon”
in order to receive the follow-up update content in time; also you are welcome
to learn about my tutorial “A Comprehensive Guide for Scientific Research Novices”.

Again the above is a translation of an article about Hook in Chinese by Professor Wang Shuyi (@wshuyi on Twitter) of Tianjin University. It was published in the “Scientific research tools” column of The editor of the original Chinese version was @PlatyHsu.