Wiring programs together on a 2D canvas is nice when the problem being solved is amenable to it (signal processing, pipelines, etc.). But, a typical general purpose program would look like a breadboard from hell, no matter how hard one tries to organize nicely organize it.
The solution to certain types of programs not being suitable to write in it is just… don’t.
I did various bits of freelance work on VVVV projects a while ago. Often writing C++ or C# code to interface with VVVV. Even when I was mostly stuck in the guts of the C++ bit having a test rig in VVVV was a lovely way to interact with and test code.
As far as I remember it’s absolutely simplicity to create a node that contains custom C# code (double click it and an editor window pops up). I definitely remember doing that for bits of logic that seemed easier to express that way.
I saw people build very cool stuff in it back then. If you’re building interactive visuals the “always live” way of working seems to allow some pretty fast iteration. Definitely saw things built in it that maybe would have been better built in other ways, but that’s just natural when you have people highly skilled in one tool or language.
There are some domains where it’s really helpful to empower subject expert to develop their domain specific data flow, without them needing to learn the ins and outs of a language like c#.
See for example Grasshopper for parametric architecture, or the node system in Blender.
OFC maintainability of a spaghetti node system is borderline impossible so there are constraints and tradeoffs.
Accessibility to non-software engineer domain talent is the main attraction imho.
I don't really agree that visuals immediately makes things messier but I do wish these systems leveraged scoped areas a bit better to reduce pin visual noise.
That said, you just have to treat it like code and build up good patterns and styles to keep things tidy.
Spent a lot of time messing around with it a few years ago. The tutorials of Takuma Nakata are great and it's very powerful and versatile for creating cool experimental stuff.
Not sure what the big problem with licensing is? Feels like some people just want everything in this space to be free. 500 euro for a lifetime license seems pretty generous to me, it's basically a small fee if you use it for any kind of commercial application.
Relying on a commercial product means you don't have the source code, means you're dependent on where they move in the future, means you're screwed if they shut down.
That's the standard library. From a quick search, I get zero relevant matches on their account for "runtime", "compiler", "interpreter", or "editor".
Looking over https://thegraybook.vvvv.org/reference/extending/overview.ht... I see a few references to contributing to their libraries, but nothing about compiling the language core itself. And even then, their library distribution mechanism seems to be NuGet, with all of its binary-first warts.
With this software you'll typically create one-off installations, no maintenance necessary. I don't expect to get the source code for every tool I use in production.
In a perfect world, sure. But most of us, alas, have to live in the real world, where these are considered unreasonable expectations.
People need to get paid. That includes the developers who work on unusual niche products like this.
> it's lost afterwards
It's not lost. It just can't be repurposed, in the unlikely situation that VVVV just disappears completely. Which isn't really a problem for most projects in this space, which are often highly experimental and unique.
Ok, so enlighten me. How would this open-source everything world work?
How would companies protect their investments in research and proprietary technology? How will you guarantee security, besides depending on the nebulous "the community will fix it"?
Who's in charge of the direction development will take? How will you prevent fragmentation in different branches?
What creates a drive for innovation if you take out competition? How will you enforce quality control?
No need for personal attacks. I am not trying to sell anything and have literally 0 vested interest in VVVV. It's unfair to label it "garbage" though.
Your argument that companies are holding their clients "hostage" by not sharing their source code indicates that we fundamentally disagree over one of the core systems that makes an economy work.
By your logic, everyone producing anything should reveal exactly how they do it. Even in a totally open source world we would not do this. Some methods are dangerous in the wrong hands.
> SolarWinds? LastPass? Microsoft?
Naming a few high profile security blunders does not negate the far greater consequences that open sourcing all code would have.
> You are, for your branch.
Ain't nobody got time for that. I just want to use software, not maintain it. I pay others to do that for me.
> It's that "competition" thing you claim to love so much.
Fragmentation does not automatically lead to competition. I would argue it actually makes a product weaker, because attentions are divided and it would have to compete with more consolidated efforts.
> unexamined priors ... pure nonsense
So no real counterargument here.
> don't merge patches
No time for that.
> grants and crowdfunding
These usually rely on the expectation of future profits or a unique product that delivers value. Sure, it would be wonderful if all software was supported by altruistic contributors, but again: most of us have to deal with that pesky reality I mentioned earlier.
> What creates a drive for innovation if you take out competition?
Closed-source is _protectionism,_ not competitive.
_Open-source_ is the ultimate expression of competitiveness… because you are competing against anyone who could bring out an identical product copied directly from your own, with only minor changes.
This is an opinion, not a fact. Many closed-source companies invest heavily in research and development to create innovative solutions, which definitely does drive competition in the market. Differentiation through unique features can enhance a competitive advantage.
Without severe government regulation, capitalism always moves towards oligopolies and monopolies that use market size to deny new entrants and who can have minimal to no innovation to consume precious profits. This is only possible due to a locked-in consumer base which has no other options available to them.
Closed source being anti-innovation is the fact. Competition is enforced by governments and laws, not by any goodwill of corporations, who would sooner see higher profits and lower costs. And all the competitive advantage is useless when the market size of current players prevents entry into the marketplace via patents and outsized war chests -- this is, for example, the current state of the search engine market. Several search engines which were far superior to Google have folded in the last 5 years due to Google’s sheer size and the barriers to entry it enforces due to that size. Even major alternatives are on literal lifelines and starving for lack of users. Yet Google no longer “innovates” for the consumer, and does so purely to enhance it’s revenue stream at the expense of the consumer.
On the flip side, open-source forces constant innovation because nothing is hidden. Any company putting out open-source software cannot hide behind market monopolies or suppress similar products via patents, or have access to any of the other competition-killing tools that closed-source has. Because anyone else can quite literally fork their entire product, constant innovation is at the core of remaining the market leader.
Free for nonprofits/hobbyists and €500 as soon as you use a piece of software commercially would be very reasonable. But charging the same from someone who doesn’t make a penny as from a company making millions doesn’t make much sense.
I mean generally, not in this particular case. People who don't make money are often not eligible for e.g. student licenses, nor can they reasonably pay big money for commercial licenses. The hobbyist is a forgotten segment (but I'd argue it's an important one, as the person who is a hobbyist on the weekends might be influencing purchases during the weeks). Most big-box 90's software has this flaw (AutoCad, Photoshop, etc.).
If the offering brings any value at all to development of a a commercial offering then 500 € is very reasonable.
The point is it needs to improve something in your development flow that’s not available elsewhere, in terms of feature velocity, availability of talent, etc, not just curiosity.
QT, Unity etc have price points in this zone and if I remember correctly are higher.
Have you actually seen VVVV? It's nothing like QT or Unity. It's a visual scripting tool, that does not require any real programming knowledge (although it definitely helps if you have some).
One of our animators can't write code, but he made some interesting sketches with it. The program is very experimental in nature.
Written language and mathematics have been around for thousands of years; Why must there must be better way than text to make a program? It's how humans communicate. It's how you're reading this right now. This comment wouldn't be better as a picture or as a YouTube video.
In all my experience with visual programming over several decades has been awful and it's because it's the wrong medium for complex ideas.
It’s about abstractions, and a lot of the time visual programming tools don’t get it right. Either they are too abstract and your limited to a set of nodes/blocks that are not powerful enough and adding more is challenging because the abstraction is so high there’s lots of overhead to get there, or the abstraction capabilities are too low and the ability to encapsulate and extend visually programmed code for reuse in other places or larger projects is hampered by the design.
About the only “general purpose” visual programming language I’ve ever come across that is genuinely trying to be able to do all of it, is DRAKON https://en.m.wikipedia.org/wiki/DRAKON
And even then, complexity can be a challenge because depending on how the software is architected the diagrams get unwieldy to read as more logic lives on a single layer… DRAKON does have a pair of little tricks that makes it a bit less confusing to work with than a lot of node based programming tools. The first is that lines cannot cross so you avoid the tangled knot diagram issue, the logical flow is relatively clear from your entry points to your exit or loop back to start. The second is that it serves as an abstraction to other programming languages, allowing for use of traditional tools and techniques to debug and analyse the output programs if needed, and then once you’ve identified the problem you can make changes to the diagram, export and then compile the program again after confirm your diagram changes had the desired results in the intermediate format.
And before anyone asks what’s the point why not just program in the target language? First I’d like to point out that TypeScript is a thing, and then second I’d like to highlight that it was designed to aid in the comprehension and maintenance of algorithms in the aerospace software world, it’s meant to allow you to look at a diagram see the data flow and logical code paths and visually check that you haven’t forgotten things, heck you could confirm you had covered all your necessary conditions with some coloured pencils on a printout… which might feel foolish in an era of automated checking tools which we have today, but this was developed in the the Soviet Union in 1986 as part of the Buran space program, it solved their genuine needs for how to make checking code for correctness easier for humans, and has stuck around because even with automation it’s one of the few visual programming languages that managed to strike the balance between going to high level or giving too few tools for abstraction.
Nothing is perfect of course, it has issues, like every programming language does, but it’s been a useful little tool from time to time when I needed to collaborate on fiddly algorithms with non-programming experts who understood what the software needed to be doing way better than I did, and I understood way better how to make the software do it than they did. I’d encourage anyone who ever gave visual programming a shot to check it out even just for the sake of curiosity, and possibly learning a useful new flowchart diagramming standard even if you never use the compiler.
Why? I saw the diagrams in homepage and reasoned the code will occupy a fraction of the real estate, not to mention advantages of version control, copy paste etc. AST walking programs can turn code like `a = slider(min=0, max=10)` into a widget or visualize control flow.
This looks very good. I shyed away from geometry nodes because i have no patience to learn all the 3d stuff and it seems a bit limited for use with custom code and houdini is far too complex. This seems like a good middleground..
The licensing seems.. atrocious (both the wording and pricing), maybe I'm too far disconnected from the space where such applications are used but. I'm unsure which industry would tolerate this.
Sigh, another cool looking project where a programmer who knows nothing about licensing wrote their own license, and made their project unusable by anyone.
Good lawyers aren't automatically good programmers, and good programmers aren't automatically good lawyers.
There is a reason why the Open Source community has standardized around a small set of licenses, and a reason why most attempts at writing new licenses end up in sadness.
vvvv has been around for at least a decade (I recall looking at it when I was studying a digital arts degree in ‘09) so I doubt this is a problem in practice.
Indeed, I am confused what's so bad about this license?
Commercial use requires buying a license, and free for non-commercial uses. The website isn't using some bait and switch pseudo open-source tactics too, it's pretty clear that the product is proprietary.
I would like a point for point critique as well, not all of us are experts in legal and commercial aspects of licensing.
I’m embarrassed to admit my own working model is really limited as I’ve only worked in orgs where license issues were always somebody elses problem. I.e. somebody mandates which licenses can be used, and if there is a commercial offering you need to use, somebody else negotiates the terms and pricing.
Basically, a classic case of trying to use the opensource monika for marketing purposes, whilst trying to retain the ability to make money off the popularity when/if it does happen.
That's why if an "opensource" software does not use one of the standard OSS approved licenses, it is just shareware by another name.