A slightly different way of using Hook

The key function of Hook (at least in my workflows), is to quickly provide a URL for any document (and sometimes even, given the excellent scriptability, to sub-components of a document or database).

The key weakness, at this stage, is in helping us find these URLs when we need them.

The current approach (link-collection menus available only from central working documents) inevitably fails us whenever a project has more than one central working document, either:

  1. at a given moment (2 or 3 main documents in a given project), or
  2. over time (different central documents at different stages of the same project.

In the medium or long term for Hook, project-level link collections for the Hook GUI seem likely to imply a root and branch rethink of the DB structure, and possibly even of the central marketing metaphor, but in the meanwhile, I find that when I do use Hook it is in a simpler but still very useful mode, in which all projects:

  1. Have their own project folder,
  2. have a TaskPaper (or other .txt) summary file at the top level of that folder, which (inter alia)
  3. Contains all the Hook > Copy as Markdown Link URLs that the project accumulates and needs.

A meta level of this, in my own case, is that I also have an ~/activeProjects.taskpaper file, which:

  1. Opens automatically at login,
  2. is always just one (Keyboard Maestro) shortcut away,
  3. contains (inter alia) names of, and Hook-pasted Markdown links to, the current handful of active project folders.

In short:

  • Hook > Copy as Markdown Link is proving very useful.
  • Hook > Copy as Link well … to be honest … in this form … not so much …

To put it all a different way, the key cognitive links are not, in fact, document -> document, they are really project ⇄ document.


A footnote on shortcuts and cognitive load:

At the moment, I find in practice that having to open the Hook window adds operational and cognitive overheads without real reward.

All that I really need is a keyboard shortcut for a Hook-supported Copy as Markdown Link

Perhaps an addition would be valuable here:

so that we can easily harvest the real value of Hook (Copy as link) without repeatedly incurring the cognitive costs of having yet again to summon, use and dispense with the Hook window.


In the meanwhile, a simple Keyboard Maestro macro:

Thanks for explaining how you use Hook, @RobTrew, making a feature request, and even sharing a macro for it.

In fact, it is on the internal product road map to make some of the Hook window commands accessible without invoking Hook. (at least I have requested it internally :wink: ).

1 Like

Excellent points – and thanks for the KeyboardMaestro macro! This is something I’ve posted about before: that what is most useful is being able to link a current item to an ongoing, persistent project. One idea that your suggestion prompts in me is to have, for each of a handful of active projects, a text file as a link repository to which one could append the Markdown link (perhaps with date-stamp).

For me, that would ideally be appended to a specific “sheet” in a project “group” in Ulysses, except that Ulysses is so tricky with pasting standard Markdown formatting.) Worth exploring further. In KeyboardMaestro, I’d then have all the macros assigned to the same keyboard shortcut, which then calls the “palette” menu, so that I can just pick the destination from the list.

1 Like

A further detail:

A ‘current context’ (displayed in the menu bar) is something which I have for some time used textbar to display in my macos menubar.

It has hitherto been the text of the first line (in the working TaskPaper file of the day) that contains a @now tag, but I’m experimenting with:

  1. Displaying instead the name of the project I’m working on and
  2. using the taskpaper file in the project of that folder as:
  • the automatic-append destination of any new Hook links which I create with a KM keystroke,
  • the source of the KM-launched menu of Hook links when I am working on any file contained by that folder.

I find that setting a default project for the current working session (as a KM variable, for example, or by setting a tag in a TaskPaper file), reduces the slightly cumbersome two-step business of

  • copy as link (in one location) and then
  • link to copied address in another location,

down to a single hotkey which:

  • copies a Hook link in Markdown format,
  • automatically saving it in in the TaskPaper file for the active project.

All links in that file appear in a menu offered by a link-menu hotkey.


Rob has hit upon a drawback with the Hook system that has been bugging me since Beta-testing Hook 1.0 and which lead me to eventually abandon it. Hook links in a starting document may contain many links for that topic, but if a link is clicked to open another window in whatever application, not all the same links are listed in the Hook window.

