Deriving Value from large Diagrams

We at Vithanco love drawing diagrams in order to understand. However, one of the main obstacles with diagrams can be its size. It is not uncommon for us to have diagrams with wy over 100 nodes and over 150 edges. If you plan a project with the The Benefit Breakdown Structure (BBS) Domain then this represents only a small project. The resulting BBS is quickly becoming messy to look at and the overlapping of edges means that the main diagram is rather confusing.

A large Diagram (modified BBS model)

Generally speaking, size can be a limitation to a graph’s usefulness by making it difficult to understand the structure. If the graph is too complex and the connections are going crossing many times then the structure is difficult to understand. And if the diagram is not suitable for meaningful communication then it is rather useless. If one large diagram isn’t explaining the full story, then we need to provide ways in which to show relevant parts.

How can one manage the full big picture and can still zoom into aspects in Vithanco? Or to ask metaphorical: How can one see the forest/woods and the trees? This post provides some answers.

Cluster and Cluster Folding

The first approach includes an element of diagrams that is sometimes overlooked: Clusters. A Cluster is basically a part of the diagram (a subgraph) that is drawn together, is visually emphasised with a different background and has a name.

BBS Example
A diagram with three “open”/”unfolded” clusters

The above diagram has 3 clusters, each one drawn around the different node types. However, if you fold each cluster (and ensure that you use a strict graph) then you get something similar to the below. The nodes within each cluster are “hidden” away, but can easily retrieved by a mouse click (use the folding map symbol button).

A diagram with three “folded” clusters

So, first way to keep the overview: create folders and hide some areas that you  currently don’t need. Clusters are generally a good idea to make a diagram better understandable.

Focus View

Working on a diagram requires to change perspective. Sometimes you need to  see the whole and sometimes you need to see only a small part and focus on it. It can be a few nodes, it can be a predecessor Tree. And it is simple with Vithanco to switch perspective. Select the nodes that you need and click the “Focus on Selection” toolbar button. The main diagram will be replaced with the subgraph that contains only the selected nodes. In the top right corner will be a “return to full graph” button. You can manipulate the subgraph in the same way as the full graph and changes to the subgraph will be applied to the full graph too.

Within the Focus on Selection View is it easy to review a specific part. Nodes that otherwise might be spread across a big diagram will be located together and the structure can be reviewed. This became such a standard way of graph manipulation that we  added shortcuts for selecting nodes easier.

  • mouse click: select/deselect clicked node
  • [Shift] + mouse click: select predecessor tree
  • [Shift] + [Opt/Alt] + mouse click: select sucessor tree
  • [Opt/Alt] + mouse click in Node Statistics: select/deselect all Nodes of the clicked Node Type

Especially the last one allows to quickly create views with the right content. Thinking of the BBS structure mentioned above. Clicking on “Investment Objectives” and “Benefits”, then choosing “Focus on Selection” allows us to see the value proposition of an initiative even if the diagram itself became big.

Second way of keeping the overview: whenever you need to look at some parts in more detail use the focus view.


Reporting is another way of digesting a large diagram. Reporting allows to slice and dice the information and to make it digestable. The right report depends on domain and the use and Vithanco’s reporting is accordingly flexible. This is how it works.


For a BBS diagram we normally look at the the benefits of a project/change initiative and how to enable each benefit. It is often the right way to deliver one benefit after the other instead of delivering many at once. So, the natural way is to select a benefit and it’s predecessor tree and to enable the benefit through delivery of benefits. But how to choose the next benefit? Here, the report becomes useful.

Choose the Report Menu and select “Detailed Report By Node Types”. In the following dialog choose “Benefit” as the Node Types and choose “Node Itself” and “Predecessor Tree”. Clicking Ok will create the report. That is a document that contains a dedicated diagram for each benefit. Each benefit diagram will contain the predecessor tree for that benefit alone.

The resulting Report will be created as a Markdown (.md) document. Choose an appropriate tool to convert Markdown to other formats if needed. Share the document with everyone interested. They won’t need Vithanco in order to digest the report.

Third way of working with large diagrams: create useful reports to see each facet.

Table View

Another useful way to handle complexity is to use a different way to present the information. Vithanco offers a table view to ignore the edges and to focus on the nodes alone. Each Node becomes a row in a table. Use this tool to quickly change node texts, etc.

The Table View will present the selected nodes only. If no node is selected then it will present all nodes. As selection of specific Node Types can happen quickly through the Node Statistics (see above, [Opt/Alt] + mouse click selects/deselects all Nodes of the clicked Node Type) the Table View can be used to quickly review all nodes of particular Node Types.

The forth way to switch between the whole and details is a different presentation of the diagram: a table.

Bonus: Automatic Highlighting of Connected Nodes

