In Highlights, "Roam-like" inclusion of Hierarchy of Text Blocks

This is a pretty big one that I have been thinking about a lot as I increase my use of Highlights, a real differentiator in Fibery. I don’t see any explicit other request around this, so posting it now…

My team and I are finding issue with Highlights with trouble getting the context of text that finds it’s way into the Highlight. Specifically, we use what I’d consider a “natural” way to write in Rich Text fields (another really great feature in here!), frequently outlining and writing multi-level bullets.

Forgive me for not including good screenshots here, but what happens is often we’ll have a bullet under a topic, like this:

Our goal in this project is to:
- Gain some revenue
- improve the product
- handle this huge feature request THIS WOULD BE THE HIGHLIGHTED ENTITY

In that last bullet, if you would imagine that I have an entity referenced where those caps of “THIS WOULD BE…” are. When I go to that Entity, all the highlight will show is “handle this huge feature request.” I have lost the context that is actually connected with a discussion about Project Goals. So we find ourselves no really getting much at times out of Highlights due to this limitation.

Roam as many of us know has a way to include some reference “down the hierarchy” when you type in hierarchical blocks and outlines. In this case, I should be able to see that this highlight is part of the greater point of “Our Goal in this Project is to…”

I realize this may be a greater ask or something for the larger future of Highlights, but I’d be very curious if you guys are thinking about going this way as you expand the capabilities of Highlights here.

Another thing I’ve thought about is being able to at least pick up which area in an Entity where you can post Highlights will be the one referenced, that can also really help in gaining context.

Right now that would be any Rich Text Field, Comments, and hopefully “Plain” text fields if you guys allow Rich Formatting and @mentions in them - which incidentally is a feature of Notion. Here’s that request:

Thanks guys!

1 Like

Is the reason that link-from-highlight does not work for your need that you simply want to avoid having a highlight in your original text across all that space? Because otherwise that really seems to solve this need by just letting you highlight whatever text you want to show up in the backlink, no?

Hey, thanks for the response.

In essence, yes that is right.

Additionally though, the way the link-from-highlight feature displays the related Entity is also not as good, as you have to click the logo of the Entity in question to see it.

We do a lot of free flow writing in Fibery in meetings, planning of work, etc. and in fact the ability to quickly bring up any entity with “#”, create entities as well, see the entire entity’s name without it being truncated, access views in addition to entities with “#” are all big pluses of Fibery. Being a user or Roam as well however, I couldn’t help but think how great it would be in Fibery if we could get just that extra degree of context from the entirety of what is being written in the Highlight, without the need to go back and manually select text - which is almost like copy + paste in that it takes away from the flow of typing.

From my part, I don’t really have a need for anything else that Roam has to make the Highlight feature “complete” for our needs. The main point is that without the full context of what is being written, more frequently than not for my team the Highlights are really not that useful as they don’t give enough information without this extra context I’m speaking of.



Ah, thanks for the clarification. I agree that the way highlight entity links are displayed is not ideal, although mouse-over provides some more info without clicking.

I mainly asked the above, though, because I don’t know if Fibery text is implemented in a way that makes what you are describing even really possible. I’m pretty deep into the Roam world too, as it happens (and Obsidian, and…), and what allows Roam to provide all that nice, organized context is its block-based text system (an “outline” model). Every paragraph is a “block” and block indenting (sub-bullets) are “children” and thus have a relationship to the lock above them in the hierarchy. This makes it much easier to figure out what to include in references, backlinks, etc.

So I’d guess that it could be tricky for Fibery to infer how much context you might want, whereas Roam’s very structure of text gives some guide. But perhaps I’m overcomplicating it and you simply want some expansion of the existing referenced text to the full paragraph or something else that would be more trivial to determine?

I guess what I’m saying is if you can describe reasonable rules that operate only on what is in the text (and not a behind-the-scenes block structure) that would accomplish your goals if used to inform text reference display, then perhaps it’s possible. But such rules would need to also apply universally, i.e. of preference to the majority of people using backlinks.

