XOD 0.11.0 released


We are glad to announce the first update for XOD. The main direction of this update is making thing simpler. The discussion “Do you get the idea behind pulses?” showed us that XOD should and can be easier to understand. Thanks for your comments.

Note for existing users

If you already have XOD installed, then you have a workspace with your projects and a copy of the standard library. We won’t touch the workspace during the update. To use the new simplified nodes you’ll have to either:

  • Delete the existing workspace at C:\Users\<yourname>\xod and restart IDE
  • Create a new workspace after the update via main menu: File → Select Workspace

Release notes

Features and enhancements

  • Remove pulse pins in most nodes. They now react to changes of input values immediately without any help of pulse signals. This slightly shifts XOD paradigm toward more simple and casual. Check out updated tutorial to see how the change simplified programs.
  • Where pulses are still necessary they can be quickly bound with Inspector to a value “On boot” or “Continuously” without placing a new node with pulse source.
  • Boolean outputs are now allowed to be linked to pulse inputs directly. A change of value from false to true is considered to be a single pulse.
  • Patches now may include a long description with Markdown formatting and images. The description would appear on patch documentation page at http://xod.io/libs/.
  • Add patch properties to Inspector. It allows editing a patch description which once published would appear as a documentation string on http://xod.io/libs/.
  • Add project preferences dialog to set description, license, authors. They would appear on http://xod.io/libs/ as well.
  • Add “Help” item to the main menu with links to the documentation and forum.
  • Sign distributives for Windows and macOS so that they no longer bark on you when you launch the installer.
  • Implement desktop IDE auto-update. Now you don’t have to download and install a new version of XOD manually. Existing version will check for updates and suggest upgrading with a single click once a new version would be available.

Bug fixes

  • Fix silent error when trying to transpile a patch with patch nodes of 2+ depth level. Now they work regardless of nesting level.
  • Fix silent error when trying to transpile a program with loops (graph cycles). Now a clear error message is shown if there a loop is found.
  • Fix Linux IDE failures on the first start. There were file permission problems which appeared as “Switch workspace directory” dialog appearing over and over again.
  • Get rid of errors and warnings on start related to React in the developer console.

Download the update

Follow up to Downloads page to download XOD IDE v0.11.0.

1 Like

Thanks a lot for this release, it seems to works very nice on debian now :slight_smile:

I have read very very quickly the updated https://xod.io/docs/tutorial/nodes-and-links/

I think however it’s still quite difficult to understand. A good way, but very difficult, could be that without reading an external documentation we could understand how it works (ie with blynk or snap4arduino).

The things that i don’t understand quickly, without reading the doc are :

  • IVAL
  • REST
  • RST
  • TICK
  • MEM
  • PORT
  • SIG

I know a little about arduino ide code : set up, void, high, low, output… and knowing this, i cannot make relation quickly with the REST, TICK, MEM, SIG…

So some ideas to try to make it more easy to understand without reading the documentation :

  • write more understandable things instead off TICK, MEM, SIG… ? (ie : SET -> ON ?, RST-> OFF ? PORT -> PIN ? but i’m not sure to understand and i’m a newbie with this things)
    and/or add a description when the mouse is over TICK, MEM, SIG ? (but how to integrate this if we use a tablet and not a computer with a mouse :confused: ) ? ie if my mouse is over PORT i can see a pop up that say "The PORT defines what physical pin corresponds to the node. " ?
    and/or add pictures ? (off -> some thing red, on -> something green ?)

other ideas ?

Maybe the description easy accessible could be a very good way to start to make it more easy to unnderstand, no ?

my 2 cents, and thanks a lot for working on this project and making it open source.

Some thing cool could be having a version that could run on nano computer (ie : orange pi) that use ARM. I have no idea if an appimage can be used on arm nano computer. And sory for my bad english, i hope that you understand what i try to write :slight_smile:

@pepe Thanks for trying the new version. My English isn’t better :blush:

Agree 100%. These awkward abbreviations come from the restriction of maximum four characters per label. Otherwise, we’ll have problems with the layout. On the other hand, they are not our invention. The same thing is actively used in datasheets when vendors describe pins of their ICs: MISO, MOSI, SCK, Vcc, GND, etc. They hard to understand at a first sight, but once you get an abbreviation expansion you can understand and recall information quickly and easily.

I think that if we could provide an easy access to short documentation for a node and its pins it would solve the problem you’ve described. We’re working on it and here are drafts from our designer:


It’s work in progress and we’re looking for intuitive solutions. (…and, yes, we’re going to redesign the patch board)

XOD IDE is based on Electron and it is memory hungry. I’m not sure ARM low-end computers would provide decent performance. Although the idea is compelling. One of the nearest plans is to make browser-based IDE more powerful and usable. Once we’ll do it lets see how usable it would be on RPi & friends.

Ok thanks for your reply.

+1 Very nice :slight_smile:

Excellent ! Very interesting tool.

Now we can find 2Go Ram 4 core ARM nano-computeurs. Maybe this could be enough ? (ie. Orange Pi Win Plus but the hardware seems not already supported by the software)

I saw on https://electron.atom.io/docs/all/ searching ARM this :

Cross compilation

If you want to build for an arm target you should also install the following dependencies:

$ sudo apt-get install libc6-dev-armhf-cross linux-libc-dev-armhf-cross

And to cross compile for arm or ia32 targets, you should pass the --target_arch parameter to the bootstrap.py script:

$ ./script/bootstrap.py -v --target_arch=arm


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.