The Bear notes app has been my go-to notes app for Mac, iPhone, and iPad for some time now. It’s got a great UX, a customisable UI, and is one of those apps that feels like a (clichéd) “delight” to use.
Some of my gripes with Bear (and CloudKit in general)
Bear is written exclusively for Apple devices, and uses CloudKit to sync notes between devices via iCloud. In theory, this isn’t too much of a problem. However, I’ve recently found CloudKit-reliant apps to become a little unreliable.
Frequently, I’d start a quick note on my phone and the changes wouldn’t come through to my Mac in any reasonable time for me to continue writing. I don’t know if this is a limitation with CloudKit or a factor with the Bear app itself, but I find that many apps built on CloudKit tend to not display any kind of progress bar or confirmation that things have been successfully synced.
Also, despite things being “securely stored in my iCloud account”, there seems to be no way to actually view the notes themselves. As with all CloudKit apps, they take up space in iCloud, but without any meaningful way to manage this storage.
iCloud preferences list it as an app using iCloud, but that’s pretty much the limit, as far as I can see.
I’m sure this level of opacity is designed to make things easier for the user (and probably safer!), but I personally find that it makes it hard for me to reliably organise it alongside the rest of my digital life.
Furthermore, in Bear, notes are categorised by tags rather than into a folder-like hierarchy. Similar to the Gmail approach to using labels instead of traditional IMAP-style folders, this allows notes to sit in multiple tag “folders” at once. As such, I can imagine it is tricky for the Bear developers to represent this sensibly in a tree. Indeed, when exporting Bear notes, they are exported as a single flat directory of files.
This is different to other Notes apps I’ve used in the past, such as Obsidian and SimpleNote, which are perfectly happy to directly use the filesystem as a data store. However, I do understand where syncing this with iOS could pose difficulties.
This approach facilitates app “lock-in”, since I can only ever use Bear (and its “Pro” plan at that) in order to continue to sync and edit the notes, since exporting them loses the “folder” hierarchy.
Despite all this, Bear is certainly a great app, and I have no problems recommending it to Apple product users. I just had a feeling that a different solution might work better for me.
Why I prefer Joplin
Joplin is an open-source note taking app available on a number of platforms.
It’s not quite as slick as Bear, but Joplin is still quick and easy to use and it maintains notes in a sensible hierarchy (divided into “notebooks”), whilst also supporting tagging. It is also much more configurable, with lots of app styles, plugins, and more. Exporting Joplin notes using the app also maintains the folder structure.
Joplin supports a number of sync targets, such as Nextcloud, WebDav, and S3. It also supports Joplin Server - a self-hosted server option. This is what I use and I’ve noted my setup. I access and sync my notes securely via Tailscale and back them up to Backblaze B2.
The Joplin app also features a sync progress and success indicator for that extra peace of mind 😀.
Both Bear and Joplin are great note-taking experiences, but I feel safer with Joplin and it meets my current needs more.