Replacing OneNote

I have been a long time user of Microsoft OneNote ™. OneNote is a joy to use. Capturing a screen shot and pasting is easy. Linking notes is a click and a paste away. OCR of a screenshot to extract the text is amazing. Built in check-boxes. Tags allow for easily finding "things" like a person or a question. Search by edited date, author, by sections.... There are so many amazing things to this software. In fact if you need to use the companies products and you don't mind being locked in, it's probably the best software out there. Especially considering how it ties together productivity in the office suite. This is one of the best well thought out pieces of software I have used.

Over time it has been losing features. I run into occasional bi-direction sync issues with mobile and lose data. I can not move notes across notebooks so if I create a "quick note" which goes into my default notebook, I cant move it later. On Linux, I can only using the online version. I can no longer export notes to other format as a safety backup. On my twice a year booted windows copy I can no longer install the stand alone app from the store. I can no longer print entire sections or notebooks to PDF. I can only print 1 single page at a time to PDF and I have to highlight the contents of the page to even accomplish that. I can only export to .one file formats. Which is not readable on Linux. I fear even these remaining options will eventually disappear or I will lose access on Linux completely or I will be forced to pay a subscription for a cloud service to access my data one day. My needs at home have diverged from my needs at work. So I decided to finally look in earnest for a replacement.

Requirements:

  • Open format I want to get away from proprietary formats. The idea of markdown which is a simple text file is attractive. Though, I confess the workflow is slower then OneNote it largely depends on how helpful the GUI is. But Markdown gives the possibility of text based editing with any program or CLI as a fail-safe. My recent being locked out of the fail-safe option makes this seem important. I can't simple open a backup copy of a .one file on Linux and get at my data if needed. If I lose access I lose my fata.
  • Easy to backup
  • File Based I strongly prefer a simple file based approach here. A DB overcomplicates things and I can't just revent back to the files if it all goes horribly wrong or the project decided to do something like "force cloud subscription".
  • Easy to Sync mobile and desktop. File based helps make this easier.
  • Free as in pizzar.
  • Helpful UI Making life easier is probably going to help make or break the experience. The problem with Wikis for example was I had to manually save pictures to a file and decide where to put them and link it all up. It broke the thought process and workflow. OneNote was a simple shortcut key and copy and paste into the tool. The better the experience of the GUI the easier this goes.
  • Open Source is preferred but if the others are well met this can be overlooked.
  • To-Do lists are highly desired but not strictly required
  • Templates are highly desired but not strictly required. Use case: a daily diary and you want to be sure you capture 1) date 2) mood 3) heart rate... Use Case: a bunch of defined steps to build something with check-boxes for completions tracking to allow me to track where I am on 10 different currently in-progress builds.

Solution: Obsidian

Obsidian matches pretty much all my needs. it has only been a few days but I am quite happy with the core program and how it works. it is the first markdown editor like note taking software that has felt productive and for the most part is helpful and doesn't get in the way. It has the best UI experience of what I have tried. It is not nearly as flashy with as many features as what it is replacing. It is not tied into an office product, calendar, productivity suite,
. Handles the pasting of screenshots and the editor is quite sane and has pluging. It is free for personal use and uses markdown stored in regular text files. I believe all config is stored in files on disk. So the backup is easy. I do not believe it is Open Source but I always have the fail-safe to manually edit the files in any text editor if the company goes crazy. The only main hitch, as of March 2024 they want $8-$10 per month to sync notebooks via the cloud service.

Migration from OneNote

This one is painful. Obsidian offered an Import from OneNote option but sadly it doesnt work. I login and approve the app to have access to my notebooks but it gets stuck at that point and never gets past the auth. Maybe I need to try turning off all safety features in the browser? Maybe it is dependent upon running from Windows? There are a few tools out there to help but I think they require OneNote app to be installed and to run from Windows but I can't find the base app in the store to install it anymore. I may try to see if the core libraries exist in the base Windows but I am not hopeful. I can't find an easy way to translate or read .one files on Linux. I found a few websites that allow me to upload .one files and it will translate them to markdown. But it is incredibly slow, the output is not all that great, and I am not sure I want to upload these large files nor allow companies to see what is in them. But it is an option. I tried to print a pdf using Ctrl-P but I can only print one page at a time. I can open PDF is Libre Draw but each text section is a separate object and I can't highlight and copy everything. Pandoc doesn't seem to work with PDF as inputs. Maybe I need a more current version? I can manually copy and paste an entire page but the attachments come over as binary when pasted. I can manually rt-click and save the images and rename them and drag them into Obsidian. This works reasonably well but it is far from auto-converting a bunch of notebooks.

Syncing Desktop and Mobile

I did not want to pay for the service. I started to look into setting up syncing to some of the free cloud drives I had. In the end this all seemed more trouble then it was worth for me. Different things were supported. GVFS has a weird abstraction layer I did not know how to deal with. Or we have to sign up as a developer to get an API key. I don't need this stuff on the cloud. I tried using rcloud on Linux which is quite useful if cloud syncing is your need it might be worth a look. I just need that to get the data to me devices and I finally found syncthing.

Syncthing

Syncthing has binaries for both desktop and mobile. You setup which folders you want to sync and you share them. It all reportedly happens only over the local network. So no cloud is involved. I don't even run it all the time. I only run it when I want to do a sync. This is good with me. YMMV. It is a bit odd of an interface but it works. When I make changes to the folder if syncthing is running it will auto-trasfer the changes and keep the sources up to date. Note that bi-directional syncing is a bit scary and fraught with issues. If I try it out be careful to try not to edit the same notes in both UI at the same time.

Note that there are two binaries for syncthing on Linux. There is a server like binary which must be running, and there is a separate UI to setup the connection and syncing. Its also a bit quirky. I have it setup to only work on a specific SSID of mylocal WiFi network on Mobile. But when I start it up, even when I am on that SSID it says it doesnt match. I havent figured that out yet. I play with the toggles and close and reopen the app and it goes away. Sometimes I have to pause folder and re-enable it to start it back up. I am not really sure why it says "idle".

IIRC syncthing setup

  • Install mobile app (but share no folders)
  • Install desktop app
  • Add Remote Device> Add Remote Device > Add my mobile phone.
  • Desktop > Folders> Add Folder > choose folder & settings > Sharing (Tab)> Check Mobile > Save.
  • Back on Mobile you must go into notifications and ACCEPT the invite.

There is no need to reverse the share. At least with my settings chosen. Bi-directional seems to be working very well and I do not believe I setup anything explicitly.

Warpinator

If you don't want formal syncing setup and just want an occasional manual copy, perhaps check out warpinator and warpinator on github .

Generating a Website from Markdown Files

After I go this solution going I realized that I also had this website started using markdown files and a static site generator. But it wasn't all that easy like I wanted. I began to wonder if I could use obsidian and an static site generator (SSG) to come up with a new workflow. An SSG in this case is an automated way to turn the markdown into HTML and CSS to become a website for hosting. Static loosely just means it is just text files and the server loads it. So we turn the markdown into HTML and upload it to a hosting provider for serving as webpage.

After some searching I decided to try a new static site generator called Quartz which was originally been designed to work from obsidian vaults. I wrote about my experience trying out Quartz and adjusting my workflow here: Quartz SSG with Obsidian. It's not perfect, but it works quite well for an easier SSG if I am willing to accept the default view. Though, it requires setting up a development environment even if it is minimal and that creates some complexity by itself. If you want something really simple try WebPage Html Export Plugin for Obsidian or perhaps Digital Garden

There are a ton of other SSG shown here: https://jamstack.org/generators/