I would like to review a mind mapping application called Freeplane. I know Allison has already extolled the virtues of mind mapping, so I won’t go into all of that. I just want to tell you why I use this particular app for mind mapping. Freeplane was born out of another application called Freemind which still exists today. In 2009 it branched off so the developer could go in a different direction with the code.
Freeplane is a Java based app which can run on any platform that supports the java runtime engine. Mac OS, Windows, and Linux are the most common. And as you can tell by the name it is a free open source app. A lot of Java based apps are a little clunky looking and Freeplane is no exception.
And though it is not as pretty as made-for-Mac type apps, it still has a lot of control over the style and look of the mind map itself. The actual mind map can look just as good as anything from iThoughts or any other mind map app that is made specifically for the Mac, it’s just the interface elements in the app itself that look a little non-Mac like.
Even though the interface is not polished it is still quite easy and intuitive to use.
Creating a new child node is done with the tab key and you use a return key to create a sibling node. You can also fold and unfold branches with the space bar, which makes it very convenient.
You can also navigate around the map easily using the arrow keys. Using the keyboard to work on your map is convenient and it’s the way I prefer to do it, but I do have to admit that if you like to use the drop-down menus they can be very confusing. At least to me they don’t seem to be organized in a very logical way which makes it somewhat difficult to find specific menu items.
One of the features in Freeplane that distinguish it from other mind mapping apps is the ability to customize each node in very unique ways.
Each node has its text internal to the core of the node like any other app but you can also add detailed text which drops down below the node with a caret. When you click the caret to hide the detailed text you can still see the text by hovering over the node. It appears sort of like a tool tip.
You can also add notes to each node which shows up in the notes window below the main map window just like it would in other mind mapping apps. Each node also has the capability of having attributes which are key value pairs associated with the node. iThoughts has this capability for managing tasks as well however, Freeplane can have any attribute of any key value pair that you choose to create. This makes it very powerful.
You can also write scripts within these attributes to perform unique functions. A common example is to have an expense attribute which records the dollars you spent on a particular item and in the parent node attribute you can put a script that sums up all the expenses listed in the attributes of the children nodes.
Formatting of the node can also be highly controlled. You can adjust the formatting of each node and apply it to a particular style that you create yourself, or you can have each level of the map have a different style. You can also have conditional styles based upon keywords in the node text or conditions based upon the values of the attributes you create.
As an example, I used mind maps to take meeting notes. Whenever there was an action assigned I would put the word action followed by a colon and the action to be completed in the text of the node. The conditional styles would automatically detect that text and add an action icon to the node as well as make the node bright orange so that it stands out.
I’ve also had nodes where I created an attribute called task complete and it would have a value of yes or no. Once the task was completed and I clicked yes, the text of the node would automatically turn a light gray color.
The node text can also support HTML as well as plain text, just like an email message in the mail app. And it also supports LaTeX which is a markup language used for scientific equations. I’ve used that a few times and it is really fantastic.
There is also a search and filter capability in Freeplane that can either highlight nodes containing your search parameter or display only those nodes and hiding all others.
Like other mind mapping apps you can also attach a link to anything on the web or to a local file. And you can also attach photos to the node – they actually become part of the node and you can resize the picture too.
There are a lot of advanced features in Freeplane, not that the ones I’ve discussed so far aren’t advanced. You can assign any menu items to an F key on the keyboard which also shows up in an F key toolbar. You can also write external scripts in a language called groovy or you can write them in JavaScript as well.
These scripts can also be attached to the F keys to make them easy to use. In my work life I used to work on requirements documents and I would take an entire specification and import it into Freeplane. It would parse each requirement into into nodes using those scripts. I could then drag branches around in the map to reorganize my document – the scripting capability is very powerful and I feel it is the key feature that sets Freeplane apart from all other mind mapping apps.
If you’re kind of a geek like most of us are I think you’ll find his application very interesting. You can find Freeplane at www.freeplane.org and I recommend that you give it a try.