Especially when the degree of the Nodes (vertexes) is high the resulting diagram will have overlapping edges. Vithanco highlights the connected Nodes for each Node/Edge when you move the mouse, allowing to follow the particular edges easily.


Vithanco provides tools that make it possible to “zoom” into details and out again.

  • Cluster Folding
  • Focus View
  • Reports
  • Table View

Use these tools to deal with large diagrams.

If you have questions and/or improvement ideas then please reach out to us.




New User Interaction Approach for Vithanco

We have simplified the user interaction approach of Vithanco. It was already released with Vithanco 1.4. The new approach is reducing the numbers of popup windows and hence keeps the focus on the canvas/diagram.

The standard behaviour of clicks has changed. If you double click a node you can immediate start typing on the canvas. A text field is overlaying the node and awaits changes. Leaving the text field with the mouse or pressing [Return] will end the editing.

Vithanco 1.4
Please note the new editing box (highlighted in blue) on the canvas.

The previously for this used Node Editor dialog can be reached either by pressing [CMD] when clicking on the node, or via right click (two finger click on trackpad) or using the little wrench symbol on the top right.

These changes  felt so natural that the clusters and edges got the same behaviour.

Please let us know what you think!

Connect your Diagram

Vithanco allows to connect your diagram easily with other relevant resources as long as it can be referenced via a URL. 

How to add URLs?

Just add a URL to a Node in your diagram in the Node Editor.

How to use URLs?

Hoover over the node. Notice the new link icon in the middle on the top of the node? Just click that button and the system browser will be called with the URL provided.

What can I do with this?

Obviously, the use cases for this feature are as versatile as Vithanco itself.

  • Use URLs as an example in a Concept Map for additional information. Link to the corresponding Wiki page, or to a company internal page that is of relevance to the reader.
  • Create Decision Tree Diagrams with URLs for to each outcome. This way you not only document each decision point but you can trigger the next action.
  • Connect each Business Change in a Benefit Breakdown Structure with a link to details on the intended change. Connect each enabler with the link to the corresponding task or feature (or how ever you call it in your company / project).
  • Reference background articles etc. from within your IBIS diagram on a topic to make it simple for others to understand your thinking.

And so on.

What else should you know?

A URL doesn’t have to point only to a website (as indicated by an http: or https: at the beginning of a URL). Vithanco as an example has a URL schema allowing to create a new document with a specific domain.


On a Mac with Vithanco installed the URL above creates a new document with the IBIS domain. Many other applications have similar features.

Can I export these URLs and hence create a clickable Image?

Unfortunately, common picture formats don’t offer such a functionality. However, HTML does. Vithanco therefore allows to “Export Browsable” starting with version V1.3.0 which will be released soon. “Export Browsable” exports the diagram as a .jpg file and a corresponding .html page that overlays the exported diagrams with links. You can already store URLs today and navigate to them from the Vithanco application.

Special variants of Vithanco like Vithanco Concept Maps will gain the export feature as well soon. 

Analyse Systems with Causal Loop Diagrams

Vithanco got a new diagram type. The Casual Loop Diagrams.

Why using Causal Loop Diagrams (CLDs)?

Causal Loop Diagrams (CLDs) are a way to capture systems, to analyse them and to plan how to influence them. CLDs explain long-term behaviour of systems which is otherwise difficult to understand based if you only look at the current as-is snapshot.

CLDs describe systems via “stocks” (nodes) and connections (edges). Much of the day-to-day world can be accurately described as such a system. Let’s look at a simple example: A bank account and the interest earned.

Banking Account as a simple Causal Loop Diagram

  • The amount of the Bank Balance (a stock) will affect the amount of the Earned Interest (another stock), as represented by the connection, pointing from Bank Balance to Earned Interest.
  • Since an increase in Bank balance results in an increase in Earned Interest, this link is of the same kind, meaning more results in more. Interestingly, this even works for a negative amount in your bank account.
  • The Earned interest gets added to the Bank balance, also a link of the same kind, represented by the bottom connection.
  • The causal effect between these nodes forms a positive reinforcing loop, represented by the icon in the middle containing an “R” and showing the loop direction (clockwise).

This system is obviously only a part of bigger system that would include salary payments and withdrawals to live. But if left alone, the reinforcing loop points out that this system would lead to an uninterrupted growth of the two stocks involved.

A CLD is very useful to identify the loops that affect the systems’ behaviour. Especially the separation between balancing and reinforcing loops provides meaningful insights into a system’s behaviour as shown in the following table.

Loop Type Description
Balancing Balancing loops have an odd number of opposite connections (negative links).
Balancing loops are associated with reaching a plateau.
Reinforcing Reinforcing loops have an even number of opposite connections (negative links, please note that zero also is even).
Reinforcing loops are associated with exponential increases/decreases.

