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

With the Node-RED 4.1 release coming this week, it's also time to look more to the future and think about where we're headed as a project.

Development tools in general have changed significantly since 2013 when Node-RED started, and we know there are areas we could be improving to keep Node-RED relevant. We want to make sure we're meeting the expectations of its users; from improving the learning curve for newcomers, to ensuring the editor feels modern and easy to use.

Community-Driven Modernization

To help bring a focus to this, we've asked @dimitrieh to lead a piece of work around how we can modernize the overall Node-RED experience. Dimitrie is a product designer who began as a community UX designer and became part of the first design team for GitLab and later worked at Postman. Open source is close to his heart, which is why he's perfect for understanding what makes Node-RED special while identifying how we can improve it.

This isn't about imposing changes - it's about understanding what's working, what's not, and how we can improve Node-Red to make sure it can continue to thrive and grow. We're looking at Node-RED holistically: the editor and broader application experience, community resources, contribution flows, and the entire holistic user and contributor experience. Our goal is a more vibrant community with diverse contributors, making Node-RED easier to work with, more professional, and welcoming to all skill levels.

Importantly, Node-RED remains a community-driven project under the OpenJS Foundation. While my work at FlowFuse allows me to dedicate time to Node-RED, this initiative is about strengthening the entire ecosystem for everyone.

Your input shapes the future

We want to start off with an immediate opportunity for you to give feedback.

Dimitrie has created a comprehensive survey covering your experience, challenges, what makes Node-RED feel like Node-RED to you, your needs and friction areas, and your vision for its future.

This is a bit different to previous community surveys we've done and is much more focused on how we can modernize and improve Node-RED by understanding your experiences of it.

Take the Survey Here: https://survey.nodered.org

The survey takes up to ±10 minutes and will run for about three weeks after which we will conclude and share the insights.

Whether you're a hobbyist or running production deployments across multiple Node-Red instances, your perspective matters. We'll use your feedback to develop a community-driven roadmap with concrete, contributable elements we can work on together.

Any questions, let us know!

7 Likes

Hi everyone and thank you Nick for the introduction :folded_hands:!

It is a pleasure to dive into Node-RED which has been on my radar for quite a while. I am at your service and looking forwards to making Node-RED better together! You'll see me engage in the coming time across all places Node-RED, researching, asking for your input and feedback, sharing ideas/designs, contributing code, and more.

The survey really is the just the starting point, and though a bit lengthy, really ensures that we start off by gathering your input to base decisions on going forward. It would be wonderful if you can take the time and give it your best shot! :flexed_biceps:

Feel free to reach out to me here for anything or find my socials and extended information on my GitHub profile (dimitrieh (Dimitrie Hoekstra) · GitHub).

Cheers

2 Likes

@dimitrieh

The question in section 1 - " What is your primary purpose for using Node-RED? (Select max 2)"
I selected the first option - hobbyist, and continued.
But when I tried to progress to section 2, it claimed that I had not completed the last option - 'other', in the question mentioned above, and I couldn't progress any further.

1 Like

Thank you Paul. This should be solved now! Could you try again? This was the only logic block that was configured this way, which created this bug. This should now be resolved as it has been aligned with a few places elsewhere

1 Like

Yep! That allows me into Section 2.
I'll complete the survey later this evening, as I'm not home now.

1 Like

Welcome Dimitrie, we look forward to your insights.

I'll be doing the survey shortly.

1 Like

Did you (the team at FlowFuse, not you you!) create that survey using Node-RED?

Just out of general interest because it would be a nice use case. And if yes, it would be great if you shared the flow behind the survey.

Hi Gregorius, I had thought about this idea actually. Building out the survey completely and/or just aggregating responses into e.a. a google sheet using Node-Red. However, I decided against it as this survey is intended to reach quite a big audience and it was not worth the risk of losing survey responses. Though it could be done, without rigorous testing the implementation would be the weakest link there :upside_down_face:. This survey has instead been built with Tally which is quite nice to work with.There will be future opportunities to use and dogfood Node-Red. One of the examples is data aggregation from GitHub (e.a. counting GitHub release downloads of a repo over time as the GH API does not support this sadly) :slight_smile:

1 Like

Section 6: "UI Builder" is actually "UIBUILDER" by the way - as the author of it, I do find the constant mis-use of the name somewhat grating. :blush:

