# Node-RED Survey: Shaping the Future of Node-RED's User Experience

**URL:** <https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346>\
**Category:** News\
**Created:** [28 July 2025 10:46 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346 "2025-07-28T10:46:15Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![dimitrieh](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dimitrieh/32/101708_2.png) [@dimitrieh](https://discourse.nodered.org/u/dimitrieh)\
**Post date:** [1 August 2025 13:14 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/41 "2025-08-01T13:14:43Z")

</div>

> [@AllanOricil](#):
>
> add a terminal

Interesting! I am still attuning myself to both products, but I would see the value. FlowFuse already offers performance metrics insights per instance through their product, but is not a straight up terminal. This is mainly ot understand performance I would assume? What usecases do you use the terminal for?

---

<div class="post-metadata">

**Author:** ![dimitrieh](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dimitrieh/32/101708_2.png) [@dimitrieh](https://discourse.nodered.org/u/dimitrieh)\
**Post date:** [1 August 2025 13:15 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/42 "2025-08-01T13:15:47Z")

</div>

> [@AllanOricil](#):
>
> add floating/detachable pallete like the one found in gimp: not needed. I can just hide the palette and use the quick search node placement. It is faster than drag n drop. Forger about it

Can you elaborate here a bit. What UI do you often hide or not need (I assume)?

> [@AllanOricil](#):
>
> to connect to any of the remote hosts I have configured in my `.ssh/config`. When I choose one of those remote hosts, vscode connects to it, but is still running locally. Everything I do in it happens in the remote host instead of my host. The same could be done in node-RED.

I assume this is for the same usecase as needing a terminal directly, correct? Also, are you thinking here in just your local network or some kind of secured connection with instances outside of your LAN (with e.a. wireguard etc)?

Afaik, this is kind of what FlowFuse does already by allowing you to easily manage multiple/many instances from one (shared) interface.

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [1 August 2025 13:51 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/43 "2025-08-01T13:51:38Z")

</div>

> [@AllanOricil](#):
>
> add a terminal

When I hear the word terminal, I always point at [xterm](https://github.com/bartbutenaers/node-red-contrib-xterm) plugin for NR. might or might not be appropriate in this case.

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [1 August 2025 14:01 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/44 "2025-08-01T14:01:46Z")

</div>

Although I completed the survey at the start of the week, I wanted to highlight one feature that would be extremely helpful during wiring: **pan and zoom support**. I regularly use EasyEDA for PCB routing, where the mouse scroll wheel controls zooming, and the right mouse button enables panning. This makes it easy to start routing a wire, then zoom or pan to the destination point without interrupting the process as the wire remains attached to the cursor throughout. The same intuitive behavior applies to moving objects or groups, and greatly improves workflow efficiency. If something like this was available in Node-RED - then that would be brilliant.

---

<div class="post-metadata">

**Author:** ![joepavitt](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/joepavitt/32/59722_2.png) [@joepavitt](https://discourse.nodered.org/u/joepavitt)\
**Post date:** [1 August 2025 15:18 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/45 "2025-08-01T15:18:41Z")

</div>

Panning is already supported, clicking down the middle-mouse button will pan. Zoom is options+scroll on Mac (not sure of Windows equivalent), but the scroll is done from the middle of the canvas, rather than where my mouse is, which isn’t desirable.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [1 August 2025 20:05 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/46 "2025-08-01T20:05:57Z")

</div>

In that case, can we please have the cursor change when panning. 😃

Also, how to those poor folk who are forced to use Apple Mac’s cope as they only have 1 button! 😭

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [1 August 2025 20:34 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/47 "2025-08-01T20:34:42Z")

</div>

> [@gregorius](#):
>
> I always point at [xterm](https://github.com/bartbutenaers/node-red-contrib-xterm) plugin

+1 for that. But I wouldn’t vote for it to be built in. Also where is the terminal to be running? On the client device where the browser is , or on the server. Not quite the same ask as for vscode which is only running on one device.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [1 August 2025 20:39 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/48 "2025-08-01T20:39:32Z")

</div>

> [@dceejay](#):
>
> But I wouldn’t vote for it to be built in

I absolutely agree with that as I think I intimated further up the thread. Not everything needs to be crammed into Node-RED. Our Node-RED “hammer” does not need a chainsaw attached to it. 😃

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [1 August 2025 20:52 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/49 "2025-08-01T20:52:40Z")

</div>

> [@TotallyInformation](#):
>
> needs to be crammed into Node-RED

Amen to that. Or as they say today: true that. Or 100% this.

Total agree. Please don't cram this stuff into Node-RED.

Less is more when it comes to Node-RED.

Open up the internal APIs so that node packages can do more, things like being able to gets a heads when Node-RED starts/stops/restarts/flows reload, clearly defining when the lifecycle of a plugin begins, accessing the events when messages get passed around.

---

<div class="post-metadata">

**Author:** ![AllanOricil](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/allanoricil/32/106911_2.png) [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Post date:** [1 August 2025 23:10 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/50 "2025-08-01T23:10:00Z")

</div>

> [@dceejay](#):
>
> On the client device where the browser is , or on the server

On the server. Exec nodes run on the server, so the terminal would also be connected to the server that served the editor.

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [2 August 2025 08:00 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/51 "2025-08-02T08:00:34Z")

</div>

> [@AllanOricil](#):
>
> server that served the editor.

A more general solution would be able to store ssh keys in Node-RED and then select the ones to which one wants to login to. Something like visualising `.ssh/known_hosts` and then being able to login to any machine.

One step further: have a [tmux](https://en.wikipedia.org/wiki/Tmux)-like experience whereby one connects to multiple machines and executes the same command on all of them at the same time.

Especially if windows where detachable in Node-RED, this would be a fun experience!

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [2 August 2025 10:39 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/52 "2025-08-02T10:39:53Z")

</div>

> [@gregorius](#):
>
> able to store ssh keys in Node-RED

I believe that would be a very bad route to take. security keys should be kept in their native or other secure stores, Node-RED cannot be that.

Even having `known_hosts` in Node-RED may be an issue - I haven’t really thought it through. Certainly it would need some careful thought before committing.

It is generally not good cyber security practice to combine security data with other systems as it gives more vectors for attack and failure and makes systems more brittle.

> [@gregorius](#):
>
> One step further: have a [tmux](https://en.wikipedia.org/wiki/Tmux)-like experience whereby one connects to multiple machines and executes the same command on all of them at the same time.

Personally, I would be against building such a thing into Node-RED itself. Too much complexity, too many ways for it to be attacked or otherwise go wrong.

A contrib node perhaps though I personally would certainly be very wary of using such a thing without seeing some serious security testing.

> [@gregorius](#):
>
> Especially if windows where detachable in Node-RED, this would be a fun experience!

Well, each to their own! 😊

I am more than happy having my remote terminals separate and dedicated. Even with remote VS Code, I rarely use the terminal except for a quick `npm update` or similar, I have Windows Terminal which gives me a far better experience in a tabbed interface where I can tear off a tab if I need to.

---

<div class="post-metadata">

**Author:** ![AllanOricil](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/allanoricil/32/106911_2.png) [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Post date:** [2 August 2025 11:05 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/53 "2025-08-02T11:05:11Z")

</div>

> [@gregorius](#):
>
> A more general solution would be able to store ssh keys in Node-RED and then select the ones to which one wants to login to. Something like visualising `.ssh/known_hosts` and then being able to login to any machine.

I want the user flow to be exactly as the one I do when writing code in vscode, but for when writing flows with nodes in node-red. The keys to my remote node-red instances would be in my host machine at .ssh, and somewhere in a node-red client running locally, which also has access to .ssh, there would exist a “connect to” button that would list the remote hosts based on the list of hosts from .ssh/config. Once I select one of the hosts, a new browser tab running would open but this one would be connected to the host I selected. I want the same experience as found in vscode.

---

<div class="post-metadata">

**Author:** ![dimitrieh](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dimitrieh/32/101708_2.png) [@dimitrieh](https://discourse.nodered.org/u/dimitrieh)\
**Post date:** [5 August 2025 12:53 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/54 "2025-08-05T12:53:38Z")

</div>

Quality of Life improvements regarding the editor and management is high on the list for sure! Keep the little details coming. Taking them all along!

PS: Survey activity has been quite good so far!

---

<div class="post-metadata">

**Author:** ![dimitrieh](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dimitrieh/32/101708_2.png) [@dimitrieh](https://discourse.nodered.org/u/dimitrieh)\
**Post date:** [7 August 2025 08:55 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/55 "2025-08-07T08:55:41Z")

</div>

FYI: the survey will run until Aug 16th!

If you know anyone who would be a valuable respondent, please share the url with them :).

> **[Node-RED Modernization Survey](https://survey.nodered.org)**
>
> We're excited to modernize Node-RED's user experience, and this survey will play an important part in that.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [7 August 2025 09:04 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/56 "2025-08-07T09:04:59Z")

</div>

I've asked a question on the new UK Government Low-Code digital community to see if anyone else in government is using it. If they are, I will send them the link if they don't already have it. 😃

---

<div class="post-metadata">

**Author:** ![AllanOricil](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/allanoricil/32/106911_2.png) [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Post date:** [7 August 2025 16:35 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/57 "2025-08-07T16:35:47Z")

</div>

> [@TotallyInformation](#):
>
> UK Government Low-Code digital community

Does it really exist? Is it a reddit community?

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [7 August 2025 17:47 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/58 "2025-08-07T17:47:35Z")

</div>

Yes, it really exists. No, not Reddit, nor even Slack. But rather Teams.

Sadly, mostly occupied by MS Power Platform rather than a real low-code tool like Node-RED! ☹

---

<div class="post-metadata">

**Author:** ![vrilcode](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/vrilcode/32/99050_2.png) [@vrilcode](https://discourse.nodered.org/u/vrilcode)\
**Post date:** [8 August 2025 09:39 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/59 "2025-08-08T09:39:45Z")

</div>

I’ve done the survey, but I forgot two functionalities, that would be great to have:

1. Node-RED has awesome data transformation possibilities with JSONata (it’s a beast, but powerful). What I miss is data validation functionality to check, whether incoming data is appropriate. Something like Zod, but in a way that feels more “natural” for Node-RED.
2. Mustache templating is fine, but it is very restrictive. Would be great to have more flexible templating language in the core. One could argue, that data preperation should be done before templating (with JSONata, for instance), so Mustache is sufficient (or intended), but I think preparing data for display purposes is better placed in a templating language (date and number formatting and so on, calling functions from templates somehow - maybe).

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [8 August 2025 10:07 UTC](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346/60 "2025-08-08T10:07:26Z")

</div>

> [@vrilcode](#):
>
> Node-RED has awesome data transformation possibilities with JSONata (it’s a beast, but powerful). What I miss is data validation functionality to check, whether incoming data is appropriate. Something like Zod, but in a way that feels more “natural” for Node-RED.

There is [json schema](https://flows.nodered.org/node/@gregoriusrippenstein/node-red-contrib-validation-and-documentation) validation which partly perhaps provides what you're looking for. Admittedly [JSON Schema](https://json-schema.org) is a horribly complex and is a real pain to get right.

> [@vrilcode](#):
>
> Mustache templating is fine, but it is very restrictive. Would be great to have more flexible templating language in the core.

Mustache is designed to be functional limited because the intention is to have no logic in your templates. Which is a good thing. IMO everything else is a road to nowhere - Talking Heads.

[Previous page](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346.md?page=2)

[Next page](https://discourse.nodered.org/t/node-red-survey-shaping-the-future-of-node-reds-user-experience/98346.md?page=4)
