Published in


XOD 0.23.0 Brings Buses and IDE Performance

It’s time for a new XOD programming language and IDE release. For the 0.23.0 version, XOD developers focused on a few pain points that frustrated xoders for a while.

First, it is IDE performance. We have implemented a few new features in the recent versions and although they carry xoding power they also negatively affected IDE responsiveness. Sometimes in a complex project just moving a node took a few seconds 😵. That’s because on every little change XOD IDE re-validated the whole project and all libraries to detect whether the difference introduced an error or not. That was massive overkill.

Now, when you make a change, the system analyzes does it have a chance to introduce this-or-that kind of error and runs only the relevant re-computations. It allows skipping the most calculations that were previously run in any case.

TL;DR: XOD IDE now works 5 to 10x faster when moving, creating, deleting links and nodes, binding values, performing a search, and monitoring watched values.


In not-so-trivial programs patches become really complicated from time to time because the web of links crossing everything everywhere makes the program really hard to understand and explain.

A patch with many links and no buses

At the same time much of visual complexity is often created by one or a few “link clusters.” To solve the problem XOD now offers so-called buses.

If you’ve dealt with electronic schemes, you know what GND and Vcc buses are: regardless of the number of their symbols on a scheme, they essentially denote the same wire, that is they are connected implicitly behind the scenes. XOD takes the same principle.

Take a look at a patch equivalent to the one above which employs buses:

The same patch with buses

Now it’s easier to see the main flow and the secondary links no longer pollute the canvas. Read more about buses in the new guide article in XOD documentation.

Watch and constant nodes improvements

One annoying thing about constant-* nodes is that by default they show “consta…” label rather than the actual value they hold. We addressed it and now constants show their values unless the label is intentionally overridden.

…But one slot in width is often too little to contain the whole value. The same is true for watch’es. So, we made the constants and watches resizable.

There are many other small improvements. Read the full list on GitHub.

Get the new version of XOD from the downloads page or try it directly in your browser. If you have XOD installed already, accept the upgrade offer when IDE starts.

Go, go, go!



XOD visual programming language use cases and projects

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store