Hi @dimitrieh

Exactly this - 100%.

No risk, no fun! :wink:

I actually created FlowHub.org in Node-RED (it's about 6 flows in total) and am now recreating Node-RED in Erlang --> GitHub - gorenje/erlang-red: Breadboard Programming for Erlang inspired by Node-RED

My blog is also created in Node-RED including the content that are just a bunch of template nodes --> blog.openmindmap.org

So my biggest hope for the future of Node-RED is that it becomes more generic and used as a general tool for development. And that really does start with a dog and it's food.

Great, now I don't have to do the survey :slight_smile:

1 Like

Actually, I have a flow that does this for my nodes. :slight_smile:

Based on NPM stats rather the GH though.

1 Like

It's a pity that these things don't get shared more - many folks waste their time recreating what others already have ... but who am I to say that!

Ok, that reminds me: A second wish I have for the future of Node-RED is flow sharing something like GitHub does for text code ....

1 Like

I have shared it before. :slight_smile:

1 Like

The problem with having people share their code is that you still need to wade through 1000's of entries for something that may do half of what you want.

While a small percentage of my scripts are generic and may be able to be shared, most of what I do is high specialised to what I need to achieve.

For example, one of my flows takes all the books I like on royalroad.com, downloads the content of each chapter and uploads it to a self hosted bookstack (bookstackapp.com) instance so that I have an offline copy.

1 Like

Noted and updated!

1 Like

A second wish I have for the future of Node-RED is flow sharing something like GitHub does for text code ....

Could you elaborate here? What is it that you are looking for exactly and how are the current solutions not solving for that?

Something that somehow doesn't happen at GitHub or GitLab or Sourceforge or SourceHut where software is shared successfully and simply.

I think there is a lack of imagination of how to do this right for visual code is the issue here.

There are no problems in sharing code, the problems lie in seeing the solution of proper, well indexed and searchable visual code repository. It's solving the issues that is hard. But - as many social code websites prove - it's possible.

Have a look at what I have done with FlowHub - install the nodes, create a github token and try it out in Node-RED. I also created some screencasts explaining flowhub in more detail how and for what to use it.

Which actually brings me to a third wish (after all there are three wishes with each good genie!) that creating nodes was easier and doable within Node-RED itself. Again, I created my own solution using NodeDev but that's perhaps not the solution rather an attempt at a solution.

P.S. I come from a developer background so I'm not the "normal" user of Node-RED, hence my "frustration" at the lack of "developer" tooling around Node-RED. Just between the two of us, I see Node-RED as a glorified Emacs :wink: As such, I want to extend my editor using my editor.

P.P.S. all the tooling I created, I use daily. So I'm doing a lot of dogfooding. I can't stand the taste of it any longer!

1 Like

I know we've discussed this before, but your reply seems to ignore the existence of flows.nodered.org where users can share flows, they are searchable etc etc. I'm not claiming its perfect - we have had recent interest in making some concrete improvements to the overall UX of the site (Flow pages improvements · Issue #119 · node-red/flow-library · GitHub).

2 Likes

A quick flow to grab stats from GitHub - been meaning to do this for ages.

[{"id":"37baac2d95f2f953","type":"inject","z":"9bbe96e.8c46268","name":"config","props":[{"p":"gh_token","v":"#:(file)::GH_TOKEN","vt":"global"},{"p":"headers","v":"{\t    \"Accept\": \"application/vnd.github+json\",\t    \"Authorization\": \"Bearer \" & gh_token,\t    \"X-GitHub-Api-Version\": \"2022-11-28\"\t}","vt":"jsonata"},{"p":"repo","v":"totallyinformation/node-red-contrib-uibuilder","vt":"str"},{"p":"url","v":"\"https://api.github.com/repos/\" & repo","vt":"jsonata"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":230,"y":480,"wires":[["8be13a5c454f34ac"]]},{"id":"cb0c3b24a4225332","type":"debug","z":"9bbe96e.8c46268","name":"debug 31","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":475,"y":480,"wires":[],"l":false},{"id":"8be13a5c454f34ac","type":"http request","z":"9bbe96e.8c46268","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"https://api.github.com/repos/totallyinformation/node-red-contrib-uibuilder","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":370,"y":480,"wires":[["cb0c3b24a4225332"]]}]