See Full Story
Freeplane is an application for creating mind maps. A mind map is the doodling you draw with shapes and other symbols around words connected with lines to make charts representing your thoughts and ideas on a particular topic or project. I rarely find tasks that seem easier to do the old fashioned way with paper and pencil than on a computer screen. But creating a mind map with Freeplane comes close. It is a bit cumbersome to learn and is less intuitive than other mind-mapping gear I have used.
You and I have similar reactions to Freeplane, though we use it differently.
I've used mind mapping software in the past (actually have some old ".mm" files lying about that I occasionally open to review the notes there), and have always found the linking and quick visual representation of the nodes to be helpful in thinking through a topic and seeing the relationships between items. I've used this to develop thoughts for books, outline martial arts curriculum, and more.
In all of that, I've always worked very simply. No graphics, just changing colors of nodes, text, and connectors.
That said, I also found Freeplane's interface difficult to work with. Once I figured out how to add a node (not that difficult, but I'd expected the command to be in a menu, with the shortcut listed next to it), I was off and running. It was easy enough to create nodes and move them - all fairly intuitive with CTRL key combinations.
Then I got to the connections. I suspect I would have been better off defining styles for the connections or some such (there seems to be an emphasis on styles), but I want to change them as I change which subsets I'm thinking through. Selecting multiple nodes was a bit touchier than I expected, and changing colors on connectors was a multi-click experience.
In the end, I was able to outline the data pretty quickly, but I've stopped adding connections, and am now looking for a simpler (and probably less robust) mind-mapping tool to complete the work. I think Freeplane is best suited for those wanting to use more of the advanced options, and is ill-suited for those of us who just need to use it to get our ideas out where we can look at them.
thank you very much for paying attention to Freeplane and writing this review. As a Freeplane developer I would like to respond to some of your points. All of my comments relate to the current release version 1.2.18 or later.
> "It is a bit cumbersome to learn and is less intuitive than other mind-mapping gear I have used. These include VYM (View Your Mind), Semantik and Labyrinth Mind-Mapping. First, you must get used to graphically thinking through complex ideas in a controlled and confined space on the computer screen. Then you must work through the software conventions to display what you created."
I use the program differently. Main purpose of Freeplane is organizing lots of information. I never have a graphical vision starting a map. What counts for me is a logical hierarchical structure which also can be always easily changed. The layout is done automatically, and Freeplane comes with a plenty of tools formatting nodes depending on their position, content and context.
> "Any disappointment I have for Freeplane is rooted in its graphical user interface. I prefer a scheme that lets me click anywhere on the blank canvas and use the keyboard to throw thoughts in awaiting entry fields.Once I have the words in place, I want to add lines to connect ideas and drag the graphical elements into different shapes and locations on the screen".
Control + double-click at any free position in the map lets you enter a new floating node there. Later you can attach it to any place in the node hierarchy by clicking on a node, dragging and dropping.
> "The other is Freeplane's inability to resize an image in the workspace by dragging it. It takes too long to drill down a right-click menu to an image property panel in order to manually enter new parameters".
There are two types of images. Historically there are images embedded anywhere in the node core. Your points are right only for them. There are also other images added as an additional node extension (Edit->Node extensions -> Add Image). The last can be scaled by dragging their right bottom corner.
> "One is getting the program to select the desired location when importing or inserting a file or image. The file picker's behavior was counter-intuitive. It balked at letting me access external drives or folders on the hard drive that were not directly listed in Freeplane's directory".
You can drag and drop external image files into any node. It is displayed where you drop it, and it creates an image which can be scaled as described above. The image is not saved with the map, just referenced.
I hope that my comments can help to get more out of it.
I just saw this posting, and I know it's 2 years old, but I have to thank Dimitry and other freeplane developers.
I'm a medical student and in this very moment, I'm using freeplane, as I have done for the past couple of months to organize medical knowledge that I need to memorize in a way that helps me.
I know it's not ideal, but it's actually much much better than other competing programs, even the paid ones. It doesn't look great, but once you spend 15 minutes to understand it, it's much faster than other programs to work with.
It's a great program, and I hope the developers don't stop improving it. For example, adding the "Node Clones" feature that freemind has. Freeplane is a solid program. It has most of the features I've ever needed, filtering, search, icons, etc, etc.
About Node Clones, if useful.
Freeplane has a simple scripting environment using groovy (easier than java)associated with user-defined hotkeys. That combination allows to personalize the interface at will.
For node clones for example, I have associated the script below to a hotkey (ctrl+2)
So, while a node is selected, I can create a "clone" keying Ctrl+2, and move it elsewhere in the map.
// duplicate the current nodes and add link/connector //
//// to create the new node as a child of the parent of duplicated nodes (bring it last child)
//nodeNew = node.getParent().createChild(node.text)
//nodeNew = node.createChild(node.text)
//// to create the new node as a sibling , a little more complicate
int nodeposition = node.getParent().children.indexOf(node) // find the position of the current node in its parent list
int newnodeposition = nodeposition + 1
nodeNew = node.getParent().createChild(newnodeposition) // create a node at that position + 1
nodeNew.text = node.text
// nodeNew.attributes = node.attributes.map // copy the attributes, optional
//// set the link, new created node link or/and connector to the original
nodeNew.link.setNode(node) // link to the the old node
//nodeNew.addConnectorTo(node) // link the new created node, optional
Thanks a lot, but this seems to duplicate the node right ? The feature I was talking about was one that freemind offers. It creates a clone, in the sense that whatever happens in the original node is automatically reflected in the new node. If you change the original, the clone changes and vice versa. This is very useful, when you want to refer to the same idea in multiple places, without having to navigate back and forth or repeatedly update all instances.