My perfect Notes app
I’ve been using Notes.app for a while. It is really nice and works really well, but at some point I’ve gotten to a point that I need some extra features.
I’ve been going back and forth with these topic in the past few years but quickly got frustrated with not finding a right solution for me. This time I’ve decided to, at least, write down what are my requirements.
I have different aspects of my ideas and projects spread across different apps (Notes, Todoist, etc) something I’m not really happy with because there is always a friction to find where I put something. And even with the current structure there are things that are not easy to do, like structuring a complex series of related notes.
Here are some features that my ideal notes app should have.
Requirements:
- Notes
- Markdown
- Outliner
- Task manager
- Tags
- Organisation and Search
- Link between notes
- Plain text storage
- Web Clip
- More than text
- Writing experience
- Nice Mac and iOS applications with sync
- Affordable
First and foremost it should be a note taking application. I don’t want a todo app that allows to have notes in the tasks. My mind works in the opposite direction, tasks come from notes.
This is because when I’m writing notes for some projects, some of those things need actions, those are the tasks emerging from the notes. Even when a project has many tasks, the important thing are still the notes that I keep about it.
I want a place to dump my ideas, illusions and dreams. Something that can keep them safe for longer that my brain, and that helps me visualise them and work on them.
Markdown
I write everything in Markdown and so it has to have native support for it. I want my text with fancy formatting but I’m not gonna use a proprietary styling system from UI like we were in the 00s with Microsoft Word.
The markdown flavour can be a little different but it should follow other standard markdown flavours as much as possible.
Ideally the Markdown is styled and rendered as it’s written but keeping and easily editable interface to it.
It should also have UI and shortcuts to common Markdown formats, with Touch Bar support as bonus.
Outliner
Notes are likely to end-up with big text but they usually start with a couple of lines and bullet points. Support for make dumping of ideas frictionless ties directly into support for basic outlines functionalities.
Seeing the Markdown headings in an automatically generated index would be nice to facilitate the navigation and see a high level view but is just a start.
Ideally the text would be augmented allowing to manipulate and restructure with a simple drag and drop of the headings or bullet points.
Task manager
In many occasions my notes have a direct relation with a bigger project and thus they involve some tasks. I want the same application to have task manager functionality.
It doesn’t have to be a full fledged task system, mainly defining tasks, marking them as done and being able to move them around with drag and drop.
It would be super nice if it supported more advanced task manager features like due dates, repeat intervals, etc. But I’m not sure there is anything like this out there.
Tags
A folder system is nice and is something that anybody is used to. But it has obvious limitations that are brought from the physical world and that are not required in a digital system.
I need an organisation system based on tags so I can have the same notes in multiple places. It is important to me because usually I start taking notes for a project and eventually I want to make a blog post or a video out of it.
Tags are flexible enough but typical folders have the nice thing that they can be nested, and there is nothing stoping tags to behave the same way. The nice thing about this is that it would allow a UI to display tags and nesting in a similar way how folders are usually displayed.
Organisation and Search
Even with a small amount of notes having search is crucial. Being able to search in a note but also being able to search across the entire system. Being able to filter and refine the search is nice but not necessary.
Searches should be able to be saved, specially because they should allow to do boolean operations with search queries and tags. That would allow me to create views into groups of notes.
All these organisation tools (tags, nesting, notes, searches) should be visible and distinguishable in a nice way. For example I should be able to collapse and expand nested tags. It would be nice if you could assign different icons (or emojis) to different tags to have a visual aide when they grow.
The organisation system should be manipulable with easy drag and drop. I like to be able to just write tags in a note and organise them in that way, but that is nice when you’re focused on writing. When I’m looking and managing my notes I want to be able to drag a note into a tag and have that organisational change just happen.
Link between notes
One thing that my current system lacks is an easy way to link notes between them. This is not necessary for simple note taking, but it becomes a necessity with bigger projects that gather much more information and that have different notes describing different things.
This is something that writers or PhD students often require and rely on some wiki system. Even if I don’t have such big necessities I still need a basic linked system for some of my projects.
Plain text storage
I want an application that has all these features, but all the content in it is mine, it comes out from my mind, and so it should belong to me, now and in ten years.
Realistically the only way to avoid lock-in and degradation is if all the content is stored in plain text and with a simple directory hierarchy so it can be read and manipulated from other current and future programs.
As a software developer I know that some of the features would require more than simple plain text documents, and in those occasions open standard formats should be used.
As much as possible this App should just be a nice interface for standard, open and simple documents.
Read more about why plaintext is important in The Plain Text Project andIntroduction | Plaintext Productivity.
Something that I really find useful, and that is only possible if the app is based in plain text storage, is to be able to access from the app notes that are spread across deferent parts of the file system, as opposed to having the notes in a centralised location. Don’t get me wrong, is nice to have everything in a single place, it makes the system easy to understand. But sometimes I keep notes or tasks in the project folders, specially when is about software and I want to commit the notes or TODOs in the repo. It would also allow me to have my blog posts (that are written in markdown in my web folder) in my notes app.
Web Clip
Text is nice to write notes but a lot of ideas and information comes from the web, and I don’t just write things myself but also want to keep around what others have written.
The application should have a nice web clipper extension for Safari (and other browsers of course) and for the iOS share sheet. It should allow me to snapshot the contents of a webpage so I can keep it for posterity.
It should also have functionality to just store a link with summary of the page and to be able to extract an article (without any of the clutter the web has these days) to store the valuable information.
More than text
The main thing that it needs to support is text (in Markdown), but in many occasions text is not enough.
It obviously needs to support image embedding, but other types of attachments should be supported, even if they’re not rendered. I don’t often use my notes to store documents, but in some occasions is really useful to keep everything together.
In some occasions having some structure is also important, so simple table support and minimal alignment rules would be nice. It would be amazing if spreadsheets could be integrated but I would admit that’s probably better suited for a dedicated tool.
Writing experience
Even if I’m requesting for this app to have so many features and different characteristics, the truth is that the main things is gonna be used for is writing.
This means that it needs to have a nice, clutter-free writing experience. Something that allows me to focus on the writing without friction or being bothered by anything else.
A couple of small features that help with this are: a typewriter mode that keeps the current line where the cursor is always in the middle of the screen so your eyes are focus on the centre of the screen and don’t have to jump up and down; and a focus mode that turns down the opacity of all the paragraphs except the one you’re working on.
It should also have a least a day and night theme. A dark color palette is important when you’re writing a lot or taking notes at night.
Nice Mac and iOS applications with sync
The application needs to be really nice app, with good UX and UI. Something that is a must in such an important piece of software. It also needs to be a good OS citizen, supporting extensions, Touch Bar or any other nice integration.
Even if I write most of my notes in a Mac, I consult many of them on iOS and sometimes I even write ideas while I’m outside. So I need native applications for both iOS and Mac and support for full sync between them.
I wouldn’t mind having an option to consult the notes from a website, but it seems to directly go against other points so it’s not a priority.
Affordable
I would absolutely pay for an application like this, even a subscription. For something that I would use everyday and would solve all these problems I would be happy to contribute to the continuous development and support of such a product.
But being honest, in reality it should be affordable. The issue is that any real solution out there is likely to not fulfil all my requirements, so the more it costs the more it will make obvious the missing features.