Vertical flow view

Agreed. I only meant to offer different (odd?) ideas on where to draw the line.

Indeed, but there is information conveyed by whether the icon is to the left or right of the label. To extract this information, the user has to scan the node from left to right. Admittedly, this is not a lot of information, and I suspect it is usually ignored. Still, the visual logic I was driving at is that the flow should be scanned as much as possible in only one direction. The current horizontal layout is almost ideal on that score. I suspect that the "vertical" one will require a certain amount of "mixed" scanning, and I was trying to minimize that.

Would using both vertically and horizontally wires on nodes within the a single layout ever be considered?

You the option in the json could change the default appearance of the nodes, but if you go to the 'appearence' tab for the node where you change the label and icon, it would be nice to have an option there for horizontal or vertical wires/plugs/connectors for that node only.

I would like to see both orientations supported in the same flows. And a system-wide default of vertical, horizontal, or mixed would be good. Then I could have flows with both :smile: I'm not OCD about my wires and stuff, but some of my flows are so large and messy and there are so many links peppered around that it's a pain to come back into a month later for a simple change because it's lost a part of the natural intuitive UI design that is node-red.

My 2 cents ...

There are clearly some interesting benefits to vertical view but IMHO if it's implemented in NR it should not just be "an option" ... it should be a feature and it should change automatically depending on the relative positions of each node (something like automatic routing in diagrams design software)...

I know it's asking a lot and it's probably not easy because it involves a lot of parameters to take into account but I think a half-baked optional-if-not-activated vertical flow view would deserve NR more than it would be useful ... it has to be that super-cool feature that would blow your mind when you design flows ... something easy to use and intuitive, simple and powerful .... something that would differentiate NR even more and show the world it's the best for one more reason !

Hi,

In the following case, lines look crowded

image

Maybe, it looks more smart

image

Regards,
sakazuki

until people want to add arrowheads to the wires

1 Like

@sakazuki, why can't the wires be straight?

I'm still working on the routing of the wires. There were some issues with the routing you had - as I highlighted in the pr. I removed some of the advanced routing code, but need to add it back one but at a time to fix the issues.

@dceejay on the question of arrowheads... That is a separate piece of work and requires changes to the wiring in both directions.

Hi Nick,
Nice work. Looking like a good step.
I sort of agree with another poster that while I understand that lots of people may like vertical flows I will probably not make them my default. You mentioned in an earlier comment that you were not sure if the configuration choice would be with the flow or the editor. How about a "default" value being in the editor but an over ride being on the flow. That way if you use predominantly one type of flow but run into a case from time to time where the other "just makes sense" you can switch that flow. Just a thought, without of course understanding any of the code implications or level of effort. But it looks good so far!
-- Ray

Nice work! :slightly_smiling_face:

As for the layout option: I am also thinking that a setting per tab would be the best trade-off. A global setting is too restrictive, and a per-node setting is configuration overkill.

One tab represents one piece of work where you can decide how to best arrange your nodes. With my current projects in mind, I would not use one flow direction exclusively, but the one that provides the best readability for the current tab.

That woulf be nice. But if you look at the original pull request, you will see that even the palette is horizontal or vertical. So I'm afraid that a setting per tabsheet could have quite some impact on the current implementation, i.e. a lot of extra hard labour...

But as I've said all along, there is already lots of work to be done to get the user experience right. Just because the current implementation does one thing, it doesn't mean that's what we'll ship. And is also why, initially, it will be controlled by a flag in editorTheme - it will be an experimental feature that is subject to change until we're happy with it.

5 Likes

I'm late to the party here, and I know that the editor should not support both left right and top bottom orientations... but what if there was the concept of Left/Right or Top/Bottom magnets for the nodes?

It means that the editor would let you specify on each node where the ports are rendered - this node setting could be added to the Appearance tab so it would be available on all nodes (stock and custom).

There could be a user preference of which is default when a new node is added to the pallet, but this would allow flows to be shared and rendered correctly.

I haven't put enough thought into what a mixed layout would look like, so this may be a stupid idea :slight_smile:

3 Likes

A mixed layout would be the best visual outcome, as well as for exporting/importing because the original layout would be maintained.

But I imagine that it would cause the most work for the core devs to implement.

I can't imagine that anyone would want to keep going into those settings to switch if I'm being honest. I find it annoying that I have to go there to turn off the label! :woozy_face:

The best possible outcome in my view would really be an intelligent router such as those found in diagramming packages. But let's be honest and realistic. The amount of work involved would be enormous vs how many other far more critical things are on the backlog?

Thats why I suggested a user default. For me, there are only certain nodes in a flow I would need to switch to Top/Bottom in order to make it render nicely. The rest can just use the default setting.

And - if its such a pain to navigate to the appearance settings, maybe that's a separate discussion. I've wondered why the tabs don't just render as tabs in the node editor...

1 Like

I don't know if it's just me, but whenever I switch to vertical flow view, I find it difficult to type...

16 Likes

What if the top & left edge of every node were inputs, and the bottom & right edge were outputs? The ports themselves could have a slightly different shape to make it more obvious which are inputs and which are outputs (like a plug and socket).


Please excuse the crudity of this model. I didn't have time to build it to scale or paint it.

1 Like

That isn't going to happen :slight_smile:

3 Likes

What would happen with multiple outputs? This would get very messy.