AMMDI is an open-notebook hypertext writing experiment, authored by Mike Travers aka mtraven. It's a work in progress and some parts are more polished than others. Comments welcome! More.
Built out Goddinpotty (renamed from the boring "Static-roam") and this website. Got mistreated by Roam so switched to logseq, which took a lot more energy than I thought it would. Somebody expressed an interest in using it to set up a pretty neat academic anthropology journal site, but that fell through. Lots of little formatting tweaks and adjustments, in particular I hid the hairball diagrams in the left-hand column under an expander, because they were very distracting (and stupid in other ways – if you want to spatialize your knowledge palace, you have to do it in a navigable and stable way).
All this hypertext goodness is based on Logseq, a newish note-taking tool which I've recently adopted. It's similar to Roam and was started with Roam, but after a brief fling with that I've decided that I can't use it, and Logseq is the best alternative. Because these new hypertext tools are a bit deficient on publishing tools I rolled my own starting from an existing open source project.
This is my own notes on what I would like changed or fixed with Logseq. I don't always have the patience to file git tickets or whatnot (but would be happy to do that on request). Many of these are things I could at least in theory fix myself.
Usability things
(aka, things I would fix immediately if I could, but haven't found the time and hard to know how hard they would be)
Multiple windows
Wait, it has those, just no menu item...Cmd-N works. WAIT now it doesn't again. It definitely worked for awhile!˜
And I see that multiple window things have been subject to hacking in the last few days (as of 12/26/2021)
Would make more sense on the right
window has no easily-visible title if you are scrolled down.
Would be improved if
clicking a link went to new window if there was one, o
or if the user holds down shift
(replacing the current semantics of shift which is open in sidebar)
restarts remembered which windows were open (and positions).
Saving the last edit position per-page. ARGH. The combination of this and lack of multiple windows makes it extremely clunky compared to Emacs, where you can have as many buffers as you like and they remember where the fuck they were.
Selection across blocks seems utterly broken and really has a bad impact on usability for me.
Bugs
DONE The "show in Finder" and related commands don't work in Electron, and don't even show up in web version (fixed by later version)
kind of serious: I can't get the refresh from local files thing to work right, and I'm starting to wonder about all this mysterious state that I can't even find. Bad design.
Org mode causes all kinds of problems; avoid it.
Blockquotes: if there's an internal line break, the later paragraphs aren't rendered as quotes.
REALLY BAD behavior that looks like data loss, often caused by having multiple windows but I can't really pin it down. Makes the whole thing seem quite unreliable; did not have these kind of problems with Roam despite it having a longer connection to backing store. Numerous data loss issues; resolve dialog doesn't seem to work - Bug Reports - Logseq
Another glaring transient bug: a whole page (this one) somehow got pasted into the journal...not at all sure how that happened.
Minor interaction bug. Type ( Marvin Minsky ) (or whatever – after typing the closing ]], you wind up with cursor beyond the ). Annoying and weird.
Cmd-Z Undo is unreliable; doesn't behave consistently around things like new block creation. Very bad for basic feel.
Really bad bug: when you get the db/disk out of sync dialog and select disk, it doesn't seem to work!
Can't give graphs a name, they use the name of the directory...small annoyance
shows a stupid Properties block on every page....
Can't get current journal in sidebar, which is what I want...shift-click on left sidebar links should do it (sometimes this works, sometimes not? Seems to work better if right sidebar is closed?
Missing Print and/or a decent page export (that can go to GDocs with formatting)
Features needed
Keys that should work
DONE Ctrl-n and ctrl-p (across blocks) (ok arrow keys do something close to the right thing, just need to rebind them)
OK, where do these settings get stored? Very unclear
Unfortunately the company behind Roam demonstrated that it was too flakey to rely on, so I felt a need to switch to one of the many open source Roam-like systems that have sprung up, setting on Logseq as the closest match to my needs.
Suddenly realized the whole existence of goddinpotty (née static-roam) is based on Roam being a closed-source cloud application that I couldn't hack.
So, duh, the right thing is not a completely separate program that publishes in a slow batch mode, but something integrated into Logseq itself and from the user's perspective is working within Logseq.
Merge L0
They are both open-source Clojure so this seems very doable. Even if you don't merge their codebase, you could have them running in the same JVM, one as a dependency of the other.
Merge L1
Logseq does its own rendering and parsing so almost all that stuff could be thrown out. What's left?
actual publishing
search, index-building, other special features
Actually this might not be right. Logseq uses React and doesn't generate static HTML. Guess that doesn't matter so much, but complicates things.
Logseq is an open-source alternative to Roam, and I'm in the process of switching over to it from Roam.
My main reason for switching is that Roam seems to be run by crazy people, so I don't want to give them money any more, and I don't trust them with my data. But Logseq has some other advantages (and disadvantages), discussed below although this is in no way a complete list.
Good points
Major
Local storage of graphs, rather than trusting them to the cloud.
Open Source (and in Clojure!) so theoretically hackable
Almost every feature of Roam that's important to me is copied
Minor
Links do popup previews, pretty zippy
If you use the app and store your stuff in a git repo, it does automagic backups
Bad points
[note: it's different kvetching about Logseq than it is for Roam, because it's open source so I could in theory address any of these points myself if I cared to.
Also the Logseq authors seem to welcome bug reports and negative feedback, I assume because they are smart enough to know that that is a valuable form of feedback for software builders, open source or otherwise.]
Logseq uses markdown files as its backing store (and a Datascript DB internally, like Roam does, but not as the basis of truth). This has some advantages, but it also sort of works against some things that Roam does better, like keeping block-level metadata. As it happens I use the edit-time metadata in Roam a lot, eg to produce the recent changes page which is now kind of useless.
Can't have more than one open window. This is a major flaw, and I find it hard to believe Electron won't support multiple windows.
Partly can compensate by putting auxiliary pages in the sidebar.
FIXED
Search is kind of shit (but at least it tells you the page name of a matched block, something Roam never managed to get right).
Can't print a page (neither could Roam)
Can't copy and paste out of it to GDoc etc (Roam can do this)
Can't easily spin out a chunk to a new page (neither could Roam)
FIXED there's a plugin, sweet
Lacks Roam's easy way to turn Unlinked references into Links (a weird omission)
A lot of minor clumsiness with the UI, eg the navigation keys aren't quite what they should be, makes the whole thing feel not as smooth as a tool-for-thought needs to be