Looks cool, but as I have been on this knowledge management / productivity journey like everybody. Here are my findings:
If you are reasonably comfortable with computers / Unix.
- You need to first rely on a directory structures, filenames, plaintext, lists and maybe markdown. Stick with a "File over app", Unix approach.
- Try to sort things with universal concepts: locations, things, people, events, metrics, howtos. A bit like the 5Ws approach.
- Leverage good Unix tools: unix commands, make/justfiles, (rip)grep, git, fzf, etc.
- Do not try to solve the problem through the Web. Because you will end up trying to solve web problems instead of basic knowledge management and productivity issues.
- The smartphone/touchscreen is a major problem, but as with the Web do not try to solve it. Use your file manager or even fzf in termux can be adapted to be reasonably usable on a touchscreen.
Something I have been wondering about is the "backlink" feature. It would be cool to link items/notes together through references.
What I would be looking for is a Unix tools that can scan my text files for references to other files in the hierarchy.
I've been experimenting with Flatnotes (https://github.com/Dullage/flatnotes) for a while and really like the design. No notebooks or even folders, just a single directory with markdown files and decent search & tagging. It feels a lot like what happened to email when we gave up all the up-front structuring with deep hierarchies and just said index it and we'll find it when we need to.
The project is just "good enough" for what I need, and aside from tiny bugs whenever I find a gap I can either work around it or live without. Constraints are a powerful motivator for both creativity and getting stuff done.
Tagging is a strictly more powerful tool than hierarchies, at least with same amount tags vs directories/categories, because an item can be tagged using multiple different tags, but can only be in one directory, unless you create duplicates or symlinks or whatever.
I have gone through the whole journey similar to you as well. It is so frustrating to keep searching for that perfect app only to find that every other app lacks something or the other. For the last year or so, I've settled on just plain markdown and the directory structure for hierarchy just like you.
I use my preferred editor (Emacs) to modify the files. I get to use all the functionality like key-bindings, search, version control. I push my notes to my self-hosted Forgejo instance (but it can be Github). Forgejo already has a web-interface the notes and links just work there.
On my laptop, I have mdbook configured to watch the directory and build the notes into static website. So if I just want to go through by notes or read something I can use that as well.
I tried finding solutions to take notes on my phone. But I realised that if its longer than a few lines than I prefer using my laptop anyways. I only ever read my notes on the phone. I've setup the same mdbook behind VPN so I can access it on my phone as well. If I ever want to modify notes on-the-go then I can use the Forgejo web interface as well.
You should check out the HyWiki part of the Emacs Hyperbole hypertext package available from melpa or elpa-devel. It utilizes Org mode for notes and WikiWords to automatically interlink them as you type. The WikiWords work in any kind of text buffer as well, even in programming file comments. It even lets you link to many other kinds of Emacs entities like bookmarks, Org IDs and headings, etc. One command to build a web-based wiki. With a little practice, it might amaze you.
This is exactly the conclusion I came to. I still use Obsidian for a lot of things, but I've developed my own task management software that uses plain text files and fzf for everything: https://codeberg.org/ngp/tsk
It has worked great for me! That being said, sync and mobile usage is still a bit of a sore spot with it. It works beautifully with Termux, but I wish there was some way to slap a basic UI on top of a CLI application for mobile. Tk/Tcl is the closest but there's only options on Android (I'm mostly an iOS user) and even then it's not really ideal. For sync, I at least have a reasonable plan: IMAP4 or git-based sync. The roadmap and tasks for the project are tracked in-repo with itself, so it definitely works.
If you want some windows-forms-esq app development, I highly recommend checking out Flutter Flow. It isn’t exactly cheap, but I’ve used it for some basic personal apps.
I'll leave my imcomplete mind dump below for posterity but I'll make it known that while writing it, I did realise that what I've invented is a text editor.
----------------------------------
I had an idea for a deeply unix-y note taking software a while ago and I've continued to think it would actually work very well.
Notes could either be an sqlite database (nets you compression, performance, easy backups, etc.) or just text files on the filesystem (easy searching, less lock-in, whatever). The "editor" just creates a new temporary file and opens it in `$EDITOR`. You can optionally name it after, otherwise it's named the current date.
Want linking? Use a filesystem-aware editor. Want syntax highlighting? Use an editor with syntax highlighting. Want to sync your notes? Combine it with Syncthing. Want to search your notes? fzf.
Or, you could just fire up Zim Desktop Wiki [1], a local application you can run on any one of the major OS, and be mostly done with it. It gives you bullet 1, 2, 3[2], 4, and backlinks out of the box.
You get 5 if you are willing to compromise. Since it's just all text files in directory trees, you can sync the tree to your mobile phone (e.g with syncthing) and just use any text editor.
After using Bear.app and Things.app for a while, I've moved firmly in the file over app camp. Apps can be enjoyable to use until you don't have access to the app anymore (platform, longevity,...). Now I'm using Emacs with org files, but could just as well use any tools that favors files. Any novel use case I want, I can script it out in a moment, while still enjoying the benefits of viewing my information on most platforms.
> Something I have been wondering about is the "backlink" feature. It would be cool to link items/notes together through references. What I would be looking for is a Unix tools that can scan my text files for references to other files in the hierarchy
The only thing you need is some kind of structure, like the wiki link format or org link format, and you could 'rgrep' the notes directory for a particular link (vim and emacs can put the result in a buffer).
I just use TexStudio. I don't use proper tex files, but it never complains unless I were to try and compile. But their navigation tree and tabbed interface for multiple files makes organizing things really nice.
I can have multiple instances at once, and it's all managed via files and my filesystem.
Eventually I want to build a web frontend to index and reference my data, but for now the above approach is working well.
Unlike Obsidian, TexStudio is open-source, which I consider a plus.
I'm quite happy with Obsidian on Linux, especially due to great plugin ecosystem.
Granted that it would have been great if the clients were open-source; but Obsidian is one of those non-FOSS apps which are so consumer oriented that they get an exception from me.
I sync the files from Obsidian using syncthing to Android & use Markor for editing. But this wouldn't be possible on iOS.
I've been using this for a couple of years on my home-server.
It's an Obsidian knock-off. It's pretty janky and the documentation is lacking. It's open-source which is nice... But the company behind it is ??? I don't know. They are Chinese but I couldn't find much about them.
I use it because I can self-host it, it has most of the features Obsidian has, and I can use it in a web-browser from anywhere - which is the biggest feature for me that Obsidian lacks.
It seems like they borrowed heavily from Notion, Obsidian and RemNote, as far as I can tell (wouldn’t call it a knock-off though, since there are sooo many apps in this space that you don’t really know who came up with what anymore). But the app doesn’t feel janky to me at first glance, it definitely feels more responsive than Notion and less “slippy” than RemNote. Although it is quite noisy with all the tooltips popping up immediately.
My first impression is that they really wanted to include everything (even RemNote-like spaced-repetition flashcards, Notion-like Databases and of course there has to be AI too) and it seems like they did a pretty decent job at that. I also appreciate that there are so many export options, even for Org-Mode (preserving internal links, images, code-blocks, etc.).
I like that it provides a solid, feature-rich alternative to all the cloud-first, closed-source apps in this space. But it may be too distracting/overwhelming for my use-cases with all the advanced layout capabilities and features though. Tana is a similar all-in-one solution that is really well done (and more innovative than this one), but I always seem to gravitate toward more focussed apps.
I assume you want to self host in order to sync locally, right? If that's the case, you can use Obsidian with git plugin and you get sync + versioning (all what git offers).
Logseq is floss(gnu license, closurescript) and almost perfect for me but it's totally mysterious to me what's stopping it from serving a web interface that serves files on the web server. It's an electron app with an HTTP API but for some reason the web demo only opens files clientside with filesystem API
Anyway, one of these days I'll fork it and make it work for me. I also have a perverted desire to change the serialization format from markdown to XML so I can manipulate the graph with other tools that talk xpath, xquery, basex.
They are doing a rewrite of the app to have a SQLite DB storage for notes instead of markdown files. I think once that is released it will be available in a web browser. Currently in alpha testing, I access the application through the browser.
I also installed it on my computer to give it a try, but then as you mentioned I could not find who are behind it other than it's based in China. So decided to just keep with Obsidian
The first profile has a README (zh-CN, easily translated) introducing themselves as a married couple as well as their career trajectory leading to their current company. Googling the company name leads me to https://www.tianyancha.com/company/3153162387 showing the company’s legal structure, the legal names of the couple, their address, etc. (again, zh-CN but easily translated). Looks like I can view their financial reports too if I have a subscription.
The profiles also link to their social media accounts (on their own dev-focused community).
What more is there to know? At least it’s more than the average ShowHN asking for your email and sometimes credit card. I don’t understand these “couldn’t find much about them” claims.
They open sourced it and you can self hosted. I mean, does it even matter where they are from? Why it’s automatically suspicious when you know the authors are Chinese.
for web-browser access I host Obsidian with kasmvnc. It is not ideal for use on the phone, but from a tablet it works, and I can host it with Vivaldi in a webpanel for quick edits.
I keep seeing these note-taking tools pop up again and again. I am heavily invested into Logseq already and the new database version is coming out soon. Unless these tools provide import and export utilities to convert your notes between the most popular applications like Logseq and Obsidian, only new users will use them and people with very few notes who can put in the time to move.
After forcing myself to learn and adapt to some note-taking system, I too didn't find it useful for me yet. But i keep pushing myself through because I still believe that there must be some value that I could take from taking notes. Just I didn't find a system that suits me well...? One thing that i find the real benefit/value from all this learn and adapt is "writing as a way to think" (is it by feynmann?). When doing complicated work, writing really help to ease your cognitive load and help you find the gaps in your line of thought. But, I couldn't find a suitable method when dealing with general/every day note-taking. I still have that "graveyard for thought" problem when writing general notes
What is the benefit of the database version? I like that the backend is in text files. I guess there could be some performance/compression benefits to be had, but given the amount of writing a mortal is likely to do over a lifetime, I am not immediately sold on the idea.
The licensing is kind of strange. Self-hosted syncing is supposedly a paid feature, and there are indeed license checks in the code, but unlike your typical open core product with a separately licensed ee/ directory, this one including license checking code is entirely under AGPL, and FAQ specifically stresses “SiYuan is completely open source”. As such one can patch out the license check (literally a one line change if I’m not mistaken, I only scanned the code) and still completely license-compliant, and one can even distribute binaries of the patched out version, though that would be a major jerk move. So, is that intended? Only selling convenience of prebuilt images?
My company does exactly this intentionally for everything we sell at our extension store. Everything under LGPL, license checks that you could bypass with not much effort.
It allows selling actually free software and can work well if you do this well.
Yeah I know this is a fairly well-trodden model recommended by FSF (okay, maybe I shouldn’t have called it kinda strange). I’m not confident it works out in most cases, though. So I’m wondering if it’s intentional in this case.
You guessed it right, only CONVENIENCE of prebuilt images are sold, but due to Apple's developer account restrictions, it's actually better to use the official version if you don't want to spend $100 to build the ios version.
In addition, there are indeed two better-known, unofficial patches with paid restrictions removed, one is an experimental version by a third-party developer, which is submitted upstream after testing the functionality, at github.com/siyuan-community/siyuan, and the other is a patch that simply removes the paid functionality. It's at github.com/EightDoor/siyuan.
Also, there was actually a pr from a community developer to add digital certificates to ensure that unofficial packaged binaries wouldn't use the official cloud service, since the plugin bazaar uses the official cdn, which is actually not a small amount of traffic cost, but that pr was rejected.
I can also recommend Trilium Notes [1], which I have been happily using for years. It's currently in "maintenance mode", which I personally see as a feature (no risk of bloatware).
Self-hosted, great webapp, optional native clients and works offline.
I’ve been self-hosting it for three months now, and I am happy. I came from Joplin; I lost the offline access, but it’s much more “expressive” and nice, so to speak. I don’t miss any other feature, even in the pro version. Doesn’t depend on other docker containers, I just used authelia for auth, and while it uses its own file format I backup the data volume and it’s possible to export manually in simple markdown. The web UI is responsive for mobile use and yes, I am happy. Fits my case better than the others.
Same here. I am self-hosting it on the web on my VPS instance so I can access it from any device and anywhere in the world. And then, I use a self-hosted S3 instance to sync all my installations on devices, including OSX and Android/iPhone.
Sync has worked wonderfully well.
I felt with the number of features it has, this program simply knocks out Obsidian in comparison. I would say it is more of a Notion equivalent.
I am currently working on a small self-hosted companion for Siyuan that lets users share notes publicly.
My approach to knowledge management has been super simple. Everything is in git, in a big directory structure i've organically grown over time. I have so many notes.. 7 to 8 thousands of them.
Keeping it in git has allowed me flexibility to use it how i see fit. Sometimes i'm in emacs/nevom. Most the time i'm in sublime text because I have workspaces per project/concept.
Finally, for mobile, I push them all to my own gitea instance. I rarely need access to my notes on mobile but it's been something i've been thinking about more.
If anyone has any recommendations on how to read a directory of text files on android, i'm all ears.
When I was on Android, I used Markor for text editing and Termux for command line git.
For iOS, I now use Working Copy for git commit/push/pull, and Obsidian to edit text, and I like Obsidian's interface a lot for making quick Markdown edits.
I believe Obsidian has an Android version as well, but I have not used it. I'm not sure if there is an Android version for Working Copy but there may be similar GUI git apps.
What I miss from this type of apps, including notion, is the ability to "inherit" properties from databases.
I would like, for example, to create a superdb with basic task properties (title, deadline) and then create subdatabases that add more project-specific properties.
This, I'll be able to create a single view with all my tasks for the day in a single place, but also add all the info I need for individual tasks.
Unfortunately, for some reason, nobody (that I know of) built something like this into their apps.
Tana has had this for a long time with super tags, and Logseq has it (at least in the test builds of their DB version; I can’t speak to the traditional MD-based version) in their sub-tagging functionality.
I agree that it would be great across the board, though!
Trilium has attribute inheritance and is scriptable. The default task implementation uses templates though, not inheritance. So you would need to script it.
If you are reasonably comfortable with computers / Unix.
- You need to first rely on a directory structures, filenames, plaintext, lists and maybe markdown. Stick with a "File over app", Unix approach.
- Try to sort things with universal concepts: locations, things, people, events, metrics, howtos. A bit like the 5Ws approach.
- Leverage good Unix tools: unix commands, make/justfiles, (rip)grep, git, fzf, etc.
- Do not try to solve the problem through the Web. Because you will end up trying to solve web problems instead of basic knowledge management and productivity issues.
- The smartphone/touchscreen is a major problem, but as with the Web do not try to solve it. Use your file manager or even fzf in termux can be adapted to be reasonably usable on a touchscreen.
Something I have been wondering about is the "backlink" feature. It would be cool to link items/notes together through references. What I would be looking for is a Unix tools that can scan my text files for references to other files in the hierarchy.
The project is just "good enough" for what I need, and aside from tiny bugs whenever I find a gap I can either work around it or live without. Constraints are a powerful motivator for both creativity and getting stuff done.
If you use it with reasonable conventions, you can compile and deploy a web version with ghost or zola or something automatically run in CI.
It's backed up, synced, and comes with desktop and mobile apps. It has vim key bindings and git plugins.
It's a pretty sweet system that works nicely with Unix, and it adapts to multiple navigational and organizational paradigms.
I've tried a lot of things, and nothing has ever come close to Obsidian.
I use my preferred editor (Emacs) to modify the files. I get to use all the functionality like key-bindings, search, version control. I push my notes to my self-hosted Forgejo instance (but it can be Github). Forgejo already has a web-interface the notes and links just work there.
On my laptop, I have mdbook configured to watch the directory and build the notes into static website. So if I just want to go through by notes or read something I can use that as well.
I tried finding solutions to take notes on my phone. But I realised that if its longer than a few lines than I prefer using my laptop anyways. I only ever read my notes on the phone. I've setup the same mdbook behind VPN so I can access it on my phone as well. If I ever want to modify notes on-the-go then I can use the Forgejo web interface as well.
It has worked great for me! That being said, sync and mobile usage is still a bit of a sore spot with it. It works beautifully with Termux, but I wish there was some way to slap a basic UI on top of a CLI application for mobile. Tk/Tcl is the closest but there's only options on Android (I'm mostly an iOS user) and even then it's not really ideal. For sync, I at least have a reasonable plan: IMAP4 or git-based sync. The roadmap and tasks for the project are tracked in-repo with itself, so it definitely works.
I have only relied on fzf so far but have played with the various components of the Termux:API [0] for basic UIs, and it works well.
There is also Termux:GUI [1] with Bash bindings which allows to build more advanced UIs.
- [0] https://wiki.termux.com/wiki/Termux:API
- [1] https://github.com/termux/termux-gui
----------------------------------
I had an idea for a deeply unix-y note taking software a while ago and I've continued to think it would actually work very well.
Notes could either be an sqlite database (nets you compression, performance, easy backups, etc.) or just text files on the filesystem (easy searching, less lock-in, whatever). The "editor" just creates a new temporary file and opens it in `$EDITOR`. You can optionally name it after, otherwise it's named the current date.
Want linking? Use a filesystem-aware editor. Want syntax highlighting? Use an editor with syntax highlighting. Want to sync your notes? Combine it with Syncthing. Want to search your notes? fzf.
https://codeberg.org/ngp/tsk
Contributions welcome :)
You get 5 if you are willing to compromise. Since it's just all text files in directory trees, you can sync the tree to your mobile phone (e.g with syncthing) and just use any text editor.
[1] https://zim-wiki.org/index.html [2] git with an add-on.
> Something I have been wondering about is the "backlink" feature. It would be cool to link items/notes together through references. What I would be looking for is a Unix tools that can scan my text files for references to other files in the hierarchy
The only thing you need is some kind of structure, like the wiki link format or org link format, and you could 'rgrep' the notes directory for a particular link (vim and emacs can put the result in a buffer).
I can have multiple instances at once, and it's all managed via files and my filesystem.
Eventually I want to build a web frontend to index and reference my data, but for now the above approach is working well.
Unlike Obsidian, TexStudio is open-source, which I consider a plus.
I'm quite happy with Obsidian on Linux, especially due to great plugin ecosystem.
Granted that it would have been great if the clients were open-source; but Obsidian is one of those non-FOSS apps which are so consumer oriented that they get an exception from me.
I sync the files from Obsidian using syncthing to Android & use Markor for editing. But this wouldn't be possible on iOS.
I wrote my own version of it a few years ago, but have moved on, and currently use LogSeq instead: https://github.com/cdaven/noteexplorer
https://openhub.net/p/p_7697
sadly, it looks to have dropped off the 'net.
Either way, what is the problem with it?
I trust this is why everyone tries to rely on network-like structure.
It's an Obsidian knock-off. It's pretty janky and the documentation is lacking. It's open-source which is nice... But the company behind it is ??? I don't know. They are Chinese but I couldn't find much about them.
I use it because I can self-host it, it has most of the features Obsidian has, and I can use it in a web-browser from anywhere - which is the biggest feature for me that Obsidian lacks.
My first impression is that they really wanted to include everything (even RemNote-like spaced-repetition flashcards, Notion-like Databases and of course there has to be AI too) and it seems like they did a pretty decent job at that. I also appreciate that there are so many export options, even for Org-Mode (preserving internal links, images, code-blocks, etc.).
I like that it provides a solid, feature-rich alternative to all the cloud-first, closed-source apps in this space. But it may be too distracting/overwhelming for my use-cases with all the advanced layout capabilities and features though. Tana is a similar all-in-one solution that is really well done (and more innovative than this one), but I always seem to gravitate toward more focussed apps.
Works great!
Anyway, one of these days I'll fork it and make it work for me. I also have a perverted desire to change the serialization format from markdown to XML so I can manipulate the graph with other tools that talk xpath, xquery, basex.
- https://github.com/88250
- https://github.com/Vanessa219
The first profile has a README (zh-CN, easily translated) introducing themselves as a married couple as well as their career trajectory leading to their current company. Googling the company name leads me to https://www.tianyancha.com/company/3153162387 showing the company’s legal structure, the legal names of the couple, their address, etc. (again, zh-CN but easily translated). Looks like I can view their financial reports too if I have a subscription.
The profiles also link to their social media accounts (on their own dev-focused community).
What more is there to know? At least it’s more than the average ShowHN asking for your email and sometimes credit card. I don’t understand these “couldn’t find much about them” claims.
It allows selling actually free software and can work well if you do this well.
In addition, there are indeed two better-known, unofficial patches with paid restrictions removed, one is an experimental version by a third-party developer, which is submitted upstream after testing the functionality, at github.com/siyuan-community/siyuan, and the other is a patch that simply removes the paid functionality. It's at github.com/EightDoor/siyuan.
Also, there was actually a pr from a community developer to add digital certificates to ensure that unofficial packaged binaries wouldn't use the official cloud service, since the plugin bazaar uses the official cdn, which is actually not a small amount of traffic cost, but that pr was rejected.
Would it? If they don't want people to do it they could just use a proprietary license.
Self-hosted, great webapp, optional native clients and works offline.
https://github.com/zadam/trilium
https://github.com/TriliumNext/Notes
I felt with the number of features it has, this program simply knocks out Obsidian in comparison. I would say it is more of a Notion equivalent. I am currently working on a small self-hosted companion for Siyuan that lets users share notes publicly.
My approach to knowledge management has been super simple. Everything is in git, in a big directory structure i've organically grown over time. I have so many notes.. 7 to 8 thousands of them.
Keeping it in git has allowed me flexibility to use it how i see fit. Sometimes i'm in emacs/nevom. Most the time i'm in sublime text because I have workspaces per project/concept.
Finally, for mobile, I push them all to my own gitea instance. I rarely need access to my notes on mobile but it's been something i've been thinking about more.
If anyone has any recommendations on how to read a directory of text files on android, i'm all ears.
For iOS, I now use Working Copy for git commit/push/pull, and Obsidian to edit text, and I like Obsidian's interface a lot for making quick Markdown edits.
I believe Obsidian has an Android version as well, but I have not used it. I'm not sure if there is an Android version for Working Copy but there may be similar GUI git apps.
I would like, for example, to create a superdb with basic task properties (title, deadline) and then create subdatabases that add more project-specific properties.
This, I'll be able to create a single view with all my tasks for the day in a single place, but also add all the info I need for individual tasks.
Unfortunately, for some reason, nobody (that I know of) built something like this into their apps.
https://tana.inc/docs/supertags
I agree that it would be great across the board, though!
Most complex tools have task types, some are customizable, some not - e.g. Jira would do what you describe?