Separating Delay into Wait and Throttle nodes improves clarity, reduces user errors, and makes flows self-documenting, while each node’s icon reinforces its distinct behavior.
Throttle: it rate limits the flow. A "semaphore" or a "wall with a hole" icon? I dont know what better icon to use here
Wait: it is the timer. Use an hourglass icon. It is currently using an icon that resambles more a speedometer than a watch, which is weird.
This would need to be 2 totally separate extra nodes (which could as easily be contrib nodes), with the delay node staying as is so as not to break existing flows.
We could not remove the delay node until at least NR 6.0 (assuming it was deprecated as part of NR 5.0)
Without having telemetry on who uses the current node in each configuration, it would be highly disruptive at least to make this change. Certainly I couldn't tell you whether I'm actively using that node in either config even in my own flows.
Having to open a node's config to see what it does is hardly confined to the Delay node.
It is of course possible to change a node's name but if we can't indicate it's function in a reasonable number of characters, we can now see a badge when a node has a description.
Rather than creating new node types, would it be useful to tweek the recent "has description" badge so that it displays a tooltip on hover?
The tooltip could be restricted to show only lines from the description which use the h1, h2 or h3 buttons:
Another issue I found is related to the Trigger node. Its name is confusing because other nodes also trigger flow branches. A better name would be "Pulse" or "Signal". You can fix this in v6 as well.
To be clear, this is not a commitment, it is purely stating what the minimum timeline could be to remove a deprecated delay node (and that is assuming we choose to remove the delay node and not just keep all 3), the additional nodes would need to be available and have large amounts of community buy in long before then we ever decided to deprecate.
And we would still need somebody to create these extra nodes (which as mentioned could be contrib nodes to test them out before they are potential adopted by the core team).
Also this is in no way meant to suggest that the Delay node can not be improved to make it easier to use or to show how it is configured
Full disclosure I have a strong emotional attachment to the Delay node, as it was the first node not written by the core team (Nick & Dave), but by me....
Even if it was ever deprecated we would probably leave the existing one there but hidden somehow as we still don’t want to break flows if we don’t have to. The original delay node was enhanced to add rate limiting early on as it was all considered to be just “shifting the message in time” so it seemed sensible for them to be together. I guess the icon could be changed to be more representative based on the current mode - but the text/label clearly identifies it imho.
PS there is already a node-red-contrib-throttle if you want to use that instead.
Chatgpt and Claude Sonet 4 think like me. I see the same reasoning and maybe it is because I only have less than a year using node-red. This is a UX test that that guy working for Flowfuse could run to prove this hypothesis
I cant upload the last print. So this is its conclusion.
"Naming Confusion: "Delay" really only describes one of the two functions accurately.Your preference actually reflects standard practices in many other systems. For example, in programming frameworks, you typically see separate functions for sleep()/delay() versus throttle()/rateLimit(). The current design might have been a pragmatic choice to keep Node-RED's palette smaller, but from a pure design standpoint, your instinct for separation makes perfect sense. It's good design intuition, not bias!"
Maybe both AIs are just being "sycophantic" even when I asked non biased questions. Can't be sure.
They both argue they could be separate - or could be combined. It is a design choice… we chose to combine them. Both options are right. Currently the humans are in control…
After I asked Claude to be honest it agreed with the current design. Now im not sure if it was really being "honest" or if it decided to follow my instructions literally.
Personally, I really enjoy working with compact and clean palettes. For me, splitting this node doesn’t add much value— in fact, it can sometimes make it harder to locate the right one quickly. I find that the node descriptions already provide enough clarity about their function, so extra separation feels a bit unnecessary.
P.S. AI is a great tool for many things, but be cautious with its reasoning. It doesn’t actually think—it just generates the most satisfying response based on the prompt. So always use your own judgment and critical thinking when interpreting its answers!
When you ask any of the current generation LLM's whether they agree with you, they pretty much always will. This is because they are programmed to PLEASE, not to give an objective answer.
I'm not even sure that the current gen models CAN be honest. There seems little evidence that they can.
That doesn't make them unuseful. But it does make them dangerous, especially for opinions.
An AI model is a little more than that. But, no, it does not have innate opinions, but it DOES express opinions. Once that it has synthesised from online texts and ones that are statistically likely to make humans come back for more interactions.
When you ask a model for an opinion, it will certainly generate one. It doesn't really matter whether it "has" them or not.