
Nodes – JavaScript-based 2D canvas for computational thinking - uptown
http://nodes.io/story/
======
dang
All: the point about the name has been made by several commenters. I'm sure
the developers will see it. Please let's focus on more interesting things now.

------
ken
"Visual programming tools are as old as computer monitors."

That's an interesting statement. I always assumed they were much older -- and
that the current detour into 'lines of ASCII text' were a mere implementation
detail, driven by historical accident.

This[1] sure looks like a simple dataflow program to me, even if Gauss never
intended it to be implemented on a von Neumann machine.

I hate writing programs as text, but unfortunately, "text is the universal
interface" right now. It's easy to save, and diff and patch, and edit. There
isn't a general-purpose format for saving graphs, diffing/patching them, or a
decent selection of editors for them.

In 50 years, I'm sure we'll look back on today's programming the same way we
now look back on the pre-visual-editor era. You had the technology to create
general-purpose graph editors, but you didn't have or use any? Why not?

[1]:
[https://en.wikipedia.org/wiki/Cooley–Tukey_FFT_algorithm#/me...](https://en.wikipedia.org/wiki/Cooley–Tukey_FFT_algorithm#/media/File:DIT-
FFT-butterfly.png)

~~~
jmiskovic
No arguments here. We should move away from text into more visual domain, but
we lack a polished editing tool. Every visual programming language brings own
tools, incompatible with each other and lacking basic features.

Here's my wishlist: completely keyboard-driven; automatic graph layout;
constraint editing to tree/DAG/full graph; don't allow connecting incompatible
types; declutter by showing only N neighbours from current node; support for
extensions to integrate different programming languages. Sure it's a tall
order, but this is the building platform for future of computing :)

Since this thread is about Nodes, I'll try to give some constructive
criticism. Seems like too much manual work is needed to organize the code on
screen. Non-trivial programs become entangled because of 2D plane constraint.
It's somewhat unjustified criticism though, since text programs also require
lot of manual arranging ("architecture") and easily become hard to read. I
like the built-in visualization of processed data. Cool stuff.

~~~
marcinignac
They beauty of Nodes is that we are not limited by layout or connections. We
have successfully used redux for centralised state management with change
triggers distributed down the graph.

------
sansnomme
If you are looking for open source alternatives:

