This is a quick review of Bear Writer, a popular note-taking application that I tried out a few weeks ago. A much larger and more detailed post about my overall quest for a note-taking solution (I have very picky, perhaps contradictory requirements) is forthcoming!

The good

Bear is a beautiful set of applications. Attractive without being ostentatious or getting in the way, pretty quick/slick to use, desktop and mobile apps clearly resemble each other, etc.

It uses the relatively common “show raw Markdown text, styled accordingly” (e.g. text within asterisks still shows the asterisks, but is also bolded) approach which works quite well most of the time – with most exceptions being endemic to the approach itself and not Bear’s implementation.

Checklist support is better than in some similar apps, including good keyboard shortcuts, an attractive strike-thru of checked list items, and optional ‘folding’/hiding; though see the next section for a bunch of pitfalls with this feature area.

Organization is effected through tags (including nesting via forward-slashes in the tag names) and it feels simple yet powerful. Attention to detail is clear; for example, creating a new note while filtering by a given tag automatically tags the new note with that tag. Navigation of the tag tree is clean on both platforms. You can even specify custom favicon-type icons for tags (aka “TagCons”). Finally, it has a built-in archival system which is handy.

Sync is courtesy of CloudKit, a lower level variant on iCloud file sync. As far as I can tell this means users get at-rest encryption “for free”, and the Bear devs do not retain ability to decrypt (even though the sync seems tied to their application account in some fashion; see below).

While data appears stored in a database by default, there’s easy backup/export which becomes a pile-o-text-files. This doesn’t quite hit my personal use case (more below) but it’s still much better than e.g. Apple’s Notes.app, which has no backups and no real per-note export besides PDF. There’s also plentiful support for copying data into the clipboard as a whole raft of possible formats, which is awesome to see.

All in all, it’s clear why the app has become popular (it comes up every time I mention this problem domain on Twitter, for example)!

The less good

These will all sound like “minor complaints” until you are reminded that, hey: the point of this sort of app is to store all your frickin’ notes and I, at least, take a lot of frickin’ notes. Even arguably minor amounts of friction can add up extremely quickly when you’re hitting them day in and day out.

The biggest turn-off was just that the editor itself has various irritants:

  • Manipulating tag text is extremely clunky; I managed to both delete tags I was intending to edit the contents of, and fail to delete tags I was intending to delete. Navigating around the contents of the tag field itself is also fraught with peril.
    • It seems to boil down to uncertainty about when to treat tags as discrete units vs regular character-by-character text.
  • I use bulleted list and checkboxes extremely heavily and both fall down relatively quickly in Bear:
    • Cmd-left-arrow to go to “start of line” goes to the TRUE start of the line, even on indented bullet items; Notes.app does this much better, bringing the cursor to the immediate right of the bullet. This got annoying real fast.
    • I prefer dashes for bullets, which in Bear is shorthand for making checkboxes. Probably something I’d get used to eventually, but still not ideal for me personally.
    • Mixed checkbox and regular bullets (esp at mixed nesting levels, e.g. top few levels are checkboxes, then the leaves are non-checkbox list-items) doesn’t work well; it involves a lot of finicky backspacing and re-tabbing each time you go from one to the other. Unfortunately, this is an incredibly common pattern for me!
    • Moving list items around via copy/paste frequently either loses the bullets/checkboxes or doubles them up.
    • Parent checkboxes do not ‘inherit’ the aggregate state of their children. I get why this is the case (on multiple levels), but it’s something I got real used to in “full” outliners as well as vimwiki and it’s hard to go back to not having it.
    • The ‘folding’ of completed items is neat in principle but it doesn’t account for nesting/indenting, which quickly leads to very strange looking data when indented sub-items are visible but their parent is not!
    • Text bullet lists show the bullet ‘dedented’ from the normal margin; this is a common stylistic trait of Web design but it’s a lot more confusing for interactive text, especially when mixed into non-checklist text, or when having multi-paragraph list items (yes, that’s a thing). It becomes difficult-to-impossible to tell checklist text apart from between-some-lists paragraph text.
  • There are some truly-minor irritants in the “text is both raw and styled” display scheme, such as how monospaced text always looks surrounded by backticks (for those of us who use backtick-heavy syntaxes like ReStructured Text, this is not an academic complaint!) or how text/with/slashes is incidentally partly italicized (eg the with would be in italics there).
  • Spelling correction appears enabled by default and I literally could not figure out how to turn it off. It’s not enabled at the operating system level.

On top of those, which again were a showstopper in aggregate, are other random concerns:

  • Tags always appear as lowercase in the sidebar, even if they’re written out with capitalization in-note. E.g. acronyms or proper nouns end up looking odd in all-lowercase.
  • It doesn’t appear possible to search by “outer tags” without duplicating them
    • for example if I want a Travel “folder” with a Japan “subfolder” containing yet another subfolder called “2019”, I can do this by tagging as #Travel/Japan/2019. However, I cannot then view all ‘Japan’ notes (or all Travel notes, etc) without adding another explicit Japan tag. That said, this is a totally understandable “missing feature” in my book, nor is it a core use case for me personally.
  • Notes backup/export as text files, but their native format is a SQLite (or similar) DB. I understand why this is, but it still means I cannot easily restore individual notes from e.g. a Time Machine backup, which (after some recent fun with Notes.app) is now one of my core use cases. There’s probably some way to work around this by setting up a periodic automatic backup, but that’s work I didn’t have time to put in.
  • I found a lot of worrisome notes online about sync problems with Bear and it’s not clear how many of those concerns have been fixed (though it seems at least some, if not most, are in the past).
    • One definite problem I ran into was having to manually open the mobile app to force a sync (meaning that if I forgot to explicitly do this before entering an offline context, I’m hosed on any recent desktop updates). IIRC Notes.app is capable of updating in the background, tho I won’t swear to it.
  • More worrisome is how sync is tied to paying for the app (both generally, as a feature flag, and specifically, as the data appears stored in a developer/app specific “bucket” on iCloud’s end despite being encrypted with user-level keys).
    • I don’t mind paying, but what happens to my ability to use this app if the company becomes defunct in, say, 5 years? A “regular” app where you pay once and it independently uses your iCloud creds to sync would avoid that scenario; here, I feel held captive.

E_TOOMANYWORDS

This got longer than I anticipated! Hopefully it’s useful-ish feedback to the Bear devs if nothing else. I salute their good work and if they succeed in rebuilding the editor components (as I’m hearing) and/or have good answers to my other issues, it’s possible I’ll revisit Bear again in the future.

And stay tuned for a related followup post about Jeff’s Note Taking Needs which may put more of the above in a greater context!