Been thinking about the architecture behind @RoamResearch, where it's going, and how it fits into a larger toolbox.

Broke it out into the following layers:

āˆ™ Database
āˆ™ Service
āˆ™ Presentation

Easier for me to think about it this way.
Roam(an) Architecture

Thinking in terms of layers facilitates how Roam could evolve.

Mentally separating the database from the presentation layer (the UI) puts even more emphasis on a forth-coming API.

Thankfully this is a top priority for them: https://twitter.com/Conaw/status/1254553494272372738
Import/Export

Currently we can manually import/export Markdown and JSON. This lays the foundation for human and computer structured data.

āˆ™ Markdown - human-friendly
āˆ™ JSON - computer-friendly https://twitter.com/RoamBrain/status/1268216552635146240
Sidenote re: Copy/Paste

I can't express how grateful I am that Copy/Paste works as seamless as it does!! (Thank you! @RoamResearch)

Copy/Paste is the universal API regardless of platform and works well on PC, Mac, mobile. šŸ™Œ https://twitter.com/Conaw/status/1254129777419513856
BUT Import/Export & Copy/Paste are manual processes right now

An API would enable programatic import/export in addition to the manual process. Data can be sent/synced from your favorite app for X with minimal effort.

cough drafts cough https://twitter.com/michielrutjes/status/1267031215649050625
Speculating here but once the Service Layer becomes accessible, Roam will be an even larger component of people's data ecosystems.

Looks like I'm not the only one thinking this. https://twitter.com/Conaw/status/1268577083048865792
An API reduces friction of adding Roam to a users toolkit by leveraging existing apps.

Allowing mobile apps like @draftsapp, Jayson/ @simonbs, @ToolboxProApp to communicate directly with the database opens up the type of data people will add to their database.
And that's just mobile. I can't even imagine all the possibilities of what people will do when they can interface with an API on their computers using code.
The response to Roam embracing custom CSS is an indication of how much the community wants to tweak, enhance, and share their experiences. Imagine what it will look like with an API available!

Custom UIs leveraging the database https://twitter.com/Conaw/status/1268426724254945280?s=20
Or new kinds of apps entirely! Apps that treat language in a different way than we currently do.

I'd like to see ideas like this realized using the Roam database as it's underlying structure. https://twitter.com/rjs/status/1251927254088560640?s=20
Deep speculation territory BUTā€¦

What if an API allows us to reference other databases besides the one we're currently in?!

This is where I get really excited. Imagine being able to link between your own databases. Or public DBs of people like @visakanv or @anthilemoon
Roam Coding Language

The current Roam "code" is borrowing from a number of sources and is somewhere between syntax, markup code, a scripting language, and a coding language.

I hope this evolves to something defined.

Example: https://twitter.com/ViktorTabori/status/1268845528265175040?s=20
This is a lot of speculation based on my understanding of the architecture and some wishful thinking.

But when you have this strong of a community spring up around a beta product, it's because people love the product and how it affects their life.
Roam has brought me so much sanity in organizing my thoughts and life the past few months.

I've waited years for a personal knowledge management tool like Roam. Thinking about where it could possibly go is šŸ¤Æ ā€¼ļø https://twitter.com/DavidCrandall_W/status/1266811726303047683
You can follow @DavidCrandall_W.
Tip: mention @twtextapp on a Twitter thread with the keyword ā€œunrollā€ to get a link to it.

Latest Threads Unrolled: