Prelude to Markdown Notebooks

I run my life from a folder of plain-text .md files on my NAS. At the start of each month, I create a new file and drop meeting notes, thoughts, relevant research, and TODOs into it, top to bottom. Some people use paper notebooks the same way—as did I, until it became more convenient to keep my working records digitized and legible to coding agents.

I'm embarrassed to say that I, the product manager for Tlon, never managed or interfaced with my personal notes within Tlon itself, which should tell you everything you need to know. With the help of Hunter's self-initiated Notes and Scratch apps and Dan's React Native chops, we're rolling out a new version of Notebooks, powered entirely by Markdown.

We originally designed Notebook channels to mimic a blog or a list of articles, meant to distribute formally prepared documents to a group of people. But that's not how people take notes, and it's not how I take notes. My notes are scratchy and incomplete, and meticulously formatting them with a WYSIWYG editor was the last thing I wanted to spend my time doing. True spontaneity and creativity demand as little friction as possible, so the interface needed to accommodate messy working states. There are no cover images, no previews, and no truncation breaks to prepare. Markdown Notebook channels are plainly organized by title, ordered by last-modified time, and nestable within folders.

Notebooks also auto-save. Just slap text in and go.

Until recently, Gall agent state was illegible to coding agents—what lives inside Tlon stays inside Tlon, so to process something stored there, I'd copy the text from the Notebook post into the agent prompt, ask it to return Markdown, then paste it back into Tlon. We did away with this by making Markdown Notes first-class data surfaces upon which Tlonbot can operate. Tlonbot can read, write, modify, duplicate, and otherwise manipulate anything in a Notebook channel you have write access to.

It was nigh impossible to copy and paste the contents of each file into a new post in a Notebook channel, since I have about 3 years' worth of monthly rolling notes and about 6 years' worth of miscellaneous documents (PRDs, meeting agendas, memos, design reviews, etc.). We solved that—simply import a folder full of Markdown files (of multiple nesting levels) directly into a Notebook channel.

It's simple to share a slug of Markdown by publishing a GitHub gist - gh gist create README.md -p -w. Many, including Tlon, have attempted to publish web pages on Urbit, yet this basic operation has eluded all but a few. This is our simple answer. All you need to do to publish a note (like this one) is tap or click a "..." menu, flip a "Publish to Web" switch, and the URL is copied to your clipboard. At long last, publishing text from your personal server.

As exciting as this is for me, the feature is in its infancy for now: there are no comments, no @-mentions, and we don't support drag-to-upload for images. These features will be introduced as we develop trustworthy, reliable technical solutions for them.

The existing "Notebook" channel type will now be called Bulletins, a more appropriate descriptor for the blog-like structure of a linear list of long-form posts. Soon, you won't be able to create new channels of this type, and eventually, we'll drop support for them altogether. We will offer self-migration paths to move them to new-style Markdown Notebook channels. The data will live on your personal server forever, and we'll show you how to access it via dojo.

I'm happy that Tlon now supports Markdown in Notebooks. I hope you are too.

Coming very soon. Keep an eye out.