How to automate mindmapping? Here is a simple command language and interpreter (macro) to do so!
This is an update of my earlier post on "the next step to higher productivity", now including the software!
Spending time with mindmapping software as part of a creative process, planning or writing is a pleasure. But spending time to visualize information is becoming more and more a load. It certainly is possible, but it takes often too much time and energy. As an example, look at the Figure 1. It is very simple in structure; it has a central topic, 13 main topics (picture only) and an additional main topic with some statistics.
Figure 1 - Simple mindmap, nevertheless a lot of work
Mindmapping software is like a Swiss Army Knife, a fantastic tool in all kinds of situations. However, this tool needs the hands of a human all the time. So there is an upper limit to the fun you can have with it. In complex applications (eg a map with 100 nodes, decorated with images, markers, hyperlinks etc.), using the tool is too laborious. In series production (eg a series of 17 maps), the repetition becomes boring.
We have to distinguish creative work from creating graphics. The latter should become more and more data driven and automated.
Look at Figure 2. To create it once with a tool like Mindmanager is fine. To do a similar job every day: boring. To check whether the detailed information contained in it is still up to date: killing. So, we need tools to avoid the boring and killing experiences.
Figure 2 - Mindmap with images (logos, flags), markers and hyperlinks
The solutionJust as we can control 3D printers, laser cutters and CNC machines by sending a series of commands to them at a fairly low level, we would like to do the same with our mindmapping software. In fact we want to convert our interactive Swiss Army Knife into a data driven digital "drawing machine".
Fortunately, Mindmanager has an extensive and well-documented API (MindManager Windows 22 API) and an interactive development environment to use it (WinWrap ® Basic Editor and the programming language "WWB-COM" for Visual Basic for Applications ™ compatibility). As far as we know, competing mindmapping products do not offer such functionality.
With Mindmanager we could develop a digital drawing machine by programming a single macro which reads a text file containing low level mindmapping commands, interprets them and executes the corresponding Mindmanager actions. We have built an interpreter that "understands" five commands (add topic (node), add image, add markers, add property and add hyperlink) and neglects anything else. These commands should be offered in hierarchical sequence, starting with the central topic etc.
For the format of the commands we used "mark down" (.md) conventions. So you use a markdown editor to create, inspect or change command files. Normally, users will generate these files via dedicated software in their "data studio".
The command file contains command lines and text lines. Command lines start with a special character and contain one command per line. All lines not being command lines are considered text lines. So far, these text lines are skipped.
Command lines always start with a special character. Currently, the following commands are supported:
- # = new topic, eg # central topic, ## main topic, ### subtopic etc until ######
- ( = topic image, eg (filename | width (mm) | height (mm))
- [ = topic hyperlink, eg [Sofos Consultancy](http://www.sofos.nl)
- : = topic property, eg :Country:Jordan:
- ! = topic marker, eg: !SDG-04-08-09-10 (group name - item label - item - label etc.
Our workflow is: 1. create the command file (.md) (either manually or automatically), 2. run the macro file md-interpreter.mmbas, 3. select the md-file and 4. see what is happening!
- The macro starts a new map with default settings, marker lists etc. Workaround for more flexibility: a. insert a breakpoint as soon as the macro created the central topic of the new map; b. adjust the theme, marker list etc of the new map; c. resume the macro processing.
- The macro processes the SDG-marker group correctly (see attachment); others still have to be implemented.
- The md file should be UTF-8, although some languages, eg Arabic, might result in incidental errors.
- It is a mind shift to use mindmapping software, i.e. Mindmanager, as a data driven machine instead of a hand tool.
- We developed a simple but extendable command language to run this data driven machine automatically.
- A data studio like Jupyter Notebook, Pandas and Mathplotlib generates the required command file at the data side.
- A single custom-made macro interprets the command file at the Mindmanager side.
- Especially in case of repetitive work and in case of data updates, this solution is a big time saver.
- The ability to use pictures (logo's, flags), hyperlinks and texts (node titles) as data triggers the implementation of an image bank, hyperlink repository and multi-language texts.
- Multi-language texts enable the easy generation of different language editions of the same mindmap.
The command language and its interpreter can be improved and extended further. We will work on that. The Creative Commons Attribute license makes it possible to join. Please, go ahead!
You find the macro file, the SDG markers file and a sample MD-file at https://bit.ly/pvdh-mindshift.