This leads to what I find is the worst problem in concatenating research links: inconsistency. IMHO, Hook needs a user-created Project window into which any link can be dropped, that can be re-arranged in any order by the user. This could be a new floating Project window that can remain open and moved around, or it could be the existing Hook window made more persistent. I never liked the way the Hook window disappeared as soon as one clicks away from it, and the new Hook window would show a different list.

This may be the purpose of a Hook Note file, but it’s not obvious how to add new links to an existing Note, or edit and re-arrange them. Like Rob, I resorted to making a Markdown (preferably MultiMarkdown) file with BBEdit. But this seemed to be papering over a deficiency in Hook that requires extra effort and creates friction in the workflow.

I think Hook has the makings of a great app, but it’s not quite there right now. I’m trying again and have purchased v1.3, and I offer this feedback with a view to improving on the excellent work done so far. Meanwhile, I’ll explore Hook further but keep using the 1400+ Web bookmarks that I have collected over the years, which I have hand-curated into a tolerable workflow using the folder hierarchy, which I can access quickly enough. But Hook goes further than just Web URLs, which is its real strength.


Absolutely! This was also the first thing, that I stumbled upon. Especially, when you not only link to files, but if you are in the depth of a document with thousands of links like in Tinderbox or DEVONthink or in a Workflowy document, it is not very likely to remember, what you have linked (ok… I can speak only for myself, but I think, I am not alone :wink:)

And your approach is brilliant (as always :smiley:), but a simple search for already created links in the app would already be very helpful IMHO. Just something like a little magnifying glass next to the gear icon or a shortcut, which opens the search…

1 Like

Welcome to the Hook Productivity Forum, @cremoer . And thanks for requesting.

A few things we intend to do include: “recent links”, and a “find” feature. We had originally intended these to deal with bidirectional links. But we sense from this topic that users would like to be able to find any item to which Hook has served a unidirectional link (name, address).

Rob has pointed to other types of aggregation that we are considering.

We’ve also publicly signaled our interest in generalizing the “Finder tag” feature that is currently controlled in the General panel, to enable Hook to apply a tag in different apps — e.g., in OmniFocus, Hook would (if so configured) attempt to apply a Hook" tag to items it links (assuming the app (here OmniFocus) is still running). This is in the spirit of Hook augmenting automate-able apps, enabling users to do more interapp work with them). Would this feature address some of your needs? ( this would not affect documents that you simply pasted traditional unidirectional links into, whether they were obtained via Hook or some other mechanism. I.e., it’s about Hook window links.)

As you mention Tinderbox, I don’t think Tinderbox has tags. Is there a different piece of information that Hook could apply to Hook (bidirectionally) linked Tinderbox items (i.e, in Tinderbox) to indicate that they are linked? If so would that be useful to Tinderbox users?

The tag feature opens up a lot of possibilities of course (such as navigation of items that share the same tag even across different tag realms).

1 Like

Tinderbox does have tags as part of the system attributes (Tags). But it goes far beyond that as it provides the user to create any attribute they want, called a “user attribute”. See here for an extensive write up about system and user attributes: (Attributes).

Neither of those is difficult to work with. System attributes already exist and simply need to have values assigned to them. User attributes have to be created once, then they can be set. The picture shows a little example where I used the inspector to create a boolean attribute named “Hook”, a second attribute of type “url” to store the link to this topic (which could be used to store the hook link??), and I also added the “Hook” tag to the note:

With an attribute set it is very easy to gather all corresponding notes in a specific Tinderbox document.

I do not know whether any of this is scriptable. And presumably using a user attribute requires more code as the attribute has to be created once for each Tinderbox document before values can be assigned. The system attribute (tags) already exists.

1 Like

Pretty much all scriptable.

1 Like

Hi Luc,

of course this is a cool feature. Everything, that makes searching (or better finding :slight_smile: ) somehow easier, is good.

1 Like

I do something similar: have a project file with links to all the documents.

But not being a fan of Markdown, I simply use documents with normal Hook links. I tried MS Word, but it’s fussy about following links, so I now simply use TextEdit.

Works a treat!

  • Charles
1 Like