Emacs org-mode is very powerful tool for personal knowledge management, but can be hard to learn, makes it hard to have the same content (notes) referenced in more than one place, and can be awkward for the hands.
Finding other tools inadequate for various reasons, I wrote OneModel to meet my own needs, and made it available. If you touch-type, it is extremely fast for to-do lists and notes of all kinds, and I generate the project web site from part of its data. It is much easier to learn and faster to navigate than emacs, and you can have the same content in as many places as desired, without duplication.
But it wants to be more: It uses an internal structure that has big future ideas for knowledge management, like embedding code within groups of entities, or linking across OneModel instances, so you can choose to share data from your personal organizer, or subscribe to (or copy) data from other instances: like a wikipedia but where the internal knowledge is structured so can be used for computation, rich queries etc. Imagine asking a system: what villages in history had economic improvements in a 4-year period, all external conditions being equal, and what do those cases all have in common?--that is the long-term vision of the system. The vision and internal structure are intended as be a prototype of a platform to manage all mankind's knowledge as a usefully computable whole.
The web site has a few screen shots (remember it's an ugly prototype but works well! -- I have my calendar/life notes/todos/contacts etc in it now) and a demo system to play with without installing anything.
(It is written in scala, using a simple/approachable coding style that should be readable by most programmers with just minutes of scala knowledge--I hope--and uses postgresql for the data.)
I frankly don't mind if someone else takes the ideas and does a better job with them: we can do better than managing mankind's knowledge in the form of huge sophisticated piles of words: words are not the real knowledge but a superstrate over it, and they are hard to compute well. Feedback welcome.
How friendly is it with distributed revision control systems? If I build a tangle of information, it is easily duplicated over several systems that are in intermittent content, and will updates made independently sync properly and bidirectionally when the machines are brought into temporary contact?
That's what I miss with all such systems so far.
You have a really good point there. The next big thing OM needs is what I call "sharing" which is basically the kind of connection you describe, only between OM instances themselves. Hopefully to include watching for changes (subscribing), copying, linking, marking public or private, etc. I haven't really thought enough to have a good answer about integrating OM with version control, but maybe....
I invite you to join the mailing list for detailed discussion, like, at least to help provide the use cases and help choose priorities, or more involvement if you like. At a minimum, joining the announcements list would let you know what happens (low-volume, maybe monthly):
https://pairlist10.pair.net/mailman/listinfo/om-announce [pair.net]https://pairlist6.pair.net/mailman/listinfo/om-list [pair.net]
(Of course, feel free to suggest use cases in more detail here too.)
I'm already on the om-list and have posted there.