The example above with the bank account and the interest earned has a reinforcing loop, which based on compound interest does indeed show an exponential increase.

Loops are automatically identified by Vithanco.

Background on CLDs

Extensive research was done regarding systems (see as a starting point: Donella Meadows’ Thinking in Systems) as part of a body of knowledge called systems thinking. One interesting way of accessing systems thinking knowledge is by learning about the so-called archetypes.

Learn more about Vithanco’s implementation of CLDs here.

Changing Node Order in Vithanco

The Problem

Laying out a graph depends on node order. The nodes are created in an order and this is the first order used. By maintaining that order Vithanco ensures that the nodes are located where they are and that small changes in the input leads to only small changes in the output. That means that in most cases the leftmost node stays leftmost. The layout algorithms are stable in the sense that they produce the same outcome for the same input. And the order of nodes is part of the input.

And sometimes the original order is not the order you like. You would like the nodes presented in a different order, exchanging two nodes that are located next to each other, or similar.

The Solution

You can change the order of nodes and thus can influence the resulting diagram by using the [TAB] key. Simply select two nodes and press [TAB] and the two nodes exchange their place in the order of nodes. If you select more than 2 nodes and press [TAB] they are rotating their position in the order. Finally, press the [ALT] (or [OPTION]) key at the same time as [TAB] and the order is shuffled.

You can use [TAB] in all diagram types.


Sometimes the algorithm will not be influenced by a change of order.  ‘Good reasons’ might keep the layout algorithm from changing the diagram if the order of nodes changes.  Examples of these ‘good reasons’ may:

  • to avoid long edges (aka connection)
  • to avoid crossing edges, or
  • to place nodes within a cluster next to each other,
  • to balance a tree based on the next layer (layered view only),

or similar. The above list is not complete and the used algorithms are quite sophisticated.

There are more ways to influence a diagram but these will be captured in another post.

An Example

The following is an example from a domain that will be released during first half of 2019: the “Causal Loop Diagram” or “CLD” in short. Causal loop diagrams are used to analyse systems and their behaviour.

CLDs aren’t layered as they are normally full of cycles (“loops”), meaning they have a lot of connections that would point from the bottom to the top. Hence CLDs use a star layout.

The example is based on the “Shifting the Burden” archetype. The first version looked like this:

The structure of this CLD archetype is not very obvious. Edges are overlapping, making the understanding unnecessarily difficult.

Using the above, select the top and the right node:

Now press [TAB] and the order of the two selected nodes is exchanged, resulting in a different positioning of these nodes in the internal order. In this example they simply exchanged their location as well.

Now the structure becomes clear. The edges are no longer overlapping and the three loops become visible.


Draw more, together

For a long time do I believe in the value of visual thinking. Clearly, not all visual thinking would use graphs such as Vithanco is allowing to manipulate. In fact, graphs are a just one approach to visuals among many. Clearly, the author believes it is a powerful approach, not least because it allows structure whilst still using additional senses over text-only approaches.

Ole Qvist-Sørensen was presenting his view on visual thinking at the TEDx Copenhagen 2012. I think it’s a great presentation.

I have seen the works of Ole and his company. We used Bigger Picture quite often at the company the author works. I can only confirm the usefulness of his drawings. There is something that makes you contemplate a good (enough) drawing unlike a lengthy text. Book his company or simply draw yourself. It is worth it.

Dan Roam has a similar message as Ole in his “napkin” books or in the potentially even better “blah, blah, blah” book. The latter presents even some kind of “grammar” for visual drawings.

How does Vithanco fit in? Vithanco is clearly less flexible than pen and paper. It is “only” drawing graphs. However, I believe that there is a case for Vithanco. Vithanco is useful as an explorative tool. It can help you to “think things through”. Auto layout will prevent you from wasting your time on arranging drawing elements whenever a small change is happening. The domains enforce that you stick to the underlying structure of the diagram.

Vithanco is therefore useful in a changing environment. If you don’t know where your analysis will end and/or you need to add elements at any point of time, potentially even maintaining one diagram over a longer period (consider for example a Benefit Breakdown Structure that should reflect your project throughout the project lifetime) then Vithanco is the right tool.

Ole mentioned in his talk how powerful it can be to work together on a drawing. I challenge you to do the same with Vithanco. According to a German proverb, four eyes see more than two (and a quick online research shows that not only the Germans have this proverb). This is so true when we discuss visual thinking.



IBIS Cheat Sheets

Whatever method you use there are nearly always conventions, supporting ideas or simply shortcuts. Recently was I shown an IBIS cheat sheet created with Compendium (a no-longer maintained IBIS software). I don’t like the looks of the Compendium very much. But I liked the content and decided to recreate the cheat sheet.

