After using XOD for a while I wanted to give some general workflow suggestions to make life easier whilst making your script. I’ll list them in order of personal importance.
Need a right click menu. This is probably the biggest hindrance to me. Having to move my hand from the mouse to the keyboard to perform keyboard commands (such as delete or copy & paste) really slows down the pace in which I can work.
The ability to move or curve / bend splines. I spend a decent amount of time in any visual scripting system making sure that my splines do not pass behind other nodes. This improves how readable the scripts are as well as giving it an overall cleaner appearance.
Need to be able to zoom out and move the view able area whilst dragging a spline. At one poiint I have to connect one node to another that was outside the viewable work space and it turns out this is not possible. The screen does not move when dragging a spline to the edge nor can you zoom out to view more area.
Mouse over tooltips. Rather than having the help pane taking up half of the screen I think it would be easier to just mouse over the inputs / outputs of a node to get more information on how it functions. The help pane however is still very useful in determining the function of a node before you drag it out to the workspace.
Hello @nick, welcome to XOD forum and thanks for sharing your thoughts!
The common pattern is having one hand on the mouse while the another is pressing shortcuts on the keyboard. Doesn’t it work for you?
That’s a very questionable thing that did not get a consensus yet. The problem is not in bending and curves per se but is in the fact everyone wants to see a clear graph without intersections, overlaps, etc. If we’d give arbitrary control of link shape I afraid that would be perfectionist hell. Instead of making a program, he would spend most of the time in search for a nonexistent layout perfecto. I’m struggling to find a way when all links would bend automatically to achieve the best readability result.
If someone has an elegant automatic solution, I’d like to hear!
I thought you can pan with the middle mouse button while linking… Checked it, it doesn’t work. That’s a little flaw we can fix easily.
Zoom is harder to implement, but doable. Will add it in one of the future releases.
Our UI designer tries to mock up pin tooltips right now.
When I start the program I will be asked which project should be loaded.
Often I want to import a .xodfile project and it is not necessary to load a local saved project first. It would be nice to choose if I want to open a local saved project or import a .xodball project.
Alternatively the program can be started with no project open. Then I have to load or import one from the file-menu.
Perhaps I’ve been spoiled by all the other visual scripting systems I’ve used but I feel rather handicapped without a right click menu. Think of it this way. All other OS’s you have used has had a right click menu. Then you go to an OS without a right click menu. Sure you can get around with keyboard commands but it will feel cumbersome without. On top of that I very often switch my mouse between my left and right hand which makes keyboard commands often take longer rather than save time.
This is like saying,
" If we give programmers the ability to make comments then they will be worried about commenting on everything rather than programming"
Obviously this is not true. Everyone will only go as far as they want to make it look good.
I feel your pain. And yes, we have plans on load/save unification so that it will be more familiar to “traditional” applications where a thing you’re working on could be saved in a format of choice at any FS location.
So, xodballs and multifile projects will become equal in their rights and a user will choose the desired format right in the Save As file dialog. On start we could either open the most recent project or the tutorial project.
Someday we’ll see XOD on Android and iOS tablets. They have no right (nor wheel) click. So I tend to be careful of right-click menus. Although if they are just shortcuts to actions that could be done in another way, why not?! Sounds reasonable.
Can you provide an example of a context menu (where and with which items) you think xoders would benefit most?
Good point! But I believe the default behavior should be adequate enough so that most of time you would not want to adjust the curves. When we’d have that we can think about free-form bending.
BTW, what do you think about XOD grid? Do you think a more relaxed, dense, and homogenous grid (which gives more positioning freedom) would work better?
I think the basics would be great for most situations such as Copy, Paste, Delete, ect. Some more advanced options would be really nice too such as Paste With Links, Paste Without Links, Break Incoming Links, and Break Outgoing Links.
Personally I’d prefer a floating point grid where you can drag a node to any point on the grid however I think that actually makes very little difference in attempting to make the script readable. I think the biggest determining factor in whether or not someone can come along behind you and follow what you did is if they can adequately follow the links. If the links hide behind nodes or form a tangled web with no order this becomes much harder.