Ten years ago, the internet was flooded with so called note-taking apps, from Microsoft’s Notes and Google’s Keep, over Evernote, all the way down to open source software like Standard Notes and even my own project Paperwork. Within the last few years however it seems like all of these apps became basically irrelevant thanks to one silent killer.
When I first started working on Paperwork back in 2014, my main motivation was to have an open source, self-hosted version of what was the defacto standard of note-taking apps back at the time: Evernote. I was an avid Evernote user up until 2013, when Edward Snowden disclosed how the US government was basically spying on everyone using readily available data from tech companies – who appeared to be more than willing to support the US intelligence services with their operations.
Fast forward to a few years later and the market was flooded with not only commercial, but also open source note-taking apps: Joplin, Standard Notes, CryptPad, Turtl, Notesnook, Cryptee, you-name-it. While everyone was scrambling to implement advanced features like handwriting and OCR, search, sharing, etc., one company in particular turned around and swam the opposite direction.
Instead of sticking to only notes and glueing features onto them, Notion decided to take a different approach and make notes one of many entity types – with an entity basically consisting of a template and individual blocks, which in turn can be pretty much anything, from plain text, over bookmarks, pictures and videos, up to embedded content from other entities or even external websites.
Notion is an all-in-one workspace that combines elements of note-taking apps, project management tools, databases, and wikis into a single platform. At its core, Notion is a blank canvas where you can create and customize your digital workspace to fit your unique needs.
While Notion is a highly versatile and powerful tool, it’s not without its criticisms and limitations. Notion is yet again another Silicon Valley tech company, that does who-knows-what with the data users upload to their proprietary service. Since it is primarily a cloud-based platform, you need an internet connection to access your data. While they have introduced offline access, it’s still limited compared to fully offline tools.
Data portability is another issue. Exporting data from Notion can be limited, making it difficult to migrate to other platforms if needed. With Notion, you’re very much locking-in yourself into a proprietary service that might arbitrarily block you from accessing your own data or even shut down eventually.
Ideally, Notion would be an offline-first, open source service that everyone could host on their own (if they’d wish to do so) and that would encrypt all the content uploaded, so that even if server data was accessed by third parties, it would be of little use to them.
What if I told you, that what we’re looking for exists?
The Open Source Alternative to Notion
I stumbled upon Anytype a long time ago when I received an invite to their preview. Anytype, which calls itself the everything app, is an open-source, offline-first, peer-to-peer, end-to-end encrypted alternative to Notion, with apps for Linux, Mac, Windows, Android and iOS. It can either be used as hosted service – meaning, the apps use Anytype’s official backup nodes for synchronization purposes – or it can be fully self-hosted.
Like Notion, Anytype offers various entity types and hence can be used as e.g. a daily journal, a knowledge base, a trip planner, a recipe book, a habit tracker, a day planner, a todo list, and of course a digital notebook – with plenty more types and features to come over the next one and a half years.
If you’ve used Notion before, you’ll feel familiar with Anytype right off the
bat. Signing up doesn’t request you to enter any personal details nor contact
information – neither a phone number nor an e-mail address required. Instead,
you’ll receive a 12-word mnemonic phrase similar to the seed phrases known from
crypto ledgers, which grants access to your data. Once signed up, this mnemonic
phrase can be used on every other client to log in.
As soon as your account was set up you’ll be greeted with a set of demo content that you can play around with and eventually delete.
With Anytype being a young project there are still some issues to be expected here and there, yet the overall experience is already decent, especially on mobile devices. I’ve been actively using Anytype for nearly a month now, for all sorts of shopping lists, recipes, daily journal entries, day plans, and notes, and I’m extremely satisfied with it. Data sync across multiple devices – I tested it on all of my phones, as well as on my computers – is quick and flawless and I haven’t encountered any inconsistencies or even data loss so far. Sometimes one client might fail to display an uploaded picture, which however seems to only happen when the media object in question wasn’t yet fully synchronized.
Heads-up: Anytype does not yet support sharing. If you’re currently using Notion to collaborate on pages with other people, you cannot switch to Anytype just yet. Also, if you are allergic to analytics data, too, but cannot block these requests yourself (using DNS/firewalling), you might want to wait until next year.
Speaking about data, Anytype does allow you to export your data. Right now only the desktop apps support this feature, which is hidden in the menu under Anytype -> Space Settings -> Integrations -> Export Space. You can either export your data as plain Markdown files or Anytype’s own Any-Block format, which is ideal for re-importing the data into a different space.
The Markdown export can include files and archived objects and will contain of all data except columns, text color styling and unfortunately any attributes you might have added.
If you want to get a full export of your Anytype data, you will have to make due with the Any-Block export (as JSON) and find (or build) a dedicated conversion tool, that extracts everything you need and formats it into your desired target format. From what I saw in the JSON files that Anytypes generates, though, it should be feasible to write a Pandoc extension that can read the Any-Block JSON format and transform it into any of the supported output formats.
The data import is also possible, even from formats other than Markdown and Any-Block. I did not test importing data, however, so I cannot tell how well the import, especially from Notion, will perform. Considering that Anytype does not yet support all types that Notion supports, I’d expect a few glitches here and there.
What I’m personally missing is a CLI or even TUI client that would allow me to sync, browse and edit on the command line. Especially with the Linux client seemingly being non-functional on Gentoo, I would enjoy having a more lightweight alternative to the Electron-based desktop client. However, since the heart of Anytype is written in Go, I might eventually end up extending my collection of command line clients and write a TUI for it.
What I would also love to see is an easier way to self-host. Right now, self-hosting requires compiling the apps with the custom back-end info, which isn’t something I feel like doing for every new app update. I really hope for the Anytype Team to introduce a way to configure this info in-app, so that the official apps can be used with a self-hosted back-end. I would also love to see the Android app being made available through F-Droid.
I will continue using Anytype for non-critical data over the next months just to see how it evolves and whether especially the self-hosting and sharing features will receive significant improvements over time. I would love to see Anytype’s SaaS product biting off a good piece of Notion’s customer base while still allowing the more tech-knowledgeable users to run their own nodes without too much pain.
All in all I can recommend checking out Anytype, although I would still refrain from using it with critical data unless the smoke around its self-hosting future has lifted.