These diagrams are created with Vithanco using the IBIS Domain.

The 7 Root Question Types

The 7 “root” questions are simply 7 kinds of questions. See below a generic diagram that uses these 7.

Shortcut Questions – just use what makes sense to you and others
Generic IBIS Diagram

I hope these diagrams make us much sense to you as they do to me. If you do have any questions, please bring them forward. And clearly, let me know if you have similar interesting items.

Vithanco released

Vithanco is the generic app that I had in mind for a long time. It is a superset to the other Applications, that is Vithanco IBIS, Vithanco Concept Maps, Vithanco TOC. So, you can open any of the files created with these Apps in Vithanco. In addition, you can use other Domains that I did not release separate, like Benefit Realisation of Impact Mapping.

Vithanco Logo

Besides the ability to work with more domains there is another big difference to the other applications. Vithanco allows you to define your own domains. Just create whatever graphical language that you want and create according diagrams. If you have a good domain definition, please send it to me and I will include it in future versions.

I changed the payment approach to the application in comparison to the single purpose applications and in comparison to a previous announcement. I decided to sell 365 day licenses as In App Purchase. Without the license you will need to live with a watermark and with a limitation to 20 nodes. The annual license will remove the watermark and will allow diagrams with as many nodes as you like.

I thought I was ready to release late October but then I had issues submitting the Application due to some odd configuration issue, then I was stuck in Apple’s Review… However, I used the time to polish the Application. And now it is – finally – released.

Find it here: provide me with your feedback!

Current Reality Tree (CRT) Example from “It’s not Luck”

In the book It’s not Luck Goldratt’s hero Alex Rogo is creating a medium-sized Current Reality Tree. I re-created the CRT in Vithanco. 

The CRT from “It’s not Luck”

When creating the tree from the book I realised a few things:

  • Goldratt didn’t fully define the tree in the book. I needed to make some connections up for myself. Please let me know if I went wrong. 
  • Goldratt didn’t connect UDE #11 at all. If you have read the book then you know that it was the task of Alex Rogo to connect all UDEs. 
  • This seems to me to be the obvious example CRT. However, I couldn’t find anyone who had published this example. 

Fun fact: I only recently read It’s not Luck for the first time. This is actually quite funny as I have used the TOC Thinking Processes for quite some time but I was simply not aware that they were presented in this book by Goldratt. Instead I read the Thinking with Flying Logic a manuscript that is delivered together with the really good Flying Logic software (which was a huge influence for Vithanco). Furthermore did I read Lisa Scheinkopf’s Thinking for a Change. I even read Dettmer’s executive version book

However, I am happy that I now read the book as it is a useful introduction. Clearly, the book has a message and is therefore not a true novel and some of the examples are more questionable than others, but that is besides the point. I highly recommend the book. 

Diagram Logic

Vithanco diagrams can have an associated logic. They are guiding you to the right thinking. Vithanco has 3 different Logic Types. 

NoneNo logic associated
Sufficient CauseSufficient Cause means that from one statement the next statement follows. 
Necessary ConditionNecessary Condition means that each of the predecessor statements need to be fulfilled in order for a statement to be true. 

So, in a sufficient cause diagram, the following makes sense:

Sufficient Cause

Clearly, when I eat I am less hungry than before. Being less hungry is a direct consequence. Eating is sufficient to reduce hunger (ignoring some psychological effects). In comparison, preparing food is not sufficient. You can prepare food and not eat it. That leads to necessary conditions. 

Necessary Conditions

It is not sufficient to be 18 years old, you need as well in order to be registered in order to vote. Unfortunately, this diagram would not tell you if there is a 3 condition to be met in order to be able to vote, like living in a democracy. 

How to use this?

  • First and foremost, it should influence the way you think about the diagram. (Remember, Vithanco stands for “Visual Thinking and Communication”).
  • Choosing the right logic makes the model more comprehensive. You can use And/Or junctors in order to add more expressiveness to the diagram. 
  • Theory of Constraints (TOC) uses these two diagram types extensively. TOC is based on designing logically correct diagrams. 
  • If you drag from a node to a line in a sufficient cause diagram then Vithanco will create a AND junctor for you, do the same in a necessary condition diagram Vithanco will create a OR junctor. Both junctors are part of the Basics Domain. 
  • In the future Vithanco will use the logic type for diagram reviews. More on that at a later time. 

The diagram’s logic is shown in the upper right corner, in a non-obtrusive way. If you want to change it then need to go into the settings dialog and choose “Behaviour” in the settings dialog.

How to change the Diagram’s Logic

Then choose the intended logic.

Change the Logic here

In case you wonder, the Application is referencing this article.