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.
Do it right! Do it right!
4/ The problem is we are developing a lot of tools around Roam & have to do a lot of HACKS. Have you noticed that SmartBlocks are slow? Have you noticed that other extensions do things you want but miss one or two key features & the dev tells you this is because of the API?
5/ Well this is about to change. Team RR is releasing information about a "stop gap" solution that gives us the ability not to just read, but to write to the database in code. This is a BIG big BIG deal. It will make many extensions we use daily faster, more stable & reliable.
6/ Now, just to be clear, there are other things we still need, but that is on the horizon with the new database backend and the full API. But today's solution fills an immediate and urgent need. 80/20 rule!
7/ So if you are a developer, I know you are rejoicing. If you are not a developer and didn't understand anything I said, just take my word for it be happy, as you know Roam is getting better.
8/ Now if you are not bored and want to know more, keep reading. Basically this is a bigger deal than it appears. It is proof we can feel good about investing our time and energy in Roam, because the people building the product are listening to the community and want to help.
9/ A number of us working to extend Roam have had conversations with the Roam team asking them to consider adding some basic write capabilities now, so that we don't have to wait for the full API. 80/20 rule!
10/ To be honest, its not a fair request. We ask: can you give us some API now and also keep building a full API. No company has unlimited resources.
11/ But they were listening and do listen. So keep that in mind folks. We are investing in the future. Future self and future Roam. These are they kind of people you want to work with long-term. They are not offended when you ask for something & if its a possibility they build it
12/ I spoke to @Conaw & @thepericulum about this personally & frankly I did not expect anything, because I am not sure if I would personally be in their shoes if I would do something. Why make a short-term solution when you have a long-solution? Because they want to help.
13/ Their motivations: they see that this will help the community, they see we were struggling and wanted to genuinely help. Kudos to them! I am sure there are others at team RR who deserve words of gratitude. So in behalf of the dev community, thank you!
14/ More info on these features (currently in testing) available here:
15/ So what does this mean for Roam42? Roam42 will become more efficient and reliable. Also, I start to ponder SmartBlocks v2, if the community wants us to continue working on it. But v2 would be faster and likely enable more robust solutions. TBD :-)
• • •
Missing some Tweet in this thread? You can try to
force a refresh
@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.
@RoamResearch Starting a thread that we can build on (@CatoMinor3@AbhayPrasanna@gottalead and others) with some early feedback. First enjoying the new things, But while you are messing with the code, a few ideas.
RECOMMENDATION
.rm-title-display is title page. If it is a Daily Notes Page, it would be nice if there was an attribute indicating its a DNP. Lots of us modify based on context: standard page or DNP. class="rm-title-display rm-title-dnp" otherwise no attrib. (In sidebar as well)
PRAISE
Loving the concept of these classes representing structuee:
.rm-block-main
.rm-block-children
So today @dvargas92495 brought up a really good question. Many are using SmartBlocks to not just build workflows for daily activities, but some are building very complex SmartBlocks with the JavaScript (connections to YouTube, GDrive, poetry and Shakespeare API's - wild stuff)
So while SmartBlocks has JS support, its not a primary goal. So his question was: why are people using it that way since you could just do roam/js. I have also wondered the same thing. I asked @shawnpmurphy8 (maker of famous attributes table extension) & he had strong opinions.
He said: Here is my thoughts on why folks are gravitating so heavily to SmartBlocks.
+ because it is simple
+ it is easy to develop/test as you go
+ it is easy to do hybrid... JS + SB COMMANDs + some general template stuff (indent / unindent etc.)
Live tweeting from the Roam impromptu zoom call with @Conaw. #roamcult
They want to make Roam very programmable. From easy to advanced, to simple extensions and more. Hope for lots of devs using Roam Depot in future.
Future of creators in Roam: very important that people can build off other peoples graphs. Multi-player, many contributing & sharing. Lower barrier to create very large content databases (even without a lot of tech knowledge). Want them to be build businesses of their work.
Coming to you Live from the Roam Hangouts with @cortexfutura Algorithm of Thought guru. Live tweeting his thoughts.
When @cortexfutura was asked about his background with note-taking software, he said “Been around the block” — no pun intended.
Demonstrating interfacing @zotero with Roam. I think this is a very popular concept for many researcher. He has designed a meta data export to make this happen. He will share his code. He has rolled his own solution to this problem.