Maybe make a stab at what you think the rules should be that would pull out you desired reference in the above? Is it that you think all bullets of which a referenced item is a member should be included? That could get quite long, depending on situation, just as one example. So perhaps you can see that generating sensible, global rules may be difficult without a block structure beneath…

Btw for all I know Fibery does have some kind of “block” structure, i.e. individually addressible and parentable/relatable text chunks or entities. But their functionality so far does not demonstrate that…

1 Like

Hey, thanks once more for that!

You raise a great point - is Fibery based around Blocks in the Rich Text? I actually thought it was, in particular because Highlights draw from what appears to be a “block” as I understand them - and I’m basing this on the two tools out there that seem to have the deepest concept of a “block” - Notion and Roam. For example, in Fibery you can have a reference pick up text that is within this “block” but in another row below if you create your new row by hitting “shift” + “enter,” and not just “enter.” I don’t user Markdown, so perhaps that’s a standard of it, but I know from using Confluence, Wrike, etc. that those tools do not handle text this way.

What would really help is simply a similar way to show in the Highlight the full context if the reference text is within a hierarchy of an outline or in bullets. You know what I mean given your experience in Roam, it’s like this:

Image 2020-11-07 at 2.12.20 AM.png

And ideally it would look like this in the Highlight/Reference:

Image 2020-11-07 at 2.13.20 AM.png

So in this visual below, you get what actually comes in Fibery, the “block’s” text where the referenced entity resides, but no context. So to show how that looks in Roam, you might as well erase the contextual references to the entire rest of the content:

Image 2020-11-07 at 2.15.01 AM.png

The bottom line is when we read highlights like that, it’s hard to figure out without going back and clicking what is the context of the @mention. In these cases, the Highlights aren’t really that much more useful than simple links back to the original entity with no context.

So if Fibery indeed does have a Block-based architecture, it would be fantastic to at some point in the evolution of Highlights be able to get this entire context.

Hope that makes sense!

1 Like

Someone from the Fibery team would have to answer to be sure, but I don’t think what you describe is dependent on being block-based. Lots of text editors work similarly, and it’s common with web-based WYSIWYG editors at the least, if not old school text apps like MS Word (not sure on the latter, it’s been a long time since I used it! :smile:). Essentially you have “carriage return” and “soft carriage return”. In the former case it creates a full blank line in-between, in the latter case you have text that is more part of the previous paragraph, just on the next line. And the formatting applies to exactly that difference. E.g. bullet points, you can do Shift-Enter for a “soft return” and get multiple lines in a single bullet, or just hit Enter and you get a new bullet. That’s not blocks though, just a convention between different types of “new line”. I may be explaining badly, but hopefully that makes sense.

Similarly you don’t need “blocks” to handle something like the collapsing of contents “inside” a header. You just look for any header of the same or higher level in the text below (e.g. H2 or H1 if you’re looking at collapsing an H2), and then collapse all text up until the next equivalent-or-higher header.

This is different than what Roam does where every paragraph (bullet point) is an individually addressable “unit” which is the “parent” to any that are intended beneath it. This indenting (outlining) explicitly defines a relationship (parentage) between “units” (blocks) of content (mostly text, but in Roam can also be images, etc. of course). I’m sure you know all that, but just laying it out to point out the differences and how similar outcomes can be achieved in different ways…

Anyway, that’s all a bit of a ramble, as I tend to do. :laughing: More to the point, I don’t think block-based docs are a necessity for achieving what you’re wanting (although I’d love to see block-based for other reason). It may be possible for Fibery to just define some simple rules for text inclusion which would help add context, e.g. “When quoting a sub-level bullet point, include any parent bullets above it in a way that it visually shows other items were excluded” (i.e. not quoting the whole block of bullets, but showing parentage still), or “When quoting a bulleted list item, include at least 2 and no more than 5 bullet items that surround it above and below”, or “When quoting a paragraph, include at least 100 characters before and after”, etc.

