3 ms·
I wonder if one dominant visual dataflow language will ever emerge. It seems like a generally useful idea across many different domains but it's something that'
by rawnlq 9y ago
I wonder if one dominant visual dataflow language will ever emerge. It seems like a generally useful idea across many different domains but it's something that's always reimplemented from scratch. Stuff like how to visualize and layout the nodes seems to be pretty domain agnostic?
Game engines: https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/Editor/ https://docs.unrealengine.com/latest/INT/Engine/Rendering/Ma...
Graphics:
https://developer.apple.com/library/content/documentation/GraphicsImaging/Conceptual/QuartzComposerUserGuide/qc_concepts/qc_concepts.html#//apple_ref/doc/uid/TP40005381-CH212-SW9 https://developer.apple.com/library/content/documentation/Gr...
Robotics: https://xod.io/ https://xod.io/
And many more: https://stackoverflow.com/questions/461796/dataflow-programming-languages/2035582 https://stackoverflow.com/questions/461796/dataflow-programm...
- westoncb 9y agoI'm working on something to generalize it: https://www.youtube.com/watch?v=KwZmAgAuIkY https://www.youtube.com/watch?v=KwZmAgAuIkY Doesn't have graphs/state machines or tables yet, but the trees, lists, and maps probably show the basic idea.
- seanmcdirmid 9y agoGraphviz seemed to come close to this, at least as a language to describe graphs to be visualized.
- kanitw 9y agoNote that a dataflow graph is generally a directed graph (which is domain agnostic). Thus it can always be visualized in some ways. There are also many generally applicable directed graph drawing techniques in academic literature. (You can see some in the related work section in the paper.) That said, in different domains, people may apply different sets of layout and visual encoding techniques due to the differences in semantics and characteristic of the graphs. For example, in this TensorFlow Graph Vis project, we chose to build a hierarchical clustered graph to provide high-level overview, bundle edges to facilitate interactive expansion, and detach unimportant nodes from the main layout to declutter the graph.