Ask HN: What do you want from a note-taking app?

2 points by fabiospampinato ↗ HN
I couldn't find a note-taking app that ticked all the boxes I'm interested in, so I built my own [1].

What this project thought me is that the process of note-taking is incredibly personal, and consequently there are way more note-taking apps available than I imagined.

I'd be interested in knowing how a way more technical than average crowd approaches note-taking, so:

What apps do you use?

What features do you need?

[1] https://github.com/fabiospampinato/notable

8 comments

[ 2.8 ms ] story [ 45.2 ms ] thread
I'm surprised by how often questions like this come up, but I always find the responses interesting and educational.

* What I Want *

Non-negotiable items include:

- Low Friction: A little initial setup is ok, but just taking a note should require no more than a click or two (whether clicking a mouse or a pen). - Open source. - Aesthetically Pleasing: I'm tired of looking at ugly stuff. - Has to handle LaTex. - Has to handle syntax highlighted code listings. - Notes are in an easily portable format. - Organization Tools: Some sort of organizational ability. I have thousands of notes that I use and need to refer back to all the time. - Privacy: No sending my personal information to someone else's server.

Negotiable:

- Mobile Friendly: My eyesight isn't good enough to use a phone for note-taking or reading. Tablets are Ok. Desktop is best for me. - Implementation Language: Since I'm looking for an open source solution, I'd like it to be in a language that I like. In my case, Clojure/ClojureScript, Lisp, Scheme (Racket) would be optimal. JavaScript is least desired. - Minimal dependencies: I'd prefer that it not be based on Node, NPM, Electron, Atom, or any other huge ecosystem that would have to be installed on my system. (Java is Ok with me, obviously.) Scriptability: It would be nice if it could help automate my workflow.

* What I Have Tried *

- Long ago (2005) I started a job at which the company provided me with a stylus-based, Windows tablet PC. Included was a copy of [OneNote](https://products.office.com/en-us/onenote/digital-note-takin...) that could do very good, real-time handwriting recognition.

   During work meetings, I typically created the notes as the meeting progressed and projected them on a screen in the meeting room, letting everyone make sure that what they said was understood and that they could see what they had agreed to (tasks, dates, etc.)

   When I left that job, I would have bought one of those tablets if I could have afforded it. Since then, OneNote has morphed into something unusable for me, and I haven't gone back.
* I was a very early adopter of [Evernote](https://evernote.com/) and had a premium membership for a long time. I really missed the ability to do handwriting recognition, but being able to search within images was almost as useful. We would put meeting minutes up on the whiteboard, photograph them at the end and stuff them into Evernote so they could be searched.

   I sadly stopped using it after Evernote also morphed into some unusable mess (Pay more! Get less!) that I couldn't remember how to use on different platforms.
* I used [TiddlyWiki](https://tiddlywiki.com/) for a while. It was quite powerful and easy to use, but it just bogged down unacceptably with a lot of notes.

* [Zim](http://zim-wiki.org/) wiki works well, but it doesn't have all of the features I want these days. And it is so ugly that I just can't bear to use it.

* [WikidPad](http://wikidpad.sourceforge.net/) is nice but also ugly and missing features that I need these days. And I don't use Windows anymore.

* What I Do Now *

I have tried to consciously move away from Google and Microsoft tools and closed-source programs (not always successfully.)

* I finally just wrote a personal wiki of my own. I started it in [Racket](https://racket-lang.org/), but moved on the [Clojure](

Very interesting, thanks for commenting! You touched on the dependencies point:

> Minimal dependencies: I'd prefer that it not be based on Node, NPM, Electron, Atom, or any other huge ecosystem that would have to be installed on my system.

You don't want "bloated" frameworks to be used or you don't want to install NPM/Node/etc. on your system?

I'm asking because my app is based on Electron, but it doesn't require you to install anything in particular in your system to use it.

Yeah, I commented before looking at your app so I wouldn't be influenced by it.

My dislike isn't so much with the final app, but more related to the ability to rebuild an open source project. If I want to make modifications, there is a lot of additional stuff I would have to install. I just don't use node, npm, code mirror, electron, etc. The argument could be made that installing Java and the libraries I need would produce the same kind of clutter, but that hasn't been my experience.

I think it's a matter of differing tastes and I have the luxury to indulge myself.

I do want to thank you for putting your work out there though. It is always interesting to me to see how people approach these projects.

Thanks for the clarification. It makes sense that if you want to perhaps contribute to the project or even just self-building it you'd pick a stack of your preference.
- reasonably lightweight & fast – should stay open all times, ideally out of your way – invoke by keyboard

- text based storage

- markdown or similar, with inline markdown source preview – see Typhora, or ST/Atom/VScode

- hierarchical structure – see Workflowy

- tagging (bonus: hierarchical tags)

- edit locally, or at least back-up locally – in the way that Google Keep doesn’t

- mobile access (or compatible w 3rd parties)

I'm currently using nvALT on the desktop (synced w Dropbox) and Google Keep for quick mobile notes.

Some of the apps I've considered: https://notes.pinboard.in/u:pax/notes/d77078d915cf59841bb3

Interesting, thank you!

PS. I think the link for "Notable" is pointing to the wrong page.

fixed, thank you
- Modularity: I would like it if I could open a folder with the app, and the app will interpret some meta file in the folder to understand settings for that folder. This will ensure that it is scalable. I can open another folder with app in addition to, or by appending to existing folder.

- Interlinking of notes.

- Tagging at least at file level.

- Ability to add yaml metadata to files and search the metadata fields of multiple files/all files in current folder.

- Ability to set a default notebook/folder and create quick notes in that folder.

- Ability to extend via plugins written in a major language.