So basically it may simply be that an adjustment to how backlink quotes are displayed would address your need.

That said, I have another idea that I’ve recently found great value in as I work more with Discourse, and would probably help with your need as well (though you may prefer the “extended” quoting as you describe). And that is: quotes but with a button you can click to expand the displayed quote in-line. This is a brilliant feature of Discourse that I only recently noticed, and I wish more apps that are doing quoting and linking, etc. had this. Give it a try if you aren’t familiar, it’ll show up in the text I quoted from you above!

1 Like

And hey thanks for this commentary, too.

When you say:

agreed, if the full context of the reference was provided in Fibery, that would be great, I don’t really have any reason to need Fibery to be based on blocks like Roam or Notion otherwise.

And you raise a good point about that “Quote” feature in Discourse, which is a very well done software and has a lot of extras around it’s own backlinks that I think would be well served in Fibery to get more context from Highlights.

I’m hoping some other viewers may also see a need for the extra context I’m speaking of from Highlights and will post to this request soon, we’ll see!

1 Like

This would be cool @B_Sp . I think even just as a first measure, solving for the “header” (say, paragraph preceding) of a list context and no other situation at all (yet) would be great, similar to @Oshyan’s suggestions . Still of course lots of open questions even here, but I imagine within the realm of possibility.

For better or worse I tend to agree with Andy Matuschak that block-level isn’t generally that useful:

Thanks. There are certainly instances where block-level linking would be helpful, but I find page-level linking a more useful granularity most of the time.


Great, thanks for the additional commentary. I am after as much context as I we can get in Highlights. Here is just another example of what we run up against as they currently work:

This is a sample Rich Text where I am writing some notes, in this case about recruiting. Notice in the case of the “Ian Osly” candidate, I have some sub notes of importance.

But back in the Highlights on that Entity that is the candidate, I only get this coming through:

So here I have notes about some “important things,” but I can’t what they actually are without the full context of the outline text.

Thanks again!

Hi all
Thanks for the interesting case and your examples.
Fibery structure is not the same as Roam is, but we do also kind of “blocks” inside a Rich Text field, and smth you’ve described looks achievable and hierarchical context can be shown.
But this is not smth we were thinking about and, telling the truth, we haven’t made any research on this direction.
I’ve noted that thread and once we will be back to improving bi-links and highlights, we will definitely research and discover your cases and samples.

Many thanks for the sharing, was curious to read!


Thanks for the encouraging response! I want to just say one other thing, since my feelings about highlights are a bit different than @B_Sp. I personally do sometimes run into “not enough context”, but also run into the opposite: more context than I need, the backlink quote takes up more space than necessary.

I think regardless of what you do you’ll be “guessing” how much context to include. So when you get back to looking closely at this and how to improve it, just keep in mind what I mentioned above:

I think it would be good to incorporate this into the plan, a way to click to expand for more context. Because it lets you get a bit of the best of both worlds, and cover different people’s preferences or use cases without having to adjust context display behavior globally or per-entity. Essentially, add a feature focused on showing more or less context per-reference, dynamically (click to expand/collapse) could be great IMO. As I mentioned, Discourse shows a great example…


This is a great point!

Both here in Discourse, and in particular Roam, you can “unfurl” the detail of the “higher level” hierarchy to get your full context, but it’s collapsed to save space. I think the way Roam handles this would be ideal here in Fibery: Keep the existing block-level reference, but have the “higher up” context collapsed for expansion if needed. I definitely would not like to have too much collapsed, such as in ClickUp where you only see a mention exists, but you have to click to see where it was mentioned, which limits the ability to get context at-a-glance.

Hope that’s helpful and eager to see the next iterations of Highlights as you guys get to them…