When I worked as a consultant, I loved OneNote on the Windows 7 machine I had to use. When moving to Windows 10 OneNote had become a version mess between the free and paid one… and then work allowed me to move to another operating system. Needless to say non-Windows versions of OneNote are not as feature rich nor usable as the one I was used to.

I’ve spent some time looking up for solutions that were secure (according to my threat model), interoperable, sustainable and user friendly. I also need the solution to work well on GNOME, macOS, and iOS. I’ve covered Nextcloud, Joplin, Logseq and Obsidian. Here is why I decided to settle on Obsidian.

This write-up is very subjective! Depending on your threat model and your UI/UX preferences you may disagree strongly with my conclusions.

Nextcloud + 1Writer

I have been self-hosting a Nextcloud instance for a few years now. Nextcloud is not perfect because it tries to do too much, but it does the basics reasonably well. In particular, it works fine for my family and me when it comes to syncing files and contacts.

Nextcloud has a Rich Text Editor app, which is nothing other than a (collaborative!) markdown text editor. Using it allows me to set-up a very manual note taking environment: I can organise my notes in folders, and then create markdown files with the Rich Text Editor.

Nextcloud also exposes WebDAV endpoints, which allows me to sync files with other devices, including my iPhone. There are several apps to edit markdown on iPhone, but 1Writer ticks many boxes! It’s a basic and sturdy markdown editor with WebDAV support, it’s a paid app (which I consider to be a good thing, more in a further blog post), and it’s intuitive to use.

My experience with 1Writer has been pretty good, though it only supports basic markdown syntax. It’s not possible to create links between files, it doesn’t support metadata: it’s literally just a markdown editor.

A screenshot of the 1Writer app on iOS.

My experience with Nextcloud’s Rich Text Editor hasn’t been that great on the other hand. The app tries to be a WYSIWYG editor that relies on markdown behind the scenes, which makes it particularly complicated to copy and paste markdown on it. The grammar check was stuck to another language and didn’t switch to English, and it wasn’t possible to configure it. Ultimately the experience felt very unpolished and left me with the impression that I had to fight against the machine to get things done. This is a shame because otherwise the UI looks quite appealing!

A screenshot of the Rich Text Editor app on Nextcloud

A downside in this setup is that the documents are not End-to-End Encrypted. This is only minor because at least they never leave devices I own. The added value of E2EE here would have been to make the documents undecipherable if my Nextcloud server was breached.

Eventually this solution ended up being too basic and too clunky to use for me.

CriteriaResult
SecurityAs secure as my Nextcloud deployment. Files never leave my infrastructure, but if Nextcloud was breached then all files would leak.
Project SustainabilityNextcloud seems to be reasonably sustainable, with large customers in the public sector. 1Writer is a paid app.
Notes SustainabilityThis is simple markdown and folders. It will always be possible to find tools that work well with it.
User ExperienceNextcloud’s Rich Text Editor feels unpolished and has too many rough edges for me to use it regularly.

Joplin

To put it simply: Joplin is an excellent note taking app, and I nearly got back to using it a few years after a first try. It has nearly everything I need: it has a desktop and a mobile app, it’s End-to-End Encrypted, it’s Open Source, the notes are written in markdown but it supports embeds and linking notes with one another, it’s even possible to rely on Nextcloud to synchronise notes!

So… what’s the catch? It has a strong “engineer-driven design” vibe. The UI on desktop is honestly more than decent. The onboarding is well done by making you dive directly into how Joplin works. The aesthetics could be improved but are nice enough.

My two major gripes are the desktop column width, and the mobile app. On desktop it’s possible to display the markdown editing mode (the “source” of the note), but it’s going to take the whole screen width which is very uncomfortable to read and write.

A screenshot of Joplin on desktop

The mobile app is an absolute turn-off for me as an iOS user. It genuinely looks like an Android running on iOS, and is very jarring. It doesn’t support the back gesture, dark mode, and generally feels very alien which makes it distracting to use. I frequently dump thoughts when in bed, which makes this Joplin app not a good fit for me.

A screenshot of Joplin on mobile

Unfortunately those two issues are not that trivial to fix. The first one about column width requires proper design because it has a lot of edge cases (e.g. when you insert code, or when you insert tables). The second about the mobile app requires… well, both design and implementation. Note that I don’t necessarily need an app using Swift UI and all the iOS design patterns: I think Discord is a good example of opinionated design that doesn’t follow the OS guidelines but works well both on iOS and Android.

I sincerely wish Joplin worked for me because it’s a great project, and I’m aligned with the philosophy of that solution. Maybe later, if the project gets the traction and funding it deserves!

EDIT: I was told on Mastodon that Joplin supports a max width setting on desktop. I gave it a go, and the experience already looks much better with it on desktop! The iOS app is still a show-stopper for me, but the desktop app is pretty great.

A screenshot of Joplin on desktop with a maximum column width

CriteriaResult
SecuritySupports End-to-End Encryption, and allows synchronisation via Nextcloud
Project SustainabilitySeveral sponsors, donors, and a Joplin Cloud offering
Notes SustainabilityIt’s possible to export notes as markdown, and even notebooks as folders of markdown notes.
User ExperienceGenerally good on desktop. The iOS app is not pleasant to use at all.

