As someone who's used several outliners, this looks like a neat tool.
I'm curious why you decided to call this a "mind-mapping tool", which makes me think of visual graphs rather than textual hierarchies. Can you talk about that decision?
I agree with the “mind map” terminology. The defining feature of a mind map is that it is a visual process displayed as a diagram with colors, icons, etc. Without those things specifically, you have an outliner.
This looks like a neat outliner, but it is not a mind mapping tool.
To me, a mind map is a tool with which one can map his/her mind. I see some comments that claim that colourful and interesting graphics should be a part of that definition. I disagree. With such mind mapping tools, I've found that it's that "cartoony" nature that limits their size. I wanted a mind-map tool in which I could store every little piece of minutia that I want and have it organized. I don't need the graphics, have search.
A mind map usually has a relational component. Can one Item show up on two lists, and if it changes in one place, it changes in the other? They also tend to be drawn from the center outward, and have color as an additional dimension of information (categories?).
Thank you. I don't mind sharing at all. Please be forgiving and constructive because I am a one man show here.
Tech stack:
- This is a django app. MVC. No separate API project and UI project.
- Front end is basically Bootstrap 4 and jquery.
- The tree is FancyTree
- The DB is SQLite because there are no users. When usage becomes significant, I can easily migrate to MySQL.
- Rich Text is Summernote.
I am 100% sure I would do this differently now. But I started it a few years ago and have kept it pretty much private. Thanks for checking in!
Love the stack. Great call on Django, definitely makes it easier for a one man show. Also good decision to eschew an API for now as it’s just more overhead that’s not currently needed.
Have you checked out the great djangochat.com yet? Awesome content there.
Also, just curious, what would you do differently if you started from scratch today?
Nice tool. Some feedback: The drag and drop functionality has some accessibility issues: it works with a mouse, but not keyboard navigation. This interface would be difficult to use with mobility issues: moving items requires fine-grained gesture control.
If you're interested in an accessible implementation of drag and drop, here's one I've encountered that does an excellent job:
Had the same general idea but with Sublime Text and Dropbox. Searching text files is all the ways faster. Also, no need to use the mouse most of the time. Syncs seamlessy and moving around notes/files is way easier.
The editor Ulysses supports markdown, but more relevantly, supports folder/file structure such that trees of hierarchy can be selected at once to become part of a same generated master document.
I'm not sure I agree. The biggest reason is that I use this as a mind map very well.
Jumproot is certainly visual, it's just not "cartoony". It's the cartoony aspect of mind-maps that limit their "size". This was a main reason for creating jumproot.
the great advantage of mind maps like those from the old FreeMind app, is that by putting the root in the middle and branching on both sides, you can fit a lot more information in a standard screen without scrolling.
I tend to believe people naturally think in graphical structures, not trees. It's sort of an impedance mismatch though because our physical world is tree based - you can't put an object in more than one container. So we're continually struggling to transition back and forth, to the point that we unnaturally try to force our thoughts into tree structures like outliners.
Trilium Notes[0] allows that. In fact I'm surprised that it's not mentioned here, because when I discovered it (via HN IIRC), it seemed to me that Trilium had already implemented everything I could have ever thought of for a note taking/personal knowledge management tool, and more.
100% correct. It pains me but restricting to a tree was a compromise I wanted to make. Why? Because visualising a graph in a concise way is difficult. The point of jumproot is to have very broad and deep document structures and visual graphs simply don't allow it (to my standards anyway).
I'm always on the lookout for a widget that allows me to display a large graph in a very dense way. Please let me know if you come across one.
I like this. This could become the basis for a personal outboard memory. Add some intelligence and this could become the basis for a personal virtual agent.
Man, that app does an impressively bad job at explaining what it is without signing up. I'm interested in this area, but I have no idea what features it's offering.
I'm still looking for a good replacement for Dynalist, which is not free software (important because such data/workflow is too important to be at the mercy of a third party).
Extra structure would be a nice addition, but without the source code I don't think this will do.
This is a very good point. Does it help that one can export his/her tree to a very readable JSON file? From that perspective, the data is not locked to jumproot.
I miss "The Brain", a mind map tool from the late 1990s, beginning of 2000s. The cool thing was that you could link an object (called "idea") to any other object regardless of it being a parent, child, part or not of the same tree structure.
It looks like OneNote where you can have several NoteBook, Section, and Pages that can be at different levels. In the end, you can have a similar hierarchical structure. The advantage of OneNote is it is native cross-platform (Android, Mac, Windows, iPhone) with sync, ink, etc.
I see a lot of comments revolve around the note taking, mind mapping aspect of jumproot (which is 100% on point). I just want to invite everyone to try the other aspects of the site, such as document structuring/viewing and the different node types. Have fun!
Fun! I started building my own Workflowy replacement too, mostly because I got tired of not being able to extend it, I can only export my data. My idea is to not stop at 'basic' data types, but to provide a pluggable architecture to code in. Godspeed to you good sir.
Reminded me of KeyNote NF [1]. Very reliable, super small, keyboard shortcut friendly, supports images and cross links has everything I need for organizing my data except data sync and that its windows only.
I have to reply just because this is so bizarre. Just last night I had been conceptualising a product just like this in my head... right down to the “viewer” nodes which are a representation of their children. However I was thinking that instead of having a rich text node you would have a viewer node and each paragraph, heading could be its own node.
The Zettelkasten method and The Archive allow you to link to other ideas/notes. It takes a bit more effort than I’ve given it, but it looks promising. They have a pretty active forum with a lot of good ideas for using it. The method can also be used in other apps such as nvAlt, Sublime Text, and Notion (I believe).
Another hierarchical organizer: AGPL, desktop- and keyboard-oriented, highly efficient, I use every day because org-mode was more awkward to me: http://onemodel.org . (My progress has been slow lately but I have plans: feedback welcome, especially if on the mailing list.)
Anything can be nested anywhere, so I put effectively all my notes in it on everything. In college it would have been a huge help. It exports to text outlines (w/ or w/o legal numbering) which I've found useful when sharing info before the real sharing feature is implemented.
(The idea behind it is to reduce knowledge to an atomic level, as an object model: things we know have relationships to other concepts, can be expressed as measurements, etc. But it is cumbersome to create an object model anew, for every app. Right now, it is really good at supporting a big, efficient list of lists (based in postgresql), with attributes, and very minimal support for defining classes on the fly as a side-effect of use. But I really hope to be able to add anki-like (spaced repetition / flashcard-like) features, internal scripting, hosting, and secured sharing of info between instances, so it becomes like a wiki in convenience, but more efficient and computable rather than piles of words for everything).
53 comments
[ 3.4 ms ] story [ 108 ms ] threadI'm curious why you decided to call this a "mind-mapping tool", which makes me think of visual graphs rather than textual hierarchies. Can you talk about that decision?
This looks like a neat outliner, but it is not a mind mapping tool.
To me, a mind map is a tool with which one can map his/her mind. I see some comments that claim that colourful and interesting graphics should be a part of that definition. I disagree. With such mind mapping tools, I've found that it's that "cartoony" nature that limits their size. I wanted a mind-map tool in which I could store every little piece of minutia that I want and have it organized. I don't need the graphics, have search.
I hope that relays my thinking a bit.
Would you be willing to tell what your tech stack is like? And what are you using for Rich text editors?
Great work tho. Looks good.
Tech stack: - This is a django app. MVC. No separate API project and UI project. - Front end is basically Bootstrap 4 and jquery. - The tree is FancyTree - The DB is SQLite because there are no users. When usage becomes significant, I can easily migrate to MySQL. - Rich Text is Summernote.
I am 100% sure I would do this differently now. But I started it a few years ago and have kept it pretty much private. Thanks for checking in!
Have you checked out the great djangochat.com yet? Awesome content there.
Also, just curious, what would you do differently if you started from scratch today?
If you're interested in an accessible implementation of drag and drop, here's one I've encountered that does an excellent job:
https://github.com/atlassian/react-beautiful-dnd
- Features (I'm a one man show) - The UI (I think mine is better organized) - Node Types (Jumproot has different and interesting node types)
Like some of the other commenters in the thread, I gave up on these apps and went back to using filesystem folders/files.
https://ulysses.app/tutorials/split-merge-glue
(You can also just select and then export, which does a temporary glue, more or less.)
Mind Maps are visual in ther organisation and structure.
https://en.wikipedia.org/wiki/Mind_map
Jumproot is certainly visual, it's just not "cartoony". It's the cartoony aspect of mind-maps that limit their "size". This was a main reason for creating jumproot.
https://orgmode.org/
What you actually want is a network graph of concepts and notes. This will let you see relationships.
[0] https://github.com/zadam/trilium
I'm always on the lookout for a widget that allows me to display a large graph in a very dense way. Please let me know if you come across one.
Kudos on the design though. Clean and simple, and reminds me of the Windows XP help window that would come bundled with every major desktop app.
Extra structure would be a nice addition, but without the source code I don't think this will do.
[1]: https://sourceforge.net/projects/keynote-newfeat/
https://zettelkasten.de/the-archive/
https://forum.zettelkasten.de/discussions
Here's my favorite:
http://www.giuspen.com/cherrytree/
Anything can be nested anywhere, so I put effectively all my notes in it on everything. In college it would have been a huge help. It exports to text outlines (w/ or w/o legal numbering) which I've found useful when sharing info before the real sharing feature is implemented.
(The idea behind it is to reduce knowledge to an atomic level, as an object model: things we know have relationships to other concepts, can be expressed as measurements, etc. But it is cumbersome to create an object model anew, for every app. Right now, it is really good at supporting a big, efficient list of lists (based in postgresql), with attributes, and very minimal support for defining classes on the fly as a side-effect of use. But I really hope to be able to add anki-like (spaced repetition / flashcard-like) features, internal scripting, hosting, and secured sharing of info between instances, so it becomes like a wiki in convenience, but more efficient and computable rather than piles of words for everything).