Jonas Gebhardt - Evolving the Visual Programming Environment with React at react-europe 2016

  Рет қаралды 29,102

ReactEurope

ReactEurope

Күн бұрын

Пікірлер: 37
@excitedbox5705
@excitedbox5705 3 жыл бұрын
too bad this didn't go anywhere. I was really looking forward to this.
@cryptodude_btc
@cryptodude_btc 2 жыл бұрын
Not exact same thing but cool none the less, check out Node-Red.
@HenleyBailey
@HenleyBailey 3 жыл бұрын
This is cool. Reminds me of Unreal Engine (the game engine) with their blueprints, you can also build 2D games but there might not be a reason you couldn't put together apps using it if you were creative.
@paulofalca0
@paulofalca0 8 жыл бұрын
I love the idea of using js / html to make a custom UI for each node! Very cool :)
@metropolis10
@metropolis10 8 жыл бұрын
reminds me a lot of Khan Academy's visual js editor and Bret Victor's famous talk "Learrnable Programming".
@mfpears
@mfpears 7 жыл бұрын
I'm really really sad this wasn't open sourced.
@gggiiia147
@gggiiia147 3 жыл бұрын
bruh sometimes u do need to be payed for your work, not every time, just a lil bit u know xd
@DustinRodriguez1_0
@DustinRodriguez1_0 8 жыл бұрын
He mentions that the nodes represent pure functions... yet earlier, he had a node which output a time value. That's pretty much a canonical example of an impure function. Is it treated specially? Also, around @18:40 or so he mentions 'you could conceivably group those functions into a single function'... why just 'conceivably'? That's what I consider to be the biggest downfall of visual programming languages done thus far. Any large system ends up, at best, extremely difficult to deal with because you have so many nodes and so many connections going everywhere. And you end up with tons of repeated patterns of nodes if you have no way to take a certain pattern and group it so that it is usable as its own type of node. When he showed the prototyping slide, I immediately thought the point of explaining that designers are coding and showing what the design behind the prototype looks like was to show what a screaming horrible mess it was. But apparently not, he wanted to reuse it (!). Some VPLs permit this, where you can select a group of nodes and hit a key or select a menu item to collapse them into a new 'function node' which takes all the inputs necessary to feed the grouped nodes as its own input, and then produces the collected output of all the selected nodes as its output. But every single one I have seen takes 1 of 2 equally bad approaches. The most popular one is after the nodes have been grouped, they collapse to a single node, and if you want to review the contents of that node it either opens that node as your new workspace, or else opens it in a new window. The other option is to simply put a band around the group and leave all the components nodes and their connections visible, providing logical segmentation but not really helping with the problem of there simply being too much content that has to be scrolled all around in order to follow how the system works. I have an idea for an option that I think would work better. Anyone feel free to steal it, I mostly stole it from somewhere else anyway. The game Supreme Commander specifically. It's a top-down perspective real time strategy game which operates on different scales, both physical and conceptual. In order to move from one scale, say being fully 'zoomed in' and examining a single unit under your control, up to fully 'zoomed out' where you're viewing a gigantic map with your units locations only indicated by points, you hold the shift key and roll the mousewheel. That's it. You continuously move from the deepest, out to the most general view, and the details of the deeper situation disappear, making the larger strategy clear. Such a thing is needed for a VPL, and that exact interface is probably what is needed. Discrete jumps don't work. Leaving everything visible is like trying to understand or maintain an application with a single file of C code. Making more capable opaque nodes and adding them to your toolbelt does little to solve the problem. When you inevitably need to delve inside those nodes, you can't. That ends up driving the tool to being useful for prototyping or similar but not for final implementation. And it leaves things like adding two numbers together taking up just as much real estate as fetching and filtering a web page. Programming is inherently more multi-dimensional than this. You need to be able to go 'out' and 'in' just as easily as you can go up or down. My recommendation would be to make a VPL where the user is completely restricted and can never scroll their primary workspace canvas. If a bit of functionality is cluttering the entire screen with nodes and connections, you need to start grouping the logical parts of your program and collapsing them into their own nodes. Your top level should be 1 node called 'run application' or similar. And you should be able to continuously 'zoom' in from there down to the most atomic operations which were all composed to build your system. In a web environment, it'd probably be asm.js code or something. That's the dream anyway. And I think far more important than direct manipulation at least.
@clankill3r
@clankill3r 8 жыл бұрын
Did you ever use ICE from softimage? For me it is the best FBP I ever used.
@corpusc
@corpusc 6 жыл бұрын
i think 2D visual programming can never live up to the promise (of empowering you to quickly & visually digest / download the logic into your brain). outside of trivial or limited domain scripting, such as graphical shaders. but i think 3D visual coding will be huge some day. in 3D, you can group most related things really close to each other with the help of the extra dimension. thus keeping the majority of your connecting lines (between those parts) extremely short. similar to real-world physical machines/engines.
@joelwilson9784
@joelwilson9784 4 жыл бұрын
Tersus Studio handled this zooming method pretty well, but it hasn't progressed much in years.
@osvibascur4601
@osvibascur4601 7 жыл бұрын
Looks good. Please let me know when you have a usable editor to connect and experience it.
@DrToddles
@DrToddles 7 жыл бұрын
When will this be available?
@brennan123
@brennan123 8 жыл бұрын
Which libraries did you use to make the visual node editor?
@twinreverb87
@twinreverb87 7 жыл бұрын
Take a look at the D3 Tree Diagram. The "node" that is rendered will be a custom component containing the controls. Add some interactivity, and you can build something similar.
@cryptodude_btc
@cryptodude_btc 2 жыл бұрын
Node-Red for those looking for a simple visual scripting via wired nodes like this guys "Combine"
@dr-maybe
@dr-maybe 8 жыл бұрын
Very interesting project and insights!
@mr_erdk
@mr_erdk 7 жыл бұрын
Both impressing and inspiring
@GuillermoValleCosmos
@GuillermoValleCosmos 8 жыл бұрын
I'm very annoyed at not being able to see the code, asjlkasjds
@gggiiia147
@gggiiia147 3 жыл бұрын
bruh he said what he used at the beginning, the implementation is trivial
@iRedee
@iRedee 5 жыл бұрын
If there are recursive graphs and quality commenting (or note taking) In would much rather use this then Jupyter
@grzegorzdvipek
@grzegorzdvipek 7 жыл бұрын
This is great! Is this thing still in development? Or did it die??
@mfpears
@mfpears 7 жыл бұрын
Grzegorz D. Did you ever find anything out about this?
@grzegorzdvipek
@grzegorzdvipek 7 жыл бұрын
Yep. I asked Jonas directly on Twitter: twitter.com/grzegorzdyrda/status/883631606103248896
@mfpears
@mfpears 7 жыл бұрын
Grzegorz D. That's awesome! Thanks!
@JulianMerghart
@JulianMerghart 6 жыл бұрын
Amazing
@mfpears
@mfpears 7 жыл бұрын
What's the status on this? Anybody working on something similar?
@nicholaslogan5185
@nicholaslogan5185 7 жыл бұрын
Yes, but mine is only a side project and is very early on. Damn paying jobs right?
@lucasalberto
@lucasalberto 6 жыл бұрын
share code?
@JosefCZE
@JosefCZE 6 жыл бұрын
There is Luna (www.luna-lang.org)
@onecoding
@onecoding 5 жыл бұрын
I'm working on something like this too. Started long before discovering the video. Ended up at a lot of the same insights. Happy to share ideas :)
@KostyaKurilov
@KostyaKurilov 4 жыл бұрын
@@nicholaslogan5185 Im making similar. Are you still in game?)
@5imian
@5imian 7 жыл бұрын
He basically build Max/Msp
@raviteza8
@raviteza8 5 жыл бұрын
Enter Matlab/Simulink
@jigz347
@jigz347 6 жыл бұрын
The development would've been a lot faster if this was open sourced so people could contribute to the project.
Jeff Morrison - A Deepdive Into Flow at react-europe 2016
27:53
ReactEurope
Рет қаралды 10 М.
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 120 МЛН
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
GopherCon Europe 2019: Ivan Daniluk - Rethinking Visual Programming
30:54
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 51 М.
Node.js is a serious thing now… (2023)
8:18
Code With Ryan
Рет қаралды 666 М.
Dan Abramov - The Redux Journey at react-europe 2016
26:57
ReactEurope
Рет қаралды 76 М.
Cheng Lou - On the Spectrum of Abstraction at react-europe 2016
35:32
The origins of Flow Based Programming with J Paul Morrison
11:17
Paul Morrison
Рет қаралды 8 М.
The Computer Chronicles - Visual Programming Languages (1993)
27:29
The Computer Chronicles
Рет қаралды 56 М.
Flow Based Programming - I shouldn't write new languages
25:38
Rich Harris - Rethinking reactivity
36:45
You Gotta Love Frontend
Рет қаралды 323 М.