Logseq

With logseq we enter in the “second brain apps” territory. I find the logseq website to be quite consistent with the app itself: it both tells a lot of things at once, all while not really guiding the prospective user much. It takes some trial and error to get where you want to, and even once you’re there things could be made more clear.

A screenshot of Logseq's website

I couldn’t find “Docs” or “Onboarding” sections easily, so I ended up clicking on “Community Hub”. This turns out to be the documentation I was looking for. In the “Getting Started” section, there is both:

  • A “How to get started in Logseq” section with a 18 minutes and 25 minutes long video.
  • An “Onboarding” article with a 70 minutes long video video to learn the fundamentals.

The documentation suggests I need to spend at least one hour on the onboarding of the tool so I can use it properly… which is definitely a lot.

The first impression Logseq gives is that it’s both a very opinionated tool, leaning heavily towards what it calls networked thinking, and very flexible (unfortunately in the “you’re on your own” sense). It seems to rely a lot on indented lists to match concepts together, which I personally find confusing to look at and that doesn’t match my mental model when writing. It has a variety of concepts you need to learn before using the tools, such as blocks and flashcards. The purpose of the latter is still not entirely clear to me. The tool is certainly powerful but learning curve is extremely steep.

Browsing the documentation teaches me that logseq expects that 99% of the information should first be entered on the Journals page, which is a page logseq creates for you everyday.

A screenshot of the landing page of the Logseq page

This steep learning curve is a show-stopper for me for two major reasons:

  1. I want my notes and tools to be “stupid simple”. Tools don’t last forever, and I would like to be able to migrate my data should I find a tool that better suits my needs
  2. My use case is pretty simple: I want to take notes, link them together, potentially query things together. I’m more looking for a distraction-free writing experience that allows me to link a few concepts together. I want the tool to receive the data I need, but the indexing still happens in my brain. I simply don’t trust myself to architecture my notes well enough so I can query them without having indexed them in my brain.

To its credit, Logseq seems to be as powerful and advanced as it’s overwhelming. The interface is very decent although I’m not too much of a fan of it. It could likely be themed, but this is very much against my philosophy (which I will explain in a further blog post too). Unfortunately I’m not the audience Logseq builds for… and that’s okay! I wish the project the success it deserves (and seems to have!) with its audience.

CriteriaResult
SecurityLogseq can only be synced via the (proprietary) Logseq Sync solution, which is E2EE.
Project SustainabilityLogseq has developped a (proprietary, paid) sync service called Logseq Sync.
Notes SustainabilityLogseq allows exporting notes in various formats, including markdown, JSON, EDN and OPML.
User ExperienceThe learning curve is extremely steep, the tool is opinionated and I have a different opinion than its creators. I found it difficult to get started with it.

Obsidian

Obsidian is one of the most hyped apps of this selection, and I couldn’t understand why. It’s just a markdown editor with a nice design, with a few features a bit more advanced than regular markdown like linking between pages internally with the [[Wiki Link Syntax]], and that supports plugins, right?

Right. And that’s the point. Past the vault setup, things are stupid simple, and obvious in Obsidian. By default I can create folders and notes in markdown format, embed files, and that’s pretty much it. The onboarding is immediate, I know what to do and how to get started instantaneously.

A screenshot of Obsidian on desktop

Obsidian is also opinionated: it has a strong visual identity, it’s decluttered, it’s extensible, and the team behind it believes in simplicity and sturdiness .The app doesn’t expect you to know much when you start, yet it’s powerful.

I really like the iOS apps, which doesn’t use the iOS native UI elements, but it just works. It’s simple in appearance, but that’s only because it hides some complexity. The visual editor works well, is pleasant to use and feels polished. The app feels sturdy and reliable. I would even go as far as saying that it feels like brutalist architecture: it has a minimalist look, and a simple and sturdy format that it exposes to the face of the user who asks for it. It hides complexity when needed, but not its interworking… which is quite counter-intuitive for an app that is not open source!

A screenshot of Obsidian on iOS

Obsidian has a commercial offering for the synchronisation of files between devices that is End-to-End Encrypted. It can’t be self-hosted, but several plugins allow users to use third parties for the sync. I plan to write an article to cover the main ones and why I decided to go with their commercial offering.

CriteriaResult
SecurityThe app and sync service are proprietary, but the sync is E2EE.
Project SustainabilityObsidian is funded via its Sync service that costs $8/month.
Notes SustainabilityObsidian already stores the notes in plain markdown!
User ExperienceThe onboarding is easy, the data model is simple even for non-developers, the app and its philosophy are clear and aligned with my principles.

Next up

At the end of the day, Obsidian is the solution that works best for me because it’s simple to use, sturdy, polished and interoperable. Now I have a solution that works for me, I’m going to use it to collect and organise thoughts, primarily in the form of blog posts.

It’s certainly going to be a lot of trial and error: the solution is basic but flexible. There is no “right” way to use it, but plenty of ways to achieve various things. Some principles are dear to me, like the interoperability and the sturdiness of the solution. Despite having a sturdy base, it’s possible to mess those up with plugins.

I already have a few blog posts in the pipe!