Node-RED vs NETLab Toolkit

206 views
Skip to first unread message

jackste...@hotmail.com

unread,
Jun 11, 2017, 10:19:32 AM6/11/17
to Node-RED
Hello,

I am interested in understanding they key differences between Node-RED and similar open source visual programming tools, particularly NETLab Toolkit.

As far as I can tell both sit on top of node.js, both use a browser based programming environment with the code being a combination of HTML, CSS and JavaScript with GitHub being the repository.

If anyone can help me to understand the differences and particularly how Node-RED stands out from its competitors that would be greatly appreciated.

Julian Knight

unread,
Jun 11, 2017, 4:47:25 PM6/11/17
to Node-RED
Interesting, not seen NTK before. Not very hopeful though when I discovered that the Windows download isn't actually attached to anything. Also, the release cadence seems pretty slow with the last release in January.

Even worse is the fact that, although this seems to use Electron, they are not seeming to issue a universal GUI version.

Downloaded the "universal" version on Windows, tried to start is as per the instructions. Not only does it seem to set the command environment to an almost unreadable background colour, I get the following errors:

> node cli.js

module.js:471
   
throw err;
   
^
Error: Cannot find module 'socket.io'
    at
Function.Module._resolveFilename (module.js:469:15)
    at
Function.Module._load (module.js:417:25)
    at
Module.require (module.js:497:17)
    at
require (internal/module.js:20:19)
    at
module.exports (C:\node\NTK-Server-1-1-8\netlabServer.js:8:13)
    at
Object.<anonymous> (C:\node\NTK-Server-1-1-8\cli.js:1:101)
    at
Module._compile (module.js:570:32)
    at
Object.Module._extensions..js (module.js:579:10)
    at
Module.load (module.js:487:32)
    at tryModuleLoad
(module.js:446:12)

At which point I gave it up as I've better things to do with my Sunday evening :(

Julian Knight

unread,
Jun 11, 2017, 5:47:32 PM6/11/17
to Node-RED
As this is a node.js application, why on earth are there multiple downloads?!

Urgh, just looked at some of the code as well and it breaks some pretty well trodden style conventions of JavaScript programming such as mixing tabs and spaces for indentation, mixing processing with vars, mixing " and ' for different strings. Maybe I'm being picky now but this combined with the other things leads me to suppose that code control and consistency won't be very good.

OK, so it took 4 attempts at doing npm install to get the missing modules - might just have been my backup job running that made the phantomjs download fail a few times.

Then on start, it found a locally connected ESP8266 which it then errored on because it wants Jonny5 on it which I don't use.

The "widgets" seem to correspond to Node-RED's nodes but there aren't many of them:

I/O
AnalogIn
AnalogOut
DigitalIn
DigitalOut
Mic
Servo
NETWORK
CloudIn
CloudOut
OSCInO
SCOut
Webhook
UI
Button
HTML
Keyboard
Knob
GENERATOR
Data
Pulse
Sequence
SpeechIn
SpeechOut
Tween
LOGIC
Boolean
CodeC
ount
Gate
IfThen
Mix
Process
Splitter
MEDIA
Audio
Image
Text
Video

I tried to wire up some text to speech out but it didn't work as expected and I found that the interface was only really sensible for hardware input. To test the speech out widget for example, you have to click on some text at the top-right of the widget, not a standard UX. But to be fair, it did work.

The output UI is also mixed with the widget displays which gives a very poor UX again. You can turn off the widgets though that only works for widgets already added to the UI which is also weird. Also not nice that adding new widgets always places them in one spot so adding 2 puts them on top of each other.

So I'd say that, putting aside all the quality and UX issues, NTK is a lot more limited than Node-RED. There are fewer widgets and the existing ones are rather larger than NR's so seeing anything other than the simplest of logic would be tricky. No tabs either. I think that you would also end up with a real mess of lines since they are all straight and many widgets accept multiple inputs.

Finally, I didn't see anything in NTK that you couldn't easily do in NR - though the ability to simulate incoming data in some of the widgets was interesting. The installation, on my Windows PC, takes up 100MB and I can't find where it saves your project, no obvious way to have multiple projects though clearly you are supposed to be able to run them in various ways so I'm guessing it is possible. The docs are minimal.

As you can tell, I'm not terribly impressed though a lot of work has clearly gone into creating it.

It won't be tempting me away from Node-RED I'm happy to report.

jackste...@hotmail.com

unread,
Jun 14, 2017, 3:36:54 PM6/14/17
to Node-RED
Hi Julian,

Thanks very much for the time and effort you have clearly expended on this investigation.  Interesting about the code quality front, was that something you saw in multiple files or was that from checking a single file?

The material on NTK is far more limited from my searches (including as you say on their website), and as such it's been difficult to compare things like product acceptance, download rates, usage in sectors etc etc, even though according to their site it's evolved over time since 2003.

From a glance it looked like they had less to offer in regards to widgets so thanks for confirming that for me.

I guess Node-RED is most likely still well ahead of the competition.

Cheers,
Jack

Julian Knight

unread,
Jun 15, 2017, 12:24:05 PM6/15/17
to Node-RED
No problem, it didn't take too long.

In regard to code quality, it was only a quick look. I'm afraid I can't remember which file I looked at now.

Obviously, I'm slightly bias towards NR having spent quite a lot of time with it now but reviewing products and deciding between them is also part of my job so I try to be fair throughout. I'll certainly not pretend that NR is perfect and there are areas I would wish were better developed. However, I think I've tried all of the flow and visual programming tools over the years with a few commercial exceptions and NR remains the more approachable product, if for no other reason than it is build around familiar tools including JavaScript, node.js, ExpressJS, etc. It is also remarkably reliable; once up and running, it keeps going through thick and thin. It doesn't seem to show the instabilities of a lot of open source applications.

Some of the development was a little slow for comfort at one point but Nick and Dave in particular have continued to push through and do what they can and more recently, the development cadence has really picked up not only in core but also with many new supporters. Also been good to see it move from an internal IBM project to one adopted by the JS Foundation.

One of my hopes for the future would be to see more general-purpose data transformation tools appear for NR and some have indeed appeared though not always well documented (common issue with open source of course). While I'm happy to use it at home for IoT, I don't tend to find myself recommending it at work where visual ETL (extract-transformation-load) tools can be very valuable. But I can see other organisations starting to use it which is really encouraging. I'd have no issues recommending it for professional use for IoT certainly.
Reply all
Reply to author
Forward
0 new messages