I’ve been getting the feeling lately, though, that something in between is needed.
There’s been a lot of activity and interest of late in the field of digital note-taking. What might have once seemed like a pretty simple, straightforward category has become more sophisticated, in the process even aspiring to the sobriquets of Personal Knowledge Management Systems, commonplace books, and Zettelkasten. And there seem to be new words written every day comparing the various applications in this arena, singing the praises of one of them or the other, or describing various ways in which these increasingly powerful tools can be used.
And so now there are fairly lengthy, detailed feature comparisons out there – such as this one from The Sweet Setup – providing guidance so that users can decide which of these apps might be the best fit for their needs.
Notenik does not yet get a mention in any of these articles – even though I think it compares well with many of them – so I thought it might be useful for me to offer a somewhat detailed list of Notenik features – structured so as to make for an easy comparison with other, similar apps – and publish this as another living document in the Notenik family.
And so I present this guide to Notenik’s features – with more detail than the website or a quick intro, but without all the how-to info in the Knowledge Base.
– Herb Bowie, developer
Table of Contents
- 1. Supported Platforms
- 2. Synchronization
- 3. Plain Text
- 4. Folders and Collections
- 5. Use of Markdown
- 6. Wiki-Style Links
- 7. Metadata
- 8. Tags
- 9. A Personal Content Management System
- 10. Field Labels and Types
- 11. User Interface
- 12. Connections Between Notes
- 13. Blocks Within Notes
- 14. Search
- 15. Programming Code
- 16. Daily Notes
- 17. Tasks
- 18. Custom URL Schemes
- 19. Integration via AppleScript
- 20. Customizing Appearance and Functionality
- 21. Templates
- 22. Import and Export
- 23. Publish and Share
- 24. Accessibility
- 25. Cost
- 26. Development and Support Model
- 27. Bottom Line
- 28. Feedback
1. Supported Platforms
Notenik is, rather unapologetically, a Mac App. It is available only on macOS. So if your primary note-taking device is something other than a Mac, then Notenik will not be for you.
(Although I will point out that the Mac has been undergoing quite a resurgence lately, so if you were ever thinking about switching, most observers agree that now might be a good time.)
Notenik does not offer any special synchronization mechanism. But see the next section for more info.
3. Plain Text
Notenik stores all of its data in plain text files that can be easily copied, synchronized, viewed and edited using a wide variety of computing platforms, services and applications. Use of plain text files maximizes the portability and longevity and usefulness of your data, and ensures that your valuable information will never be stranded in some misbegotten proprietary format.
What’s more, Notenik makes it easy to edit any note using your favorite text editor, providing a special menu command to open the current note in an external editor.
4. Folders and Collections
Unlike some systems, Notenik does not expect or require you to keep all of your notes in a singular location, sometimes referred to as a vault.
With Notenik, a folder full of Notes is referred to as a Collection, and you can have as many of these as you like, and store them wherever you would like.
5. Use of Markdown
Notenik makes use of Markdown, which is an easy-to-learn and easy-to-use plain-text format for styling your notes. Notenik actually makes three different open-source Markdown parsers available for use, including its own.
All three Markdown parsers support the standard Markdown syntax, as formulated by author John Gruber. In addition, Notenik’s own parser supports a growing number of popular extensions, including tables, fenced code blocks, footnotes, Heading IDs, definition lists, task lists, citations and math support via MathJax.
The niceties of Markdown syntax are sometimes controversial. In general, I’ve tried to write the Notenik parser so as to conform to the most common and popular interpretations and implementations, to minimize any potential problems with usage of other tools for interpreting and formatting your writings.
6. Wiki-Style Links
Notenik supports wiki links. In other words, within the text of one note, you can type something like
[[another note]] and then, once you view the formatted text, you will see a clickable link that will take you to the other note.
When typing a wikilink, Notenik does not offer auto-completion of the target Note’s title, but does offer easy keyboard access to a Note Selector that allows you to first select another Note’s title by typing a few letters contained within, and then pasting that title (optionally formatted as a wikilink, with enclosing double brackets) back into the body of the Note you are editing.
The ability to smartly handle metadata (that is, data about a note, in addition to the note text itself) is a distinguishing feature of most advanced note-taking systems these days.
Somewhat unfortunately, perhaps, the ways in which this sort of data is specified can vary quite a bit from one implementation to another.
In general, though, metadata is specified at the top of a note file, via a series of name-value pairs, as in the following example:
Title: Notenik Wins Again! Date: 15 Mar 2022 Author: Herb Bowie Tags: unbiased, well-written And yes, this is another completely unbiased piece about Notenik, written with scrupulous honesty by its own author.
Given this starting point, though, there are a couple of significant variations.
The first is MultiMarkdown Metadata, which has been around quite a while.
Then, of more recent popularity, there is YAML frontmatter.
And, if left to its own devices, Notenik will use yet a different variation on this same theme.
Notenik, however, will do its best to recognize, honor and respect any of these three slightly different systems.
The bottom line here is that you can enter metadata to your heart’s content and, if you already have text files containing some sort of metadata as described above, there is a good chance Notenik will work just fine with your existing text files and metadata formats.
One of the most popular pieces of metadata applied to notes consists of tags, which are just a series of short labels applied in any way that suits your own personal organizational needs.
Notenik recognizes Tags as its own field type, and allows multiple tags per Note, as well as nested tags. And the primary Collection window always offers an outline view showing all of the Notes in the Collection organized under their respective tags.
Some users like to prefix their tags with a hash mark, as is the common style when using hashtags in social media. Notenik doesn’t require these special characters, but it does recognize and preserve them, when found.
9. A Personal Content Management System
This seems as good a time as any to make a small confession. I have a lot of history working with database systems, and also with web content management systems, such as Drupal. So when I originally started writing Notenik, several things seemed very natural to me:
Thinking of a Note as an object, or an entity, or a row in a table, or a record.
Thinking of every value associated with a Note as having its own field name (aka label, or column heading).
Having different types of fields available, each with its own intended usage and functionality.
Different Collections of Notes each having their own sets of associated field names and types.
And so, in some ways, Notenik is as much a small, text-based, personal database application (akin to the early versions of FileMaker) as it is anything else.
Keeping this lineage in mind may help you understand some of the thinking behind Notenik, and some of its potential uses, as you continue with your exploration of the product.
10. Field Labels and Types
In Notenik, each Collection of Notes contains a template file. By customizing this file – either through the Notenik Collection Preferences, or via your favorite text editor – you can control the sorts of fields expected to be contained in a Collection: by modifying the list of expected field labels, as well as the expected type for each field.
Different field types present different sorts of editing widgets and varying kinds of displays, and also have different sets of functionality associated with them.
To a large extent you can mix and match these different field types to achieve your particular purpose for a Collection.
Notenik currently recognizes thirty-seven distinct field types.
Among the most common are:
- Title - The Title of the Note
- AKA - Also Known As, to provide an alias for wiki links
- Body - The Note text itself
- Date - A due date, or a publication date, as examples
- Recurs - A recurs rule for repeating a dated note
- Status - Draft, Published, Canceled, etc.
- Seq - An arbitrary sequence number, or priority level
- Level - The intended indention level for a note within a sequenced Collection
- Link - A link to a website, or to a local file or app
- Tags - Custom labels implementing any sort of categorization scheme
- Timestamp - A unique identifier that won’t change if a Note is renamed
11. User Interface
Notenik has a very traditional user interface. If you have been using a Mac for any length of time, then it will probably seem quite straightforward to you. Unlike a lot of modern apps these days, it does not try to look like a Web app, or like something you might see on a phone or a tablet. It has menus and windows and toolbars and tabs and buttons and keyboard shortcuts, and all of these are nicely labeled and in plain sight (unless you choose to hide them).
The main window for a Collection is split into two sides.
The left side shows the complete set of Notes in the Collection.
The right side shows the single, currently selected Note.
The left side has two tabs.
The first tab on the left shows you a simple list of the Notes in your Collection.
The second tab on the left shows you an outline view, with your Notes grouped into the tags that have been assigned to them.
The right side also has two tabs.
The first tab on the right displays the selected Note, with field labels and values, and with the note itself nicely styled according to its Markdown formatting.
The second tab on the right allows you to edit all of the fields for the selected Note.
You can use either of the tabs on the left to select a particular Note to be displayed (and optionally edited) on the right.
12. Connections Between Notes
If you use Wiki-Style Links extensively, then over time you may wish to see a summary view of what links to what, and what is linked to from what.
Notenik provides these views via a couple of special fields.
The first field is called Wiki Links, and it provides a summarized list of all the forward links found within the body of each Note.
The second field is called Back Links, and it provides a summarized list of all the other Notes that link to the Note being viewed.
If you choose Back Links for a Collection, then the Wiki Links field will also be enabled.
Both of these fields, when present, are automatically maintained for you by Notenik.
You can include these fields on any Collection that you like, but they are not present by default.
Some comparable apps present this information via a graph, or a graphic view where lines represent connections, and dots represent connected notes. Notenik does not offer such a view.
13. Blocks Within Notes
Some other apps in this space offer the ability to subdivide a note into component blocks, and then embed or reference a particular block within one Note from another Note.
One problem with doing something like this using plain text files is that there is no general convention within the greater Markdown community for identifying blocks, or for referencing them. Such mechanisms can be invented, but as soon as you begin to apply them, you start to lose one of the advantages of plain text in the first place: namely, the ability to take your text files with you and use them, as-is, with any one of a wide variety of other tools.
Notenik takes a different approach. It does not offer blocks within Notes. Instead, the user is encouraged to create smaller notes, and then embed or reference those, as you would any other Note.
At the same time, Notenik offers a number of different ways to pull a series of Notes together in order to display them beneath the heading of a parent Note. In many cases, this offers some of the same benefits attributed to blocks.
For more info, see the following info within the Knowledge Base:
- the Include command;
- the Seq field;
- the Level field;
- the Streamlined Reading option;
- the Include Children field.
Notenik offers both a simple search and an advanced search, which allows you to select which fields should be included in the search.
In both cases – simple and advanced – one Note is shown at a time, allowing you to advance to the next matching Note whenever you are ready. Occurrences of the search term or phrase are highlighted in each note’s display.
Notenik does not offer complex queries.
15. Programming Code
Notenik is written in Swift, and the User Interface (UI) code is written using AppKit. Swift is a relatively new language introduced by Apple, and there is every reason to think it will be well supported for the foreseeable future. AppKit is the established set of UI controls for use on the Mac and, again, there is every reason to think that they will remain stable and available well into the future.
Executable code for Notenik is readily available through the Mac App Store.
All of these factors reduce the risk that the Notenik software will someday become inoperable, unavailable, unmaintained or corrupted.
16. Daily Notes
Notenik has a Quick Action window that allows you to select a Collection, enter a Title, and enter a Body, and then hit OK to add a new Note to a Collection.
If you enter
today in the Title field on the Quick Action window, then that word will be replaced by today’s date, in
Another approach to maintaining a set of daily notes would be to add a separate Date field to your Collection. Notenik then allows you to sort your entries by Date, and provides an easy-to-use widget to set your date to today, or to adjust it to a specific date in the past or the future.
Notenik supports the creation of a list of tasks within a Note, using the common Markdown extension for Task Lists.
More functionality is available, however, if each task is represented by a separate Note. You can then use a Date field to track a due date, or a completion date, and can use a Status field to track each task’s status, and a Seq field, if you like, to track a task’s priority.
You can also sort such a Task list by Date or by Priority, with completed tasks falling to the bottom of the list.
18. Custom URL Schemes
Notenik has its own custom URL scheme, meaning that you can type a URL starting with
notenik://, followed by a valid Notenik command, and then, by following that link from another application, can get Notenik to do something for you: open a Collection, open a particular Note, add a new Note, etc.
Notenik also provides menu commands to easily generate custom URLs linking to selected Notes within a Notenik Collection.
Notenik also has a special Link field, and you can use that to fire off custom URLs for other apps – or, for Notenik itself, for that matter.
19. Integration via AppleScript
Although Notenik is not scriptable via AppleScript in the classic sense, it does implement a number of custom AppleScript commands designed to support integration with other apps – most notably, Hook. Hook integration scripts for Notenik are now available to Hook users via their official channels.
20. Customizing Appearance and Functionality
On the other hand, the look and feel of the app can be tailored somewhat via Application and Collection Preferences and Display preferences, and the functionality for a Collection can be modified through the inclusion of one or more of a variety of special field types.
Both light and dark modes are supported.
If you’re interested, you can also write and supply your own custom CSS to change the appearance of your Notes on the Display tab.
Notenik offers two levels of templating.
At the Collection level, a special file named
template.txt contains an overall template to be applied to every Note in that Collection. The Collection template file defines the field labels and types that will be available for the Collection, as well as allowing customization of values and formatting for some field types. This file is ordinarily updated through the Collection Preferences window, but details can be tweaked directly using your preferred text editor.
A second level of templating can be added by including the
Class field for a Collection. You can then create a separate template file for each different Class of Note within a Collection. These Class template files define the particular fields to be used for that Class of Note, and can also supply any boilerplate content you wish to include for any of the fields.
22. Import and Export
If you already have a folder full of text files using Markdown, then you can just drag that folder and drop it onto the Notenik app icon, and the odds are very good that Notenik will simply open the folder and its files and show you your data. Your existing text files will remain in whatever format they started in, and you can typically continue to access that same folder of Notes from any of a variety of other text-based tools.
There are also special import functions for comma- or tab-delimited files, OPML and XML.
You can also export your data from Notenik into any of the following formats:
- Text files using YAML frontmatter
- Concatenated HTML
- Concatenated Markdown
- Web Book / Website
23. Publish and Share
Notenik offers many different ways to format and share a single Note, or an entire Collection.
In general, you can choose to keep your content in Markdown, or convert it to HTML (the language used by Web browsers to display pages).
You can also choose a single Note, or just the Body of a Note.
You can also format an entire Collection to be shared as a single, large document, or as a folder full of connected web pages.
For the greatest degree of customization, you can use built-in templating and scripting languages to create entire websites, including complex index pages.
Because Notenik uses a standard Mac User Interface, and because the programming code uses Apple’s own language and APIs, Notenik is “completely accessible” to visually impaired users, using the VoiceOver screen reader (as reported to the author by such a user).
Notenik is completely free. There is no up-front or in-app purchase ever required or requested.
Additionally, there is no advertising, and there is no harvesting or collection or sale of user data.
26. Development and Support Model
I’m a solo programmer who is developing Notenik for fun, as a hobby, and for my own use.
Users with questions, comments or suggestions can email me directly and (so far, at least), I generally respond within a day or two.
About half of the improvements to the app start with my own ideas, while the other half begin with input from an existing or prospective user.
The Mac-native version of Notenik had its first release a little over two years ago, and on average I’ve been releasing a new version, with some significant improvements, every couple of weeks. My intent is to maintain this sort of pace into the foreseeable future.
As mentioned earlier, Notenik is open-source and the code is freely available for others to view and improve upon.
27. Bottom Line
Notenik is admittedly not for everyone, and it is not intended to be.
There are lots of good reasons to choose one of the other apps that share this note-taking space.
On the other hand, I’ve received lots of positive feedback about Notenik, and so I think others might wish to give it fair consideration before choosing an app for their own use.
If you have any ideas for further improving Notenik – or my description here of its capabilities – then I’d love to hear from you! Feel free to send me an email at support @ notenik.app and I’ll get back to you as quickly as I can!