How to automate mindmapping? Here is a simple command language and interpreter (macro) to do so!

Pieter_van_der_Hijden shared this idea 2 years ago
Voting Open

This is an update of my earlier post on "the next step to higher productivity", now including the software!


7f2efedf77beebf75d5010cee768e58f



The challenge For more than 20 years mindmapping has been my personal productivity booster. It helps to organize my thoughts, to play on different fields, to plan, to develop and to write. With data becoming more and more important, it is time for a next round.

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.


9c94bd299818d54426256177cb2bf7ee

Figure 1 - Simple mindmap, nevertheless a lot of work


In this example the creative part of the process to produce the map is rather limited. Maybe you need two minutes to set-up the main idea. But be honest, how many minutes will it take to produce the complete map? and even worse: this map is about UN Sustainable Development Goal #09. There are 17 such goals, so producing such a map for each of these goals will cost you 17 times that amount of time. All this time you can not spend to creative and more engaging processes!

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.


Not convinced? The mindmapping software we use is Corel's Mindmanager. It offers some options to convert external data into a mindmap, eg simple copy/paste, database interface, Excel mapping. Other mindmapping software also offer some input / conversion functionality. These are nice if they exactly fit your needs. But even for a simple map like in Figure 1, these functions do not fit. So there is a Missing Link.

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.


e6aeccd59a7914e3616b45db07d4d58f

Figure 2 - Mindmap with images (logos, flags), markers and hyperlinks


In fact we miss a link to close the gap between data management and mind management. Perhaps it is more appropriate to speak of a MIND-SHIFT: Don't just see mindmapping software as a Swiss Army Knife in the hands of the user. Also see it as a kind of plotter/drawing machine where (hardly) a user needs to be involved.

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!

Known issues

  • 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.

Wrap-up


  1. It is a mind shift to use mindmapping software, i.e. Mindmanager, as a data driven machine instead of a hand tool.
  2. We developed a simple but extendable command language to run this data driven machine automatically.
  3. A data studio like Jupyter Notebook, Pandas and Mathplotlib generates the required command file at the data side.
  4. A single custom-made macro interprets the command file at the Mindmanager side.
  5. Especially in case of repetitive work and in case of data updates, this solution is a big time saver.
  6. 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.
  7. 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.


---