Improve Interactivity with Hypermedia references


The Magic in Hypermedia is the ability to connect and make network of information that people can follow and interact with. Right now we are not even close to expose all the potential we have with the system.
This project aims to define a common way to interact with Hypermedia references that users love.


References in documents are basically the same thing no matter what's the type of it. Users (readers and creators) should be able to "inspect" references and understand what they are seeing.
The Three reference types we currently have in the system are:
Links: When interacting with link references, the main interactions will be on hover and around popovers
Inline Embeds: Similar to links, the interactions here will be around popovers and hover effects
Block Embeds: Interactions on block embeds are more flexible since we have more space and more control over how we can render them.
We will need to explore how we can take advantage of the side annotation space for references, but because of some technical complexities, I decided to leave them for a future project.
We are going to describe the Interactions any user can do with references. the way they will interact with it will depend on the reference type, but it should not change much between them.
As a Reader, I want to see what branch/version I'm reading
it should be possible to let the reader know what branch/version is being rendered in the document.
As a Reader, I want to see the original version referenced when we see the latest ref.
when the author links to the latest version of a reference, it will carry the version that was the latest at the moment of publishing. Readers should be able to see the exact version at any point
As a Reader, I want to open a reference in a separate window
As a Reader, I want to see a small preview of the reference in place
this could be implemented like the cards that Obsidian shows when you hover over a link
hover effect on obsidian notebook example:
As an author, I want to change the branch I'm referencing to
As an author, I want to reference the latest version of a reference
Here's important to select the correct branch you want to link to.
As an author, I want to change what is visible in the reference I'm linking to (show content, show card...)
This will depend on the reference type because a inline embed have one representation for now, compared to block embeds.


1.5 weeks = 0.5 design + 1 dev

Rabbit Holes

HMW traverse the site references so when we render publications on sites we can replace the reference with the group pathname
HMW encourage cross-site referencing?