# BBE W1: Personal Notetaking Desiderata Walkthrough

# Personal Notetaking Desiderata Walkthrough

([Build a Better Exobrain](https://www.lesswrong.com/posts/4PYERRrRjgFMmBNkF/build-a-better-exobrain-week-0-overview) Week 1, Project 1)

A key step I took in becoming a better notetaker was listing out what I was looking for. That's what I'm going to try to walk readers through today. So take out your current favorite bullet-point software, and let's get started.

### Brief Explanation of Desiderata

For people who haven't run into the term before, **desiderata** (singular desideratum) translates pretty literally to "something desired." It usually comes up in a mathematical context\*, where desiderata are typically presented as a list of propositions feeding into a search for the system that best satisfies them.

A good solution or system would keep as many of these propositions true as it can.

(Possibly with different weightings; the truth of some propositions may be more important than others.)

As a simplified illustrative example, take [this SMBC comic on theodicy](https://www.smbc-comics.com/?id=2292). A theologian is searching for a system that satisfies 3 propositions regarding God:

* God is Omnipotent
* God is Omniscient
* God is Omnibenevolent

These propositions would be his desiderata.

The recognition that you might not find a single system that completely satisfies all desiderata (see again, [the SMBC comic](https://www.smbc-comics.com/?id=2292)) is inherent in the framing. It's part of why you might call something "desiderata" instead of "requirements."

# Prompts

Here are some optional prompts, as a starting point.

## What Situations are you Trying to Solve?

If it's mostly for tracking due-dates, maybe pick a calendar.

If it's memorization, consider a flashcard system.

If it's for taking sequential notes on a lot of reading, consider an annotator.

Would you benefit from being able to reference other notes in a non-hierarchical fashion? Or is a strict tree more than good enough? Are you going to sort by topical tags? Do you need a search bar for words?

etc.

## What Type of Note Taking?

### Software

If this question stumps you, you might want to check out the partner post's description of [categories of notetaking software](https://www.lesswrong.com/posts/8eXgAEq9fogYBfx4k/bbe-w1-hmcm-and-notetaking-systems).

Some categories:

* [File System](https://en.wikipedia.org/wiki/Directory_(computing))
* [Outliner](https://en.wikipedia.org/wiki/Outliner)
* [Timeline](https://en.wikipedia.org/wiki/Timeline)
    * Gantt Chart (& other multi-threaded)
* [Calendar](https://en.wikipedia.org/wiki/Calendaring_software)
* [Tags](https://en.wikipedia.org/wiki/Tag_(metadata))
* [MindMap](https://en.wikipedia.org/wiki/Mind_map)
* [Wiki](https://en.wikipedia.org/wiki/Wiki)
    * Personal wiki
* [Flashcards](https://en.wikipedia.org/wiki/Flashcard)
* [Annotator](https://en.wikipedia.org/wiki/Annotation)

Level of standardization?

* Templates?
    * Built into the software, or personalized?
* What specialized features would you like?
* What formats does it need to accept?

Length of Input?

### Physical

If you're open to it being purely offline, you might also want to consider a physical notetaker. 

Physical notetakers can be:

* Paper
    * Blank
    * Lined
    * Grid
    * Drawing
* Folder
    * Color
* Notebooks
    * Small
    * Large
* Binder
* Index Cards
* Day Planner

...possibly with pencils, pens, colors, or labels. Day planners held a special place in my heart for a long time, and I still use notebooks for sketching and quick thoughts.

If you would benefit from applying a standardized format, you might be able to print instances of it out.

## How Much Time Up Front? How Much Upkeep?

Here's where you think though how much up-front time and maintenance time you're willing to put into this.

You might want to reference XKCD's [Is It Worth The Time](https://xkcd.com/1205/) chart.

If you'll be doing long-form notes and are willing to put in a bit of time up-front, I recommend learning **[GitHub-Flavored Markdown](https://github.github.com/gfm/)**. For more about why, read "An Advertisement for Markdown."

## How Important is Retrievability?

There's an important batch of related questions:

* How Important is Retrievability?
* What platforms will I access the software from?
* Offline Access?
* Sharing, Privacy, Security?

If it's a calendar? Keeping old information might not be all that important.

If it's math or programming notes that you're likely to reference forever? Don't lock it up in a weird format, on a site owned by a start-up that might go under in the next year.

Do you want to be able to share it? Conversely, do you want to keep it extremely private from others?

Password managers are basically flashcards with fancy encryption, but I sure wouldn't keep my passwords on a flashcard site.

## My Personal Notetaking Desiderata

There were my personal notetaking desiderata:

* Markdown (required)
    * Markdown import (required)
* LaTeX equations inline (required)
* Offline access (required)
* One of...
    * Easy to Transfer
    * Definitely won't be discontinued
* Wiki
    * Links Notes to Notes
* Multi-platform
    * I want to be able to access and edit it from multiple computers
* Frequent Cloud Saving (or similar)
    * Good recovery (I can't count the number of times I've overwritten notes)
* Quickly opens large text files
    * Some of my old journal files are comically huge
* Searchable (bonus)
* Templating (bonus)
* Smart handling of merge conflicts (bonus)
* Can draw in it (bonus)
* Vim shortcuts (bonus)
* Regex replace (bonus)

# Search for It

Now comes trying to find notetaking software that actually fulfills some of your desiderata.

How I got through this was finding some wonderful Wikipedia comparison charts out there that made this pretty easy. Note that they can be pretty out-of-date, though.

Wikipedia has a [Comparison of Note-Taking Software](https://en.wikipedia.org/wiki/Comparison_of_note-taking_software) chart that seems quite extensive.

There are also a number of sub-charts covering more specific categories, such as [Wikipedia's Comparison of Wiki Software](https://en.wikipedia.org/wiki/Comparison_of_wiki_software) (meta, much?).

If you know a close fit that doesn't quite work, you can look for Reddit or Quora threads about alternatives.

Remember: If you came up with a long list, you don't have to satisfy literally every desiderata. Perhaps it's okay if some are left uncovered.

If need be, you can split up the requirements and find 2 systems. I'd try not to do more than 3; it can be a lot of upkeep.

Once you have it narrowed down to a few, try them out. You might also want to read "How do you Want to Handle Misc?" After a few days, make a pros and cons list.

## [Tiddlywiki](https://tiddlywiki.com/) Pros and Cons

### Pros

* Markdown import (required)
* LaTeX equations inline (required)
* Wiki
    * Extremely easy to link notes
* Searchable
* Loads quickly
* Easy to download and transfer
    * The whole thing is an html file
* Multiple files can be open at once
* CloudSave (in combination with GoogleDocs and [tiddlydrive](https://chrome.google.com/webstore/detail/tiddly-drive/oaphhjhbbabdjnpjpiliepphpmnioolo?hl=en))
* Not a Dying Baby Start-Up
    * Not going to stop being supported
    * Html files will run regardless of support
* Can draw in it (a little)
* Programmable for Super-Users
    * Great utility functions (ex: list-links, transclude)
    * Powerful list filters (ex: tags, edited last week, contains code....)
    * Cool plug-ins
    * Can write own templates and macros
    * Pre-existing macros exposed to editing or copying

### Cons

* Peculiar Markdown syntax
    * So very, very weird...
    * I'm good at regex. I wouldn't use it if I weren't; I'd be too worried about export issues.
* Hard Learning Curve
    * Not quite enough documentation
        * GoogleGroup and exposed macros help somewhat
    * Some annoying macro quirks
* Can't safely edit in 2 windows at once
    * Can edit 2 notes at once within same window
* Somewhat mangles multi-line code in imported markdown files
    * Particularly annoying since the formatting of the code box is exactly the same as its TW5Markdown baseline

## Close Miss

[Roam](https://roamresearch.com/) is good software that lies somewhere in-between an outliner and a wiki. When I tried it a year ago, it didn't quite fit my needs (slow-loading, no offline, LaTeX handling is worse, a little too tree-like, chance it stops being supported). But it does offer what might be a gentler learning-curve than Tiddlywiki, and has definitely been a great fit for some people I know.

If you liked [Workflowy](https://workflowy.com/) and want to try something a bit fancier, [Roam](https://roamresearch.com/) is a good choice.

For people who like [Roam](https://roamresearch.com/) and are curious to try [Tiddlywiki](https://tiddlywiki.com/), there is a Tiddlywiki with some added Roam-like features named [Stroll](https://giffmex.org/experiments/stroll.experiment.html).

(If you try Stroll, I'd be curious to hear about your experience. I've considered trying it, but am using [basic Tiddlywiki](https://tiddlywiki.com/) at present.)

# Miscellaneous

## An Advertisement for Markdown

If you want to use some minimal formatting (italics, bold, links), and you expect to take online notes a lot, I heartily recommend learning **[GitHub-Flavored Markdown](https://github.github.com/gfm/)** (GFM).

First, it's not that hard to pick up. Second, there are a lot of markdown-compatible systems out there, leaving your exporting options wide open. It's still readable as plaintext, though. Many editors provide formatting previews, so you don't have to look at pure plaintext all the time. If you grow to want fancier formatting, many Markdown editors let you insert html formatting directly into the editor to modify your text.

Markdown makes it pretty easy to see and avoid formatting mistakes. If I'm copying from something formatted in a confusing way, and for some reason don't want to just Ctrl-Shift-V ("paste without formatting"), seeing it in markdown can be pretty clarifying.

If you're a less-frequent note-taker than me, you might want to pick something with less up-front learning. But you probably still want good export options, and markdown is the next best thing to pure plaintext for export.

If you want to go even further down the more-typing, less-clicking, "programmer laziness" rabbit hole: Vim-shortcuts for text editors, and regex search functionality, are wonderful things to have if you can get them. I readily admit that I write most of my structure-heavy notes in an IDE, before pasting them into anything else.

## How do you Want to Handle Misc?

You're going to have miscellaneous notes sometimes. Despite our best intentions, it just happens.

Do you want to feel subtly encouraged to delete them, keep them, or integrate them?

Would you rather hide them from yourself, get them in your face with reminders, or somewhere in-between? Do you want to choose to set those reminders for yourself, or for them to be automatic?

This probably won't give you an easy checklist item, but it's something to keep in mind during your first look at the software. Make an uncategorized data-point to serve as a test-subject on that first day with the software. See what you feel compelled to do with it.

Similarly, test out export capabilities *early* so you don't have a pile of regrets later.

# Footnotes

\* The fact that I use the term desiderata outside of a mathematical context has struck some people as pretty weird. I find it useful, so I keep on doing it.

\*\* I prioritize LaTeX highly both because my pre-existing math notes already use LaTeX within Markdown\*\*\*, and because my ability to retain math improved meaningfully after I started using LaTeX to write down and render equations. (Seriously! I recommend trying it, if you haven't.)

\*\*\* Side-note: A pet peeve of mine is notetaking software where you have to dedicate an *entire line* to every LaTeX equation. In addition to finding this restriction annoying, such software usually mangles any math notes I try to import. Notion and Roam have both been guilty of this, and it was a big part of what ejected me from both of them.


# Today's Challenge

## Write up your own notetaking desiderata

And if your current solution doesn't satisfy it well, search for something that does!

If you think some abstract commentary on types of notetaking software would help you get started, go ahead and read the [accompanying post](https://www.lesswrong.com/posts/8eXgAEq9fogYBfx4k/bbe-w1-hmcm-and-notetaking-systems).