Archive for December 6, 2021

Monday, December 6, 2021

Manifesto for Ubiquitous Linking

Luc P. Beaudoin et al.:

We recognize that an immense amount of useful information is available digitally, and that tremendous value can be gained by connecting this information. Connected knowledge enables people to create great products, solve important problems and improve themselves.

We also recognize that humans work best in psychological flow. Switching contexts, even to search for information, interferes with flow while consuming precious mental capacity, brain energy and time. Activating an aptly-placed link to information is easier and faster than searching for the information — and more protective of flow.

[…]

To help people benefit from the information they process with software, we advocate ubiquitous support for linking of information resources. This would help realize the potential of hypermedia that was envisioned by information technology pioneers such as Ted Nelson and Douglas Englebart.

As a concrete example, EagleFiler supports linking in two ways:

Technical Requirements:

Developers of software that processes information resources should strive to:

Ensure that each user-accessible resource (object or entire document) that their software creates and processes can be identified and accessed via links.

[…]

Ensure that links to information resources are robust. For instance, they should still be useful if the addressed resource is renamed or moved.

When applicable, ensure that there is a clearly documented separation between the top-level (primary) resource (such as a document) and the deep (secondary) identifier within the resource, so that the user can choose whether to access the overall resource or a nested item within it (e.g., at a particular anchor, page and/or character location).

[…]

Provide an application programming interface (“API”)[…]

Luc P. Beaudoin:

Whereas Apple Mail kindly has an API that allows automators to access the RFC-5322 compliant ID of the currently selected email. Software can use that to provide you with links to email messages. Microsoft Outlook however has no automation or UI to get RFC compliant email IDs. That means you can’t create robust shareable links in Outlook, or open messages by ID for that matter.

And so it is with many apps and web pages, from large and bigger developers.

Apple is not perfect either. It would be great if Apple provided an API to copy links to Messages and Notes. Software can work around the Notes limitation. But there’s no work-around for automators to identify Messages.

What’s more, Apple gives itself an unfair competitive advantage because it has a way to identify individual messages in Apple Messages that it does not grant to other software developers. For instance, in Apple Messages, if you receive or send a message with a date, by clicking on the date macOS can create an Apple Calendar event from the Messages message. A linkback will be added in the Apple Calendar item to get to the message. Automators and third-party devs are not given this basic functionality.

Adam Engst:

And even on the Web, it’s all too common to encounter sites and apps that maintain a single URL in the address bar even as you switch among email messages, calendar events, tasks, and other discrete objects that should be independently accessible.

[…]

All three navigational methods have their place, but macOS and iOS default to browsing, allow for searching, and pay only lip service to linking.

[…]

Third-party developers already provide many examples of this kind of linking—this list of apps compatible with the Hook linking utility gives a sense of what’s possible now.

Cocoa Culture

Adam Gordon Bell (Hacker News):

The team where people roll their eyes at UX feedback will not have as simple of a product as a team where the user experience is highly valued.

If software performance isn’t valued, the end result won’t be performant.

Today, I found an expert on observing developer cultures. Hansen Hsu worked on the AppKit team at Apple, and he’s here to talk about this mushy concept called culture. How does it manifest? How does it affect what people build? And how can it lead to beautiful software?

There’s lots of interesting stuff here about the early days of Mac OS X and about what goes on at Big Nerd Ranch.

Previously: