1/ What is a block in Roam? It is a chunk of text, right? This is true. What is a paragraph in a Word document? A chunk of text, right? What is the difference? A very important and BIG difference. In Word, you identify a paragraph by its location ... #roamcult
2/ What is the "Address" of a paragraph in Word? The address is its location in the document, which is very FRAGILE. Imagine a paragraph address of "page 5, chunk of text 2". If you add content above, its "address" changes.
3/ Because the address changes with text flow, the "address" of the paragraph is very fragile. Thus it is impossible to maintain reliable linkage in or between documents.
4/ If you want to repeat that paragraph some where else, you basically have to duplicate it (copy/paste) and there is no linkage between it and no updating occurs when text changes in one or the other. The address is fragile & duplicates are orphans with no connection to origin.
5/ A Roam block is a chunks of text with a unique identifier given to it. We refer to this as its "Block Reference" or us geeks refer to it as UID (Unique Identifier). Each block in a graph has a unique UID that is not repeated. Thus: Each block has an address (not fragile).
6/ The Unique Identifier (UID) looks like: ((aXd9AsD1a)). It is a 9 digit identifier (though could be more digits in the future). The symbols surrounding the UID (( )) is just "sugar" or a way of telling Roam that you are referring to a Unique Identifier of a block in the graph.
7/ Each graph database has a unique database name. My database is brilliantly called "roamhacker". You can purchase it for 2 million dollars, the price has gone up in the last few months.
8/ when you combine the unique name of a graph with the unique identifier of a block, you suddenly have a "street address" for each block in the universe (or at least Roamosphere). It is like saying my address is "101 1st Street, San Francisco". Unique to the planet.
9/ I think that is amazing. Each block of content has its own unique address. Each block is its own house. Each graph database is its own city. All of us are building cities, and when combined together we are creating communities of graphs.
10/ Soon we will have graphs databases linking to graphs databases.
Do you see your graph database as a village or city? Each block as a home? each link between blocks as building roads and bridges?
11/ Roam is often called the Excel of text. And this is correct. But I would also say that we could compare Roam to being the Simcity of text. Each of us building a city, but no one exactly the same.
12/ Explaining block refs to new users is not easy, but a few good metaphors goes a long way to simplify the concept.
Also, the quicker they adapt to the idea that a block has its own address they will be more effective at unlocking Roam's potential.
Let's help them get there
• • •
Missing some Tweet in this thread? You can try to
force a refresh
1/ Yesterday on @clubhouse, we were talking about the importance of going back to basics even if we have been using @RoamResearch for some time. #roamcult
We discussed in depth the importance of the "OUTLINE"
Roam is an Outliner - a powerful tool that we may underappreciate.
2/ An outliner is a tool that allows you to structure your thoughts into a tree like structure. Each discrete section is a node (bullet), and they are arranged into topic-subtopics (parent-child) relationships. You learned outlining in school and probably don't realize it.
3/ Why is outlining so valuable. Its a simple way, almost working subconsciously, for adding structure & meaning to our notes. This is done through indenting and unindenting text at each bullet (node) level. This structure creates advanced relationships within our notes.
1/5 If you use LIVE PREVIEW or DAILY NOTES POPUP feature of Roam42, you will want to read this thread. I am making an important change to the Roam42 behavior. These features will be DISABLED by default. So if you want to use them, you just need to turn them on. #roamcult#roam42
2/5 To enable DAILY NOTES POPUP, simply add the following text to a block anywhere in your graph database and refresh the browser:
3/5 If you use LIVE PREVIEW feature of Roam42, just add the following text to any block in your graph database to enable the feature and refresh your browser:
1/ Roam backup terminologies & strategies. Recently in the Slack channels a discussion was started about backup. When you do an Export you have 3 options. Markdown, JSON and EDN. These terms can be confusing.
I want to provide an opinionated view & some basic guidance. #roamcult
2/ my basic strategy is to export in EDN & Markdown. These two formats give me (1) ability to fully restore my graph & (2) to restore the text of individual pages.
JSON is JavaScript Object Notation and mostly is intended for programmers & isn't as useful for a backup strategy.
3/ EDN (from the developer documentation) is Extensible Data Notation. A superset of edn is used by Clojure to represent programs, and it is used by Datomic and other applications as a data transfer format.
1/ Roam Milestone: Write API
Today is important day in Roam history. Many users will likely not be aware of it, but those building tools & integrations on Roam have lots reason for joy. Team RR is working on extending their API allowing for some important capabilities. #roamcult
2/ History lesson, the past: Roam already has a wonderful query API. This means we can read data from a graph database with relative ease. For the most part they don't hide anything from us. The database is truly exposed to the developer. It is powerful & is graph based.
3/ Roam is currently working on a large and important project: a new scalable database backend and also a new API (client and server side). However, this is a big task, one that should not be rushed, and one we should not put pressure on Roam to rush.
@tracyplaces Journalling sensei on a Friday Roam hangouts. Live tweeting some of her insights sprinkled with southern wisdom and good story telling. #roamcult#roamos
She was inspired to transition from paper to "digital" journalling via Roam by @MamanLunettes kid's YouTube videos. Violeta was so impressed by how her kids adapted Roam to their specific styles, different approaches, but Roam being a common denominator.
Young Sofia doing live demo of her approach to addressing her feelings with prompts. Using block refs to link to questions & then writing out what happened. Sofia is so articulate. Her prompts help her to have a conversation with herself to resolve the problem.
1/3 @Conaw the new CSS stuff is really great. The intentional surfacing of data elements and visual structure is going to be a big help as we move forward. I have one recommendation: Change the roam/css model to be like {{[[roam/js]]}}.
Recommendation: {{[[roam/css]]}}
2/3 The current one page model works very well, but gets difficult to manage as the number of customization grows since everything has to be on one page.
Second, it would be nice to prototype visual designs right in the context of what you are working on.
3/3 Additionally, it would give roam/js developers flexibility in providing UI customization.
So if we had {{[[roam/css]]}} that could be defined any where, this would be useful.