On Notekeeping Applications

I am on a mission to find a programmer-friendly notes application

Synopsis

I keep a lot of notes, be they TODO lists, general scratch pads, or snippets of code. I’m almost a note hoarder, with notes from like 5 or 6 years ago that will likely never again be useful, but you never know. For the past 3 years, my go-to notes application has been Quiver, but the limitations are starting to bother me.

Update: see the November update section for an update on Quiver!


Quiver

The overview of Quiver, pulled from the homepage:

Quiver is a notebook built for programmers. It lets you easily mix text, code, Markdown and LaTeX within one note, edit code with an awesome code editor, live preview Markdown and LaTeX, and find any note instantly via the full-text search.

All of that is true! That’s honestly my favorite part of the application: the mixing of different types of content is great. No more jamming a bunch of code into markdown like so:

```ruby

def initialize; end

```

Don’t get me wrong, the MD code block is way better than nothing, but an actual code editing block is really the way to go; the syntax highlighting on them is much more accurate than Markdown, I’ve found.

Organizationally, Quiver offers several different ways to keep your notes in order: tags, notebooks, and folders within notebooks. Quiver supports linking to notes in markdown, like so: [SWFW Notes](quiver-note-url/7505EE09-676E-4BFE-A633-FD2D9806B33D). This makes it convienent to reference other notes within notes, or to assemble larger plans out of smaller TODO lists.

Screenshots

A few screenshots of Quiver (and some of my notes too I guess).

Before I start bitching about the downsides of Quiver, let me list the things that I love about it:

  • The code blocks are very easy to work with, and look good too
  • There is an integrated markdown preview ability, something that is apparently hard to find in other editors for some reason
  • Quiver can export everything into a plain json package, which means your data is portable
  • As described, the UI helps me keep my notes organized
  • The macos client can sync via iCloud, which is handy to keep my notes my macbooks in sync
  • Can export a note (or even a notebook!) to HTML, PDF, PNG, JSON, etc.

Now for my list of gripes, in no particular order:

  • There is a mobile Quiver app for iOS, but it can’t sync via iCloud: only via webdav or Dropbox. I fuckin' hate Dropbox.
    • The mobile app is also readonly. On the iPhone that’s fine, but I’d really love to have edit access to my notes on my iPad
  • There is no AppleScript support
    • Yeah, I know, who uses applescript anymore? This is only a gripe because I thought “well if I can’t sync Quiver, maybe I can write some applescript to copy notes tagged with sync into the Apple Notes.app”1
  • No note encryption, but I only vaguely care about that because it seems like it is interesting in Bear (more on Bear later)
  • It seems like development has stalled; there is a github repo for issue tracking, and it’s been pretty radio silent from the dev lately. Updated!
  • Likewise his twitter account

Regarding the radio silence: I get that real life happens and sometimes people get distracted and can’t work on pet projects. However, Quiver isn’t free (I think I paid like 10 or 15 bucks in the Apple app store for it), and at least letting us know if development is dead or stalled would be much appreciated. The developer has posted an update to his github tracker to let us know he is working on things.

So, onto the alternatives that I have tried!


Bear

The current markdown editor/note keeping darling seems to be Bear. From their website:

Write beautifully on iPhone, iPad, and Mac: Bear is a beautiful, flexible writing app for crafting notes and prose.

Bear is under active development and has responsive developers, and there are quite a lot of fans of Bear, but they don’t generally seem to be programmers who need advanced code snippet capabilities.

I’m not including screenshots because there are some on the Bear website or on reddit, and I’m frankly already burned out on taking screenshots.

Upsides:

  • Active development with responsive devs who post to reddit, and probably other, less shitty forums
  • Cross platform (Apple only, though, so iOS, iPadOS, MacOS) syncing of notes via their own service (in other words, not iCloud)
  • Per note encryption; might not be terribly useful, but for notes that have api tokens in them that could be nice

Downsides:

  • No integrated markdown preview; they suggest you download “Marked” to view markdown (which is itself a separate purchase)
  • A subscription model, though it isn’t unreasonably priced; if I were satisfied with the product I would happily pay for the subscription
  • The code editing is all done in just markdown
  • The syncing service is run by them; I actually would prefer iCloud for this sort of application

I don’t hate Bear, but it… just isn’t Quiver. Switching to a new notes app will take some adjusting for me, and the lack of a preview capability is a complete dealbreaker that makes it not worth attempting yet. I get that “you’re supposed to know what the markdown renders as just by looking at it” (an actual quote from a stockholm syndromed Bear user when someone complained about the lack of preview), but I still want to be able to see a preview in the application.

If Bear could preview notes, I would probably end up switching to it; I can go back to writing code in normal markdown ``` blocks, I’ve done it for most of my career anyway.


Evernote

Just ugh. The slack/chrome/name your ponderous memory hog application of choice of note taking. Get the fuck outta here.

I used to use Evernote at work just by virtue of the fact you had to in order to run Skitch; I kept some work notes around in it, but I’ve long since stopped using Skitch and happily deleted Evernote as well.


Notes.app

Built into every MacOS or iOS device, native iCloud syncing. Everyone who uses an iPhone is probably familiar with notes.app.

There are some big honkin' downsides though:

  • It’s not a markdown editor
  • Want code editing with syntax highlighting? Fuck you, you get monospaced fonts and no highlighting and random capitalization depending on how the editor feels at that moment

As you can probably tell, I do use notes.app for some notes, generally more ephemeral things like TODO lists for the day or keeping track of what brands of laundry detergent or toothpaste the family likes (no seriously, I have a “brands” note with pictures of the packaging).


Honorable non-mentions

I’ve tried pretty much every single app in the app store that says “notes” or “markdown” in the description: Agenda, Ulysses, etc. None of them came close to Quiver. I’m sure many people find them very useful, but for programming notes and code snippets they do not come close to what I am looking for.


Conclusion

I’ll probably have stick with Quiver for a longer, despite it’s frustrating downsides and increasingly frustrating developer silence.

That said, I’d be more than happy to hear suggestions, and will definitely keep looking for a replacement on and off.


Update - 11/26/2019

The Quiver developer has posted a ticket on Github that he is using to keep track of progress he is making, due to the people who are vocal about wanting to know what is happening. So maybe development isn’t stalled, in which case even if I don’t get scripting support right away, as least I know he is still improving Quiver.


  1. An astute reader might think to themselves “if the data is so exportable, why hasn’t he just written some shitty ruby script to parse a note and import that into notes.app rather than relying on Applescript?” Well, the data IS exportable, but I would have to learn the format and that really smacks of more work than I’d prefer to do. I might indeed try it at some point, but for now I don’t feel inclined to. ↩︎