[https://github.com/retejs/rete](https://github.com/retejs/rete)
[https://github.com/newcat/baklavajs](https://github.com/newcat/baklavajs)
[https://github.com/jagenjo/litegraph.js](https://github.com/jagenjo/litegraph.js)

------
whywhywhywhy
Wishing there were a lot more node based coding options than just MAX/MSP,
Pure Data, Quartz Composer (RIP).

Bit disappointed theres so much information and even a UI history then no
download button just a sign up form though.

~~~
djtriptych
Also RIP to Shake by Nothing Real, then bought by Apple and killed.

One of the best node-based creative environments I've ever used.

~~~
BubRoss
Shake was the best of its time, but nuke is much better than shake ever was
and touch designer is much better for real time experimentation.

------
raxxorrax
You definitely have the blender look down.

Looks really nice. Will certainly take a look. Independent of data
visualization, I could imagine it being great for general business workflows
like some classic flow engines tried to model, but failed to give control to
users.

------
MrLeap
I've been making something very similar to this while I've been looking for a
job. A node-graph editor 'framework' in react. It's not as far along as yours,
and looks a little different.

My github has hitherto been empty, but my plan is to open source it in a few
days when it's at MVP status. Maybe that'll make me look more attractive to
perspective employers. Over a decade of experience hasn't kept my resume out
of the void it seems.

~~~
TomMarius
Please share the link if you publish it

------
0_gravitas
Cool! I've been wanting to play with Flow-Based Programming and related stuff
for a while so I'll definately give this a look. Could someone however explain
to me the difference between "node-based" (the term used here) and "Flow-
Based" Programming? It seems like the sentiments are pretty similar but
perhaps I'm missing something.

------
marcinignac
Hi, one if the authors here. Happy to answer any questions.

~~~
_bxg1
Does it have a means for outputting things like image files or 3D models, or
only packaged apps? Also, is there audio support? And what's the pricing model
going to be like?

~~~
marcinignac
We have nodes for saving high-res png/jpg images, image sequences for
animation/video up to 4k, obj/gltf meshes, csv/json for data and so on that we
used for various projects in the past.

We will have more news about availability at a later date.

~~~
D_B_Koopa
Any plans to have it generate GLSL?

~~~
marcinignac
I have used it for shader graphs and shadertoy like raymarching scenes.

------
ngz00
Anyone know of a framework for building out tools like this one with our own
blocks? I have a use case for an internal tool to enable constrained
configuration builds.

~~~
tyleo
I have a framework that does this. Send me mail at tyleo@devev.com if you are
interested.

[https://m.imgur.com/a/zLS1g0t](https://m.imgur.com/a/zLS1g0t)

------
psychometry
>*(not to be confused with node.js)

Searching for anything about this project will be a nightmare. It's not too
late to change the name.

~~~
maratumba
How about "knodes"?

~~~
alpaca128
That sounds like a mix between nodes and the german Knoten. I like it, it's
just a small change but would definitely reduce problems.

------
athenot
This looks really cool. It's like a javascript version of Quartz Composer.
This kind of interface has been in my mind for quite some time, there's some
really cool things that can be build and visualized in it.

------
alexisnorman
This looks amazing but the performance is a bit worrisome being entirely in
JavaScript / web based; if you've ever made a complex Max patch using the
native app, it is incredibly memory intensive. Maybe with all the improvements
/ sick libraries we have now with 3D, audio, processing, etc. will make that
moot; but laptop fans go wild on Max (which is mostly Java)..

~~~
onion2k
Memory intensive apps in JS are largely OK so long as they use proper typed
arrays and buffers. Besides, looking at the examples, there's a lot of WebGL
going on in the outputs so it's not _really_ JavaScript.

------
pazimzadeh
I'm glad this exists - I was looking for a replacement for Moonbase
(discontinued): [https://www.theverge.com/2012/12/19/3783616/animate-your-
mem...](https://www.theverge.com/2012/12/19/3783616/animate-your-memes-with-
vimeo-creators-new-project-moonbase)

------
mattdesl
This looks great. We can always do with more design tools, especially built on
web platforms!

------
rikroots
This looks - awesome. I'm trying to think of something more constructive to
say, some questions about the processes and outputs ... but I'm too busy being
jealous at the moment to think of anything.

------
ghosthamlet
Eve, Programming designed for humans:
[http://witheve.com/](http://witheve.com/)

------
codezero
I used to maintain a set of bookmarks where people just complained about the
name of a thing on HN. It seems like a really consistent theme for people who
don't have much substance to contribute to threads. Any chance you could make
it one of the disallowed/off-topic things?

I have never seen a developer respond to the comments with "Oh gee, you're
right, I totally forgot about that, time to rethink the name!"

~~~
dang
We could try, but I doubt it would have much effect—humans are always going to
react to names. Also, we're leery of making too long a list of disallowed
things, since making it longer dilutes it. Better to argue from first
principles.

(We detached this subthread from
[https://news.ycombinator.com/item?id=20508860.](https://news.ycombinator.com/item?id=20508860.))

~~~
codezero
Makes sense, thanks dang :)

------
Gabriel_Martin
Not to pile on, but what an extreme lack of forethought to brand this thing
"node".

~~~
imglorp
They're going to be constantly explaining "No, it's not NodeJS". "No, it's not
graph db nodes either." "Yeah it's kinda like graph nodes."

Way too much overload of that word.

~~~
bryanrasmussen
I was just thinking that, hard to google anything about "node" and JavaScript
together.

