Over the years I've used various apps to capture notes as I code, troubleshoot, prepare for moving to a new home, or plan a party. I continually have this dream that I'll some day find the perfect note-taking app that will satisfy all my needs in the multitude of scenarios in which I take notes... but to date that hasn't happened.
What I'm Looking For
- Structured organization (notebooks, nesting, tags)
- Outline-based note taking
- Code highlighting
- Markdown-capable (or similar)
- Tables (preferably visually edited)
- Diagrams (either markup-driven or with a diagram editor)
- Basic spreadsheet/calculation features
- Code evaluation
- Image attach & insert
- Open source is a bonus
- In-page table of contents
- In-page and cross-page linking
What I've Used
I used EverNote years ago. It was decent. It was also the only real game in town in my cross-platform existence. It barely checks a couple of my requirements above. So, once other apps started joining the party, I left EverNote in the dust, and I've only taken a peek every year or so to confirm it hasn't changed that much.
I used Workflowy back when it first launched, and for about a year after. I even used it at work with a team, and it was great. If you really like outline-based notes, it really nails that use case. That's about all it does, though.
I've made very heavy use of OneNote, starting with when it landed on OS X a few years ago. It's fantastic. I love the notebook/tab/group/page organization. It's great for capturing images, editing tables, and will even occasionally do some basic math. I still use it for some things, but it is just terrible for technical notes.
I used Emacs and Org Mode steadily for two years while working on a Linux desktop every day, including its org-babel and a host of other add-ons. It's really incredible. Emacs and I don't get along on Mac for various reasons, so I haven't used Org Mode in the better part of a year. Org Mode is the gold standard in Literate Programming, outline-based notes, and organization in general. If I were writing a note app, I'd take heavy inspiration from Org Mode.
I used Quiver briefly, but it deserves mention because it's very representative of the modern crop of programmer-oriented note taking apps that are catching headlines today. It's really a great little app, and the author is improving it. I'm going to keep my eye on it, but for now it lacks a few too many of the things that are important to me.
An open-source note taking app for programmers. Boostnote has caught my attention because it is elegant, has a nice mix of features, and is getting constant work that's painting a bright, extensible, open-source future for programmer-oriented note taking. This is the note app I'm trying to use now... and so far, it's a pretty pleasant experience. There are a lot of my boxes it doesn't check yet, but there are possibilities on the way as it approaches increased extensibility.
Honorable Mention: Jupyter et al
Jupyter, and projects that try to extend it like Beaker, are in a family of apps trying to solve problems for professionals dealing with large datasets. They are really impressive collections of technology, and solve their target problems well. I just can't help but feel like they are only a couple steps from being the most killer programmer-oriented, literate programming note taking apps in the world.