(I am not familiar with the recent software solutions, so anything I write here may already be obvious, or even outdated.)
Ideally, all notes should be in one database. As opposed to having multiple databases, e.g. one for school, one for personal things, one for a diary, etc. That’s because whatever classification you will make up, later you will find examples in the gray area. And even if not, cross references are often useful, e.g. if you mention something you learned at school in your diary, and the links would be difficult to maintain in multiple databases.
If you intend to share your notes somehow, or collaborate with others, there still should be one big database, except that some nodes are flagged as “public” or “shared (with whom)”. New nodes are private by default, to prevent forgetting to set up privacy; or maybe private and public nodes should have dramatically different design (e.g. different background color).
When the database gets large enough, it is impossible to rewrite large parts of it when your ontology changes. Some of it may never get rewritten, as there may be too much outdated context and more important things to do. It would probably be good to clearly mark some nodes as “outdated” or otherwise in a serious need of rewrite. So that maybe you may decide to rewrite a specific page in the future when you link it from elsewhere.
The organization of content should be a mix of hierarchical and hyperlinked. Sometimes the hierarchy is ambiguous: is “mass transit in Bay Area” a subnode of “mass transit” or a subnode of “Bay Area”? Sometimes the hierarchy is obvious: “notes from HP:MoR, Chapter 1″ is obviously a subnode of “notes from HP:MoR” (even if it may be also linked from other places). So I imagine the ideal structure as a set of local hierarchies and individual nodes, connected by hyperlinks. There should be a simple way to see “what links here”. (Categories could be implemented simply as pages which link everything that is in the category.) The hyperlinks should be implemented so that renaming the target page does not break them.
There should be a full-text search, smart enough to prioritize pages that contain the keyword in their title over pages than merely contain it somewhere in the text. E.g. looking for “less wrong” should return the node “Less Wrong” as a first result, even if there are thousand pages mentioning LW somewhere in the text.
There should be some history information, in the sense of “this page had last significant updates in 2003”. Not sure about the exact algorithm for that. Intuitively, if I fix a typo in 2025, the date should not change. Perhaps the year should be set up when I create the page, and then updated whenever I explicitly click “this page is up-to-date as of now”? And maybe old pages are displayed in grey color in the tree?
I do not feel bad about the fundamental problem of information getting outdated per se. I feel like any problems related to that are actually problems with the editing interface, as the outdated information gets in the way or is difficult to find and update. With good interface, there should be no problem with adding any random stuff even if you will never need it again; it should not get in your way, but stay hidden somewhere under “my diary, May 2025”.
(These are just my opinions. I do not know any software that would do all of the above, in the right way.)
(I am not familiar with the recent software solutions, so anything I write here may already be obvious, or even outdated.)
Ideally, all notes should be in one database. As opposed to having multiple databases, e.g. one for school, one for personal things, one for a diary, etc. That’s because whatever classification you will make up, later you will find examples in the gray area. And even if not, cross references are often useful, e.g. if you mention something you learned at school in your diary, and the links would be difficult to maintain in multiple databases.
If you intend to share your notes somehow, or collaborate with others, there still should be one big database, except that some nodes are flagged as “public” or “shared (with whom)”. New nodes are private by default, to prevent forgetting to set up privacy; or maybe private and public nodes should have dramatically different design (e.g. different background color).
When the database gets large enough, it is impossible to rewrite large parts of it when your ontology changes. Some of it may never get rewritten, as there may be too much outdated context and more important things to do. It would probably be good to clearly mark some nodes as “outdated” or otherwise in a serious need of rewrite. So that maybe you may decide to rewrite a specific page in the future when you link it from elsewhere.
The organization of content should be a mix of hierarchical and hyperlinked. Sometimes the hierarchy is ambiguous: is “mass transit in Bay Area” a subnode of “mass transit” or a subnode of “Bay Area”? Sometimes the hierarchy is obvious: “notes from HP:MoR, Chapter 1″ is obviously a subnode of “notes from HP:MoR” (even if it may be also linked from other places). So I imagine the ideal structure as a set of local hierarchies and individual nodes, connected by hyperlinks. There should be a simple way to see “what links here”. (Categories could be implemented simply as pages which link everything that is in the category.) The hyperlinks should be implemented so that renaming the target page does not break them.
There should be a full-text search, smart enough to prioritize pages that contain the keyword in their title over pages than merely contain it somewhere in the text. E.g. looking for “less wrong” should return the node “Less Wrong” as a first result, even if there are thousand pages mentioning LW somewhere in the text.
There should be some history information, in the sense of “this page had last significant updates in 2003”. Not sure about the exact algorithm for that. Intuitively, if I fix a typo in 2025, the date should not change. Perhaps the year should be set up when I create the page, and then updated whenever I explicitly click “this page is up-to-date as of now”? And maybe old pages are displayed in grey color in the tree?
I do not feel bad about the fundamental problem of information getting outdated per se. I feel like any problems related to that are actually problems with the editing interface, as the outdated information gets in the way or is difficult to find and update. With good interface, there should be no problem with adding any random stuff even if you will never need it again; it should not get in your way, but stay hidden somewhere under “my diary, May 2025”.
(These are just my opinions. I do not know any software that would do all of the above, in the right way.)