Roam Research, new web-based outliner that supports transclusion & wiki features - thoughts?

@Alan, the funny thing is that I prefer #tag with spaces#! :sweat_smile:

1 Like

That was my thought too, because it seems more consistent with the tag system right now.

#[tag with spaces] makes it a little confusing (“is it a tag or a link?”).

1 Like

There are solutions to this. For example when you type [[ currently dynalist shows a search box. Maybe the first option could be “create item” and after you choose it and hit enter the search box becomes a name input box. Then when you type and hit enter again that item is created and the markdown text becomes [item name just entered](dynalist url of new item). It is just a UX adjustment to keep you in the flow and allow you to create new items and reference them immediately.

To make it even quicker, after typing [[ you could just type the name of new item, and then maybe hit Ctrl-Enter and Dynalist would know that you want to create a new item with whatever typed.

I could flesh this out even more (I’m a software developer too so UI/UX design is also part of my job), but what I’m trying to say is that some of these things aren’t necessarily that big of a change to what is already in Dynalist, and they will give a lot of power to it and in the future could even prevent people from even trying Roam cause Dynalist can already do most of it.

The back-references you’re adding is already a big part of that and that’s great!


Thank you for the clarification! Yes projects would need their dedicated place somewhere in the hierarchy. Maybe bookmarked or linked for quick access.

I initially thought Roam is something similar to Dynalist but now I understand it’s something completely different.

My personal opinion is, that if the user thinks trough his hierarchy and makes up a good system it takes next to nothing to put in everything at the right place. But admit that this is strongly depending on personal preference.

In Roam you use a single page to store all your notes. This page for me in Dynalist is a bullet in the hierarchy and I store every new note (tagged and with references) under this bullet.
My hierarchy is very simple and I can move every new not really fast into that hierarchy.

Good real life example of one of many workflows that Roam allows

I always wanted to have multiple dynalist docs in one window, with d&d between them. In powerpack that was achieved partially with iframes, but it took more RAM and time to load than it should, and d&d was not possible. That alone would open much more possibilities, I wonder why no one mentions this, right sidebar is one of the most useful things in Roam and it’s totally possible to recreate it in Dynalist. If I were the owner of Dynalist, creating components for embedding docs (and queries/search results) within docs, and docs in second column, would be my first thing to do.

Obviously it’s for people who uses such things to manage their life in digital format in more sophisticated ways than writing todo/groceries lists and simple notes. Probably tiny minority of users, so it might be not worth the time.


I see very little in the video that is about the unique organizational system of Roam. Just parallel viewing of two documents. What I would like is to be able to pull an element of a document in by reference and view that inline.

  • Subject
    • borrowed text linked [cloned] in place
      • also borrowed
    • my comments here on what i cited.
1 Like

It was literally what he was doing there entire video, using references from other docs all the time. One can use embeds instead of references too, to make that “cloned” stuff editable in place, when needed.
Each time he drags something and green “+” icon appears, it creates reference to the stuff he is dragging. (by alt+drag on mac / ctrl+drag on win)

1 Like

Yes, I completely agree that it comes down to preference.

For me, I very much enjoy the fact that in Roam my projects don’t need a dedicated space (at least not a single one).

Personally, I’ve just never been fully comfortable with my permanent hierarchies in Dynalist, and I’ve tried several different systems. I’ll be the first to admit that this type of organization isn’t my strong suit, so it’s possible that the shortcoming is my own rather than with the tool. But that’s the nice thing about a plurality of tools – we can find the one that compensates for the things we don’t do well.

I’m slowly easing into Roam, but a lot of dominoes would still have to fall before I could even consider leaving Dynalist. For now it’s a fun thing to explore.


Strange. It looked more like cut right paste left.

This is possible in roam, it’s called a reference block! The downside of using them is that they are not editable in their cloned location (though you can tick the box if it’s a to-do as well as expand and collapse the outline).

A question while exploring Roam Research some more:

It looks like [[ is used to refer to a “page” and (( is used to refer to a “block” (similar to an “item” in Dynalist), did I understand correctly?

So although you can freely create pages, to refer to them you’ll at least remember if it’s a page or a bullet point under a page, is that right?

Maybe you saw some cut and paste, but entire video is to show how one can outline article with references from other sources. It’s hard to see that on video due to it’s quality, but almost everything there was underlined and with slightly smaller font, this is how references are styled.

One can also use {{embed: ((blockId))}} to make them editable.


Any example when page could be confused with block? I have 500+ docs there and never found this to be a problem.
In case you would be confused, and for some reason you don’t want to use [[ or search-box to check if something has page, using (( also shows you that, because results are listed in markdown, pages are between [[...]]. When you’re looking for meditation with (( and you write ((medi and see e.g. I want to start practicing [[Meditation]] you know you have also page about that.

1 Like

Yes, and the easy shortcut to that is to type / then choose Block Embed. Then you will get a search box for blocks. Block Embeds can also have their children expanded, but you need to use the keyboard shortcut to expand it.

1 Like

+1 for sidebar and drag and drop
+1 for embed iframes

I’ve used Dynalist heavily for a few years now as a “second brain”. I use it for my personal tasks and project management, for knowledge management and note-taking, and for things like packing lists and shopping lists.

I’ve recently been experimenting with Roam for some pieces of that. My take right now: Dynalist is a much more mature and polished product. It will take Roam a while to catch up both on general UI polish and overall feature set. There are, however, a couple of things that Roam really gets right - so much so that it may be worth it to me to switch my whole setup over.

Backlinks have been the focus of this discussion, so I won’t go on about them except to say that they really do free you from hierarchy in the way people have said.

Transclusion is a much bigger deal, I think. See this little clip for example:

Being able to pull up a chunk of an outline from anywhere else and include it right where you are, turns out to be super useful. So for example I can reference an individual task in multiple places, pull up a quote or a piece of boilerplate from somewhere else, etc. Not only that but there’s a whole query syntax that allows you to transclude a specific search, like “all incomplete tasks with X label but not with Y label.”

Daily pages are your initial point of entry, and that turns out to be a very useful setup. I was previously doing a daily braindump/journal in text files. Having that process integrated with my todos and everything else is really handy.

The sidebar (shift-click on something to open it on the side instead of the main area) seemed like kind of a silly thing, until I started using it. Being able to see multiple pages at once, and drag things between them (or shift-drag to transclude!) turns out to be extremely convenient.

Attributes let you add semi-structured data to items; so for example if I could make a list of air conditioners along with their prices and features, and then query that information elsewhere in different ways. I haven’t found a real use for this yet, but it’s intriguing and hints at some really interesting visualization and automation scenarios.

As for what this means for Dynalist: It might make sense to steal some of Roam’s features. (And there’s certainly no shame in that!) However, I think @Erica is right to be cautious about bolting on a bunch of me-too features onto a product that’s successful, in part, because of its simplicity. I like the idea of standing up a separate product that’s built from the ground up for the knowledge-management use case.


Thanks Herb. As @Erica has said, Dynalist is principally a hierarchical outliner and I think it’s the best around. It’s what I need for my daily business. Roam is more for writing, where it is more important to develop links between elements.

That said, the Sidebar seems a function that Dynalist could develop while keeping with its basic structure. I occasionally use the PowerPack3 for dual pane, but it is awkward and hard to control where the cursor rests.

1 Like

Great summary Herb. The features in Roam I would most love to see make their way into Dynalist would be:

Transclusion/“cloning”: The power of transclusion is in being able to arrange the same information in different views without duplicating it. I think this would expand Dynalist’s capabilities a lot, without affecting users who aren’t interested in using it. Bang-for-buck this is my most desired feature in discussion.

Daily Pages: I like this idea. It would be nice to have a shortcut that can take me to my “today page”. More generally, I’ve often wished I could have keyboard shortcuts to take me to a handful of selected bookmarks.

Attributes: Dynalist already has a kind of attribute: tags. They’re a bit like booleans or flags. I find them very useful. I would love to see more complex attributes e.g. #quantity=7. Then we could query the hierarchy with searches like: #orderfilled #quantity>5.

My $0.02. :slight_smile:


Yes. It is a grounding feature. Why not use the Inbox as the Daily Page?

I use something similar in Dynalist. Obviously it so not as good as if was implemented natively but I think is’s quite usable.

I use the calendar template and every day I add a#today tag to the current day. With a bookmared filter I can always jump to the current daily page with Ctrl+O.

The filter looks like this: parent:#today -is:competed

1 Like

Today I found the :diagram function in Roam Research is very useful.

I also like the idea of building a new product for the knowledge-management use case.