Block reference

@Klaas Thank you for sharing your perspective. I would like to offer another point of view.

I am less interested in making Obsidian a clone of Roam - or any other tool - and more interested in having features that make my process of thinking and reflecting better. With that said, Roam is only mentioned in this thread because they have a pretty strong implementation of block reference. Notion also has a good one, although not as strong. Coda has a very good implementation, but it looks and feels more like a database record than a document block. From these three implementations of a quite useful feature for the purpose I listed above, Roam has it better. Hence the reference to it.

I don’t see why we should leave at it. Giving up implementing something because it is not simple doesn’t seem to me a good reason at all. Au contraire! The more complicated the better, for analyzing and improving complicated processes can provide great return in terms of efficiency.

I agree Obsidian is a fantastic tool and I agree that it has many features other note-taking apps do not offer. But why should we give up (asking for) new features that can make it even better? This is the space the development team set for this very purpose.

I’d love to hear from the community any use cases or design proposals for this feature. If there are strong reasons not to implement it, I’d love to hear them as well. I just don’t think the push backs so far are enough to shoot down the feature request.

7 Likes

There are a few use cases where it is not that simple without a better block implementation. For example, you can quote Matthew 28:18 by doing this: [[Matthew 28#18]].

You can even trasnclude directly the content of Matthew 28:19.

What you can not do, though is to know exactly how many references you have to Matthew 28:18. The current implementation only allows you to see the pages that link to [[Matthew 28]] and not specifically to [[Matthew 28#18]] or [[Matthew 28#19]].

Header reference and header transcusion are great first steps. As I mentioned on the feature request header:

Hopefully this clarified a bit more the request.

8 Likes

@Sellaro Thanks for your reply. I understand your point of view. If you think the block reference is that important for your workflow then do pursue it. Who knows, maybe even I use it if it is available. It has happened that I did not think of using a feature, but when I became aware of it, thought about it, tried it, liked it, I started using it.

3 Likes

If you add the capability to embed an MD in another MD (preferably via a UID scheme, worst case via file path), the problem is solved. Each block becomes an MD file and each page is an MD file embedding all relevant blocks.

If embedding MDs is supported, the people who want embedded blocks can start structuring their files as described in the last paragraph. Everyone else can ignore it. Then, once plugins open up, it’ll take two seconds to automate this.

If you want you track back references, you setup the editor to append the UID of referencing pages to the embedded MD. This is probably where your want backlinks to show on a page anyway.

6 Likes

This is the part where I feel I might be having a blind spot.

To be clear, I’m not pushing back against the feature itself - those we don’t need it won’t use it - but am trying to understand how it could help with my thinking then.

The way my brain works it’s always looking for the easy way out so if I’d be using block references it would enable me to keep ideas as blocks stored within the context of the bullet list. That would then allow bypassing the step of having to flesh out the idea further - making my thinking about it strong enough so the idea on its own (outside the context of the bullet list) becomes a solid building block for future thinking.

I’m sure my brain would love that and make me feel as if this is better and easier but I’m afraid it might be a trojan horse because I’d be skipping the crucial step needed to improve my thinking?

So when I see all this enthusiasm about block referencing it really makes me wonder if people first used a traditional zettelkasten approach (standalone note per idea) but then when they got introduced to block referencing it did in fact improve their thinking? Or did they get fooled by the trojan horse because it made things feel easier?

Regards
-possibly blind man

5 Likes

@obsessed I would point out the value of block referencing is not that it in some way improves your thinking. The point is that it adds efficiency to your workflow. I can think about a topic once, I can then include that topic in many different thought processes (summaries, essays, etc) and if my thinking on that topic later evolves (as it very often does for me) I only have to change it in the one place where I originally recorded it - rather than having to track down every spot it may have been included. It in NO way is about “oh if I had block transclusion I would think so much more clearly”.

8 Likes

How about instead of referencing blocks, allow the entire md file to be displayed inline with a toggle/fold button.

If we granulise the way we store the information, and able to display the entire md file inline. We would be able to achieve a certain level of “block referencing”. Treat each .md file as your block of information instead.

It is still portable even on other md Editors as all your references to other md files are still there and you can easily find it and access it. But being able to toggle/fold other md files inline would enable us to consolidate a lot of information into a 1 particular page.

I’m currently doing some research on ACL reconstruction. The main note right now simply holds 20 links to different portions, ACL structure, ACL rehab, ACL reconstruction Prognosis, etc. The main issue is that I’m unable to see these 3 portions together on 1 page/note, I need to open 3 different notes instead of simply scrolling down.

2 Likes

OK but we can already do all that using ![[topic]] no?

Though I can understand if another tool has gotten you into the habit of making bullets per topic instead of notes per topic, that it can feel like a mental burden having to change the existing habit.

Anyways don’t want to make it sound like I’m pushing back on the feature, which I’m not…

![[note]] already does that. Or do you mean something else? Agree that fold would be very nice though.

2 Likes

OK but we can already do all that using ![[topic]] no?

No
[[topic]] restricts you to the note name! Sorry but that is absurd as a solution. The point is to reduce friction not add enormous friction. The point is the ability to write on a topic then include a piece of that writing as a part of multiple other topics.

The beauty of obsidian is in the clean simple writing tool with great linking capability. It completely defeats the purpose to think you are going to break out every single paragraph as a note title. And no displaying the entire md file is not the solution either. This is about efficiency in connecting your ideas and in your workflow.

4 Likes

Not [[topic]] but ![[topic]] with the exclamation mark, which embeds the entire note content and not just the note name, therefore from my perspective solving the example issue described here.

===

The specific mention of a piece of that writing is a good example of what I meant with:

I can see how people are struggling with that. But I turned into a proponent of atomic notes and like I mentioned before believe this habit of listing down bullets which other tools have instilled on people might actually be a trojan horse when it comes to knowledge management, though I could be wrong on that last part and it doesn’t matter for me neither does it help resolve the immediate problem some people are having.

But I don’t think I’m wrong in it having instilled a habit on people (again, leaving in the middle if this is a good or bad habit) which they now have trouble letting go of, or else I’d not be writing this comment and you probably wouldn’t have written this either:

Not saying that all this enthusiasm about block references is wrong, not at all, but I’m just sharing a different perspective from someone who has not been influenced by alternative tools and who won’t be affected by what other people eventually end up doing.
Hopefully it can help at least a couple of you get past your existing habit of writing in bullet lists and switch to atomic notes, or if not you can still try find a middle ground by using Ryan’s solution, or maybe one of the solutions that smart more technical people have proposed will turn out to be a good fit for anyone who won’t be able to let go of their existing habits then.

4 Likes

Thanks so much for pointing this feature out - I had missed it, and it works well for my use case :slight_smile:

4 Likes

Ah - I had missed the ! - but doesn’t change my point that embedding an entire note does not provide the same workflow efficiency as being able to embed blocks. Our difference of opinion is not about atomic notes (I’m a big fan of the concept although from long before I ever heard the term “atomic notes”). The difference of opinion (on my part anyway) is about efficiency in building new formulations of old information.

I’d point out though that there are quite a few, long established apps that simply allow you to create an atomic note and have it linked in various ways. A good starting point on those is the zettlekasten.de site. Not sure why the world needs another version of The Archive, Zetlr, nvUltra etc. The value I see in Obsidian is combining notes with long form writing - as summaries or header pages (sorry MOC seems the hot term on this forum) in various ways. The reason people mention Roam so much is not that they want to make Obsidian a Roam clone but that Roam showed the way to some amazingly efficient workflows using backlinks and transclusion that generated a lot of excitement.

Atomic notes are great in some use cases. What I want is to be able to pull notes on an article, book, reference into one page where I summarize that information at some level of detail and then be able to very quickly pull individual elements into another page or into a piece of writing (an example of the power of the flow can be seen in the video I posted early in this thread). Yes I could accomplish the first part using the type of notes you are describing (with lots of friction) but the second part would be extremely cumbersome in Obsidian as it stands now. Making those connections is still pretty kludgy in my humble opinion.

4 Likes

I like to develop each line of reasonings in a single note, which makes it long, as opposed to atomic notes.

If you represent a line of reasoning by a chain of connected statements (for example R1: A -> B -> C -> D -> … -> Z), then block references would provide the ability to re-use a part of it (C -> D) in other lines of reasonings at other notes (for example R2: !A -> !B -> C -> D -> … !Z) without adding cognitive loads.

You can argue that if C -> D appears in different contexts then it can be extracted to an atomic note and referred in the reasonings by its name. However, just because it can be doesn’t mean we should do it. And cognitive load is a reason I don’t do it.

To make an atomic note we have to give it a name, to give it a name is to add a proxy layer. A proxy layer simplifies the process of re-use, but it adds extra efforts to retrieve the content (opening the note in a new panel, eye-switching, mentally constructing the actual line of reasoning from names of the notes, etc). The efforts, when compounded, have significant effects, especially when you’re trying to develop complex, intertwined lines of reasonings.

Block references would resolve that problem in a natural way. It’s not that I am familiar with Roam so I want Obsidian to have what Roam has, but I think it’s a feature that would empower the way that I develop arguments, which is through writing long notes.

I understand this isn’t trivial, being a software engineer myself, especially when it’s not included in the initial design decisions, but I hope I offer a reasonable point of view.

13 Likes

On top of that, even the so-called atomic notes are likely to bear some level of meta information - as opposed to only the note/idea content itself. So an atomic note is usually not really atomic.

One can than argue: you can always put the note/idea in a specific header and refer the header instead with ![[note#header]]. Yes, that is possible, but not practical. If, for example, you change the header name for any reason, all the references to this header become invalid. There is no “header update” feature that visits the whole vault and updates references accordingly.

6 Likes

The header update would be a good start for moving to some sort of block reference system. Obsidian can already update links when a filename changes, headers shouldn’t be impossible. (edit: already planned )

I’d like to see transcluded header title visibility toggling added as well. e.g:

note.md >
# Header
Some text

should be able to be displayed as

some text

when transcluded rather than

# Header
Some text

as it is now.

A switch in settings to control it should be enough.

8 Likes

@Sellaro: further to my previous, less unenthusiastic comment, I have now hit a situation where, instead of linking to the whole note, I’d like to be able to link to a specific line another note. A block reference is called for.

I have added my like to your OP. I hope you don’t mind this change of heart.

7 Likes

Not at all. This is an evolving conversation The more feedback we get - including from changes of heart - the better. :wink:

5 Likes

+1 to this request.

In addition to the uses mentioned above (FWIW, my use case is remixing individual ideas/notes — e.g., from article/book notes — in a granular way as I write about a given topic), I think there’s an additional/secondary argument for block references: their existence enables more frictionless note-taking. Without them, more thought needs to be put into how you structure each note as you write it (e.g., deciding whether or not to create a new note or headline for a given idea to make it easier to transclude).

That isn’t necessarily a bad thing — there have been some compelling comments here arguing that block references may deliver efficiency at the expense of “better thinking” — but I’m not sure, for me personally, that the added friction is a net positive.

8 Likes

Again, a fascinating topic that really stimulates my own thoughts, and I’d like to contribute.

It appears the debate on block referencing has quite a bit of focus on the mechanics of how it could be achieved, with perhaps more than some comparisons to Roam and some probing as to why you would, or wouldn’t want to do it.

Apologies for Stating the Obvious
If we consider the essence of the use-case where we want to achieve a graph of linked thoughts, each thought in Roam is, at it’s most atomic, a single bullet. This is conveniently lazy (not meant to be pejorative) in that we could ‘brain dump’ in our daily note page with all kinds of links and the subsequent nodes of the thought graph would all reflect the thoughts we had - because bullet node links to bullet node.

In Obsidian, each thought (node) is either an .md file or a header within that file. Thus the same brain dump in our daily notes file would yield connections that all backlink to the daily file - which has a certain utility, like when you want to recall when you had a particular brain-wave, but isn’t a real robust knowledge graph.

In Roam I’ve noticed most all of the thought ‘pages’ I’ve seen in examples - confession: I’m not a Roam user - are empty save for all the backlinks, which i where the magic happens.

In Obsidian this cannot be - well it could, but it wouldn’t be terribly useful. Pages link to pages or headers in pages.

@Silver and @Licat are showing us we need to be more deliberate in expressing our thoughts - which is hard, at least for me, which is why I keep reading everyone’s posts for inspiration :wink:.

I’m Making This up as I Go
Since pages are file names, we are constrained by OS rules as to legal characters and length. This is where header referencing and multi-page panes are our friends.
If we want to brain-dump in our daily files, we could briefly pause to consider the topic or context of our thought, quickly link to that [[topic or context]], immediately open it in a new pane and dump our thought in there, which may contain further links - in which case, rinse-and-repeat.

We can then if we want to further contextualize our thought, place it under a header. We can add the header to our original link [[topic or context#further context]]. At that point we can be as wordy as we want since the header isn’t constrained by OS file-naming rules.

We preserve the initial link to when we had the thought, but we are also creating a knowledge graph, from the thought itself, by populating the thought page with the substance of the thought and links to further thoughts.

A Feature to be Requested
I’ve noticed though that if we preempt the header before it’s created - [[topic or context#further context not-yet-created]] and click to the page to create it, the header is not created.

Further, as @Lachlan points out, while file name changes are reflected in all links, header changes are not. And while what I have outlined is deliberate/intentional thought mapping - I’m going to have to try it myself today :wink: - I would think having to manually change header links, after we have carefully revised our thought-map, would just get in the way and cause a break in our focus - counterproductive.

7 Likes

@deftdeg

while file name changes are reflected in all links, header changes are not. And while what I have outlined is deliberate/intentional thought mapping - I’m going to have to try it myself today :wink: - I would think having to manually change header links, after we have carefully revised our thought-map, would just get in the way and cause a break in our focus - counterproductive.

@WhiteNoise said here it is a planned feature.

4 Likes