Streamline – A stream-of-consciousness writer for Obsidian

Hey there!

Alexis here, long-time Obsidian and journaling enthusiast.

I want to share an app with you that built and use every day.

Streamline is a free and open-source^1 macOS app for people like myself who…

  1. Take lots of notes in Obsidian and
  2. Love journaling/stream-of-consciousness writing on pen-and-paper

I built it because I wanted the safe space of journaling and

  1. Easily link to all my my notes in my vault while in “stream-of-consciousness mode”
  2. Yet not get distracted from having too many options from being inside Obsidian

To give you a sense, here’s a preview:

Demo

Fun fact: The typo in “Great to have oyu is more than an error.

There is a full-length demo video that you can watch.

If you’re one of the two other people who know what I’m talking about, give it a spin and let me know how it goes!

Cheers!

Alexis

PS: There is also a full FAQ section for questions you may have at the bottom.

4 Likes

Very cool @akaalias! I wish I could see orbs appearing around me in real life every time I started drifting into the past with any sort of regret. Unfortunately I am not able to use this app because I am on Windows, but it looks awesome. Maybe I should have gone with a Mac…. There go those orbs again. Quite mesmerizing!

It’s great to see you back on the forum! I hope all is well!

Thanks!

1 Like

Hi @akaalias , your app looks incredible! Like @I-d-as I am also on Windows so unable to use

Regarding this as a plugin instead of a standalone app, I see in the FAQ you have:

I tried that. Obsidian simply is too distracting for me to get lost in a rabbithole. Having a stand-alone app helps me immerse myself.

There are already fullscreen writing plugins for Obsidian. Why not simply have your plugin go fullscreen and then there are no distractions?

You could even make the fullscreen unexitable until the app is closed, or a number of words reached.

I’ve used 750words for many years, and I really love your implementation and absolutely want to start using it. It would be amazing if you could consider turning this into a plugin…

2 Likes

Hello!

