
Ask HN: What do you want from a note-taking app? - fabiospampinato
I couldn&#x27;t find a note-taking app that ticked all the boxes I&#x27;m interested in, so I built my own [1].<p>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.<p>I&#x27;d be interested in knowing how a way more technical than average crowd approaches note-taking, so:<p>What apps do you use?<p>What features do you need?<p>[1] https:&#x2F;&#x2F;github.com&#x2F;fabiospampinato&#x2F;notable
======
pax
\- 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](https://notes.pinboard.in/u:pax/notes/d77078d915cf59841bb3)

~~~
fabiospampinato
Interesting, thank you!

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

~~~
pax
fixed, thank you

------
ibnishak
\- 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.

------
clartaq
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...](https://products.office.com/en-us/onenote/digital-note-taking-app))
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/](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/](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/](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/](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/](https://racket-lang.org/)), but moved on the [Clojure]([https://clojure.org/](https://clojure.org/)) for server part and [ClojureScript]([https://clojurescript.org/](https://clojurescript.org/)) for the client part, mostly just the Markdown editor. It creates documents that are based on [Markdown]([https://en.wikipedia.org/wiki/Markdown](https://en.wikipedia.org/wiki/Markdown)), but include extensions for [LaTeX]([https://www.latex-project.org/](https://www.latex-project.org/)), syntax highlighting, [YAML]([https://yaml.org/](https://yaml.org/)) front-matter, and, of course [Wikilinks]([https://en.wikipedia.org/wiki/Help:Link](https://en.wikipedia.org/wiki/Help:Link)).
    
    
       It exports to Markdown files that can be included directly in my blog.
    
       It has almost all of the features I want, and it is relatively easy for me to add new things as needed.
    

* I always keep an inexpensive [sketchbook]([https://www.strathmoreartist.com/visual-journals/visual-jour...](https://www.strathmoreartist.com/visual-journals/visual-journal-watercolor-140-lb.html)) with me for drawing, painting (watercolor, tempera, and acrylics only) as well as note-taking.
    
    
       Scanning or transcribing notes into my wiki was a PITA, but...
    

* I have recently started using a [Rocketbook]([https://getrocketbook.com/](https://getrocketbook.com/)). I use it for detailed drawings at my desk. But for things that are in my sketchbook, I can place the smaller pages from the sketchbook onto a page in the Rocketbook and scan them. They are then sent off to my email account. There are settings to cause the handwritten notes to be transcribed and placed in the email, allowing easy transfer into the wiki.
    
    
       That's usually all I need.
    

* For web clipping, I use the browser extensions from [Joplin]([https://joplin.cozic.net/](https://joplin.cozic.net/)) or [DEVONthink]([https://www.devontechnologies.com/products/devonthink/overvi...](https://www.devontechnologies.com/products/devonthink/overview.html)).

* For extremely long-form writing (beyond a blog post or note), I usually start with my wiki, splitting the significant parts into different documents. While collecting research, I use DEVONthink and [Scrivener]([https://www.literatureandlatte.com/scrivener/overview](https://www.literatureandlatte.com/scrivener/overview)). Finally, I put it all together in Scrivener.

 __* The Future __*

* I enjoy expanding my wiki, both in content and in function. I want to add sophisticated tagging, something like in [Trilium]([https://github.com/zadam/trilium](https://github.com/zadam/trilium)).

* I think [OPML]([https://en.wikipedia.org/wiki/OPML](https://en.wikipedia.org/wiki/OPML)) is the perfect format for writing a daily journal among other things.

* Of course, there is a never-ending list of smaller things to add.

~~~
fabiospampinato
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.

~~~
clartaq
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.

~~~
fabiospampinato
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.

