What’s a Linkable App and Why Does Linkability Matter?
Here at CogSci Apps, we believe that all apps should make it extremely easy for users to get (copy) and open hyperlinks to the data they present or manage. In other words, all apps that deal with resources should be truly linkable. A hyperlink specifies the name and address [URL] of a resource.
We believe users have a right to easily and automatically get links to their data.
The Manifesto for Ubiquitous Linking
After the original publication of this page, on 2021-12-16 the Manifesto for Ubiquitous Linking was published by 25 people (cognitive science professors, developers and podcasters). A growing number of people are signing this manifesto. If you value linking, you can sign it too. You will likely recognize many of the people who signed the manifesto.
The manifesto also presents some of the cognitive science concepts used to explain why linking matters.
Check out some of the Media Highlights – Linking Manifesto which do a great job of explaining why software should be linkable.
Truly linkable apps
A fully linkable app is an app that provides both a user interface and API for linking. For a file-based app, the user interface could simply be to get a file:// URL; some apps have their own URL schemes. A linking API makes it possible for apps to communicate with each other about what matters most: each app’s content (documents and objects). We maintain a list of linkable apps —it’s not complete; but it’s reasonably extensive. If your app is linkable but not listed there, please get in touch with us.
More specifically, linkable apps provide an API to
- Return the name of the current foreground document or object.
- Return the URL of the current foreground document or object. One could define a single method that returns both the name and the address of the current object or document.
Of course, an app’s URLs are only helpful if the app can resolve and open them. For example an OmniFocus:// URL is helpful because OmniFocus can open OmniFocus:// URLs.
So, if an app has universal or other web URLs and local URLs they need to clearly inform their users how the URLs can be mapped. That is to say, they must indicate how the universal (or web) URL can be utilized locally.
Apps that enable the creation of new resources need to provide an API to create resources, given a specific name, and this method must return the URL of the newly created resource.
However, we are not advocating for a specific API. Interoperability can sufficiently be achieved if developers provide human readable documentation for their APIs such that a human can understand how their API adheres to the conceptual linking requirements. For instance, an API might state that its
copyLink method returns a markdown (plaintext) link, and/or that it returns a link in some other formalism (such as RTF or HTML).
Methods to copy links should be in a standard location in the user interface, very easy for users to access. Moreover, there should be a keyboard shortcut to get the link of objects.
State of hyperlinking today and the importance of linkability
I don’t think a developer would, let alone should, doubt the importance of linking on the web.
And so, a large number of Mac apps are in fact linkable. The apps that have are marked with √👍 on the Linkable Mac Apps web page are truly linkable.
Unfortunately, many apps still do not even provide a user interface for copying links to their local (including cloud-synced) data. Of those that do, the user interfaces often require several clicks, and do not have a keyboard shortcut, nor even allow a keyboard shortcut to be defined for them.
People have become so accustomed to the weird fact that, without Hook, information resources are not easily addressable on the Mac that they tend not to realize that its just as important to be able to address local (or cloud synced) resources as it is to address remote resources.
We feel that the
Copy Link command is just as important as Copy and Paste. Copy and Paste commands are almost always located in an Edit menu, which makes them very easy to find. And they have a standard keyboard shortcut: ⌘C and ⌘V.
By making link access commands easy for users and software (via API) to apply, the full potential of interlinking can be realized.
We have described many of these cognitive productivity benefits on Hook’s benefits web page. The power of human brains comes from their massive interconnectedness and intra-connectedness. Being able to connect knowledge resources together can improve one’s cognitive productivity — or efficiency and effectiveness at using knowledge.
Manifesto for truly linkable apps
A manifesto for user and automation interfaces for hyperlinking: How hypertext can enhance cognitive productivity
The Future of Text will be published in November 2020 by the Future of Text Publishing.
CogSci Apps and like-minded thinkers intend to publish a new manifesto, based on the above. We invite software developers, journalists and professors in the information retrieval space to provide feedback on and co-sign this manifesto. If you would like to join, please email us at
linking-manifesto “at” our CogSci Apps domain name or via the Hook productivity forum.
Not only for Hook
This manifesto is not merely for CogSci Apps and Hook. In fact Hook and CogSci Apps actively support interoperability. The manifesto aims to make it possible and easy for all users and developers to get the full value of their data — in all the apps they use.
- Supported/unsupported Apps
- Creating Integration Scripts
- Contacting Developers of Other Apps (This page)
- Example: Customizing Hook Integration with Things
- Example: Customizing Hook Integration with Xcode
- Example: Hook to New with Momenta’s Agenda app using x-callback-url