When I select the notes storage folder, nothing happens: when I try to add a link to an existing note in the storage via [[, this does not work.

1 Like

This is my first sign up to obsidian forum and this to the face, looks amazing, will try soon!

1 Like

Hey @ayli.voltok thank you so much for giving it a spin, finding a bug and sharing that here.

I’m investigating this previously unseen issue now and post when I find something.

Thanks!

1 Like

Hey @AlanG!

Very much appreciate your enthusiasm :slight_smile:

Even though it’s possible to replicate the ergonomics as a plugin, there is something powerful in single-purpose tools for me.

The bigger Obsidian is becoming, the more I feel drawn away from it because of exactly that ‘size’.

But the good news is: As it’s an open-source application, all of the nuts and bolts are available for you to use as a reference though! :smiley:

With your current installation, can you make sure you try the following:

  1. Open Settings again and select your Obsidian vault folder
  2. Verify that the count of files should update from zero to your number of markdown files
  3. Back in the main view, start adding a link with [[ – Type more than 3 letters to trigger search

Here’s a quick video showing you what I mean:

Settings Demo (mp4)

I tried again, but got stuck at step 2 - “Verify that the count of files should update from zero to your number of markdown files”. Regardless of where the folder with notes is located, what it is called, how many notes it contains, the result is the same - the number of files does not change, 0 remains. :confused: Maybe it’s me, hahahaha.

That’s wild, thank you for taking the time.

Note that it will only look for markdown files ending in .md and ignore all other types.

hi alexis,

the app looks beautiful and i really like the idea!

i have the same problem that the cached markdown files stay at 0
and
on a german MacOS keyboard i am not able to tyoe the [[ brackets with OPTION + 5

1 Like

Got it, thank you so much (Danke sehr!)

This seems to be a weird issue I currently can’t reproduce on my machine but it’s clearly real - maybe it’s because I’ve got some weird local developer privileges.

Will let you know!

PS:
To investigate this, I’ve added an error log option that hopefully catches something I can use to fix this.

Whenever you and @ayli.voltok get the chance (No rush at all) can you

  1. Download and launch version 3.5.1
  2. Try setting your vault again
  3. Look, if any logs appear here

Logs

Again, thank you for your patience!

Hello!

I tried the updated version just now. The situation repeats itself and, unfortunately, the log does not show any information. There seems to be an “empty” line that you can click on with the mouse, but this does not lead to anything.

Ready to be your guinea pig to find a solution. :smiley:


jup, same here.

just an empty line under Application Logs

Hey all!

Thank you for your patience. I believe I have finally found and fixed the issue.

In short, it appears as if macOS fails (silently) to index your markdown files when the app is downloaded as a .zip file but works (yay!) when it’s a .dmg.

So, moving forward, the app can be downloaded as a .dmg file and it should work.

@probefahrer The German keyboard layout is currently not supported (although I’ll work on that as I also write and speak and think in German)

Hello!

Really looking forward to your return :slight_smile:

I tested the .dmg version and I can say that it works! Now when I select a storage, the app indexes all notes, and when I add [[, it suggest me notes. Great work, thank you very much for doing this :sparkler:

1 Like

Fantastic @ayli.voltok , thank you for trying it out (again and again no less).

For future reference for anyone building a macOS app trying to access the contents of a folder like your Obsidian vault, I tried the following work-arounds I tried.

After failing 5 times, my “last resort” turned out to be the solution.

TLDR: Invest an extra hour and make your app downloadable as a .dmg file from the start instead of taking a well-meant shortcut of using .zip files.

A detailed run-down

Testing my obvious assumptions

Since it worked on my machine (classic), I used my gf’s computer when she wasn’t working.

I was able to replicate the issue you described.

“I believe markdown files are not indexed on your machine because…”

  1. AppKit file permissions have changed so much recently that even the smallest deviation of what is know to work results in failure[^1] (False)
  2. According to this blog post, Dropbox may be interfering[^3] which results in unexpected behavior (False)
  3. There is a significant difference between my macOS version 13.1 and lower versions. (False)
  4. On my machine, Obsidian’s markdown files have content-type net.daringfireball.markdown but that might not necessarily on other machines[^4]. (False)
  5. Whatever the reason, the exception/error will not fail silently but throw some information that I can use to fix it.[^5] (False)

Rethinking my known risks

So I had to re-rethink my riskiest assumptions when all these experiments did not change the outcome on your machines.

  • If it wasn’t the code…
  • If it wasn’t the OS…
  • If it wasn’t some known unholy behavior from Dropbox…
  • And if it wasn’t vocal about throwing any exceptions…

Finding an unknown risk

  • What comes before all of that?
  • What am I doing now that is so mundane that I don’t believe it’s a risk?
  • What blind spot am I missing?

Then I remembered that little red alert Chrome showed when I first downloaded the .zip with the message. I had never seen it before.

“This file is not commonly downloaded. Are you sure you want to save it?”

What if…

  • macOS is very, very hesitant[^6] to provide file access to apps that were downloaded as zips
  • macOS does so silently?

Having shipped another app of mine named “Unblah” as .dmg in the past without security hiccups, I figured this could totally be a reason.

I re-used most of that setup[^7] to create Streamline.dmg in v3.5.3 and it immediately worked on my gf’s machine.

So, yeah. I might have saved myself some time starting at the top. I don’t know.

But whoever reads this in the future: You’re not crazy.

Thanks!

Footnotes and references

[^1]: Revised, refactored and tested several versions 1 and 2
[^2]: Modern AppKit File Permissions by Ben Scheirman
[^3]: “Watch out for Dropbox and other filesystem-bending plugins. Dropbox does some useful but unholy things to Finder and the file system in order to do its job. This might result in strange behavior when trying to access those files & folders.” – Stopped any and all Dropbox daemons on her laptop, compare before/after
[^4]: Commit 3 where I am relying on the file-extension .md to indicate a markdown file.
[^5]: Added a simple log storage system to keep track, copy/paste errors
[^6]: “The technically sophisticated runtime protections in macOS work at the very core of your Mac to keep your system safe from malware. This starts with state-of-the-art antivirus software built in to block and remove malware. Technologies like XD (execute disable), ASLR (address space layout randomization), and SIP (system integrity protection) make it difficult for malware to do harm, and they ensure that processes with root permission cannot change critical system files.” via macOS Security and Apple Platform Security
[^7]: I use this run.sh that to compile the image.

1 Like