Ok hereās my thoughts on vvvv development at the start of 2024.
Itās an essay rather than answering the questions.
Positive
I want to start by acknowledging that I think vvvv gamma and vl is a huge achievement.
IMO itās the worlds first working visual programming language that gets beyond āwiresā to actually being able to describe programming paradigms with the same complexity as professional textual coding languages. I cannot stress enough how big of a deal that is.
If you look at media art tools of similar vintage as vvvv (Eg TouchDesigner, Resolume, Reaktor, Ableton Live, Arkaos), to their credit those tools are all still around but I donāt think any of them achieved such a huge evolution as vvvv over the last 10 years.
To me vvvv is the clear leader in real-time visual programming today.
In that same time some frameworks have seen the value of visual coding and implemented their own node based solutions (Resolume, Unity, Unreal) and new tools have appeared (Bitwig, Cables.GL) but these visual environments are at most using vvvv beta type concepts.
VVVV gamma is literally a decade ahead.
I also want to acknowledge that vvvv group is a small business, not a huge corporation or an overhyped start-up. And a small business that has prospered for over 20 years and achieved more with much less resources than corporations and start-ups, also with an incredibly generous licensing model and many hours spent on near real-time community engagement and support.
The cost
vvvv has had absolutely breakneck feature development over the last 10 years. Check it out:
https://thegraybook.vvvv.org/roadmap/past.html
This feature development has made vvvv capable of general software development, which as I say I think is amazing. But there has been a cost.
IMO The cost of such a tight focus on shipping features and expanding general programming functionality is that documentation, UX and media arts specific features are not where the community expects them to be for a media arts tool.
I think a good example is the Reactive functionality.
Reactive provides an incredibly flexible and robust way to deal with all IO.
And crazy IO is close to the heart of interactive media arts, MIDI, OSC, LED protocols, Key/Mouse, MQTT etc.
Reactive enables message based programming where all of this IO can be reacted on with different timings to the mainloop rendering.
Itās a complicated paradigm but was necessary to implement to really unlock the full potential of these protocols without restriction.
I would say Reactive is an example of a general programming concept that brings great benefit to the media arts specific Iusers.
YET IMO Reactive is relatively poorly documented and poorly understood by the media arts users that it is there to benefit. The learning curve actually got steeper to use protocols you thought you understood from vvvv beta.
What Iām trying to illustrate is that the huge investment in general programming functionality over the last 10 years with vvvv gamma is not always able to be accessed by all media arts users.
(Personally I am planning a simplified reactive tutorial video, hoping to improve this particular situation)
A proposal
Now that vvvv has a strong backbone of general programming functionality, what next? Because although itās niche at the moment the potential is huge. You can write almost any kind of app with vvvv if you wanted to.
In my opinion it makes sense to focus again on features that improve the experience, capability and commercial viability of media arts users.
Consolidate all the incredible general programming capabilities of the last years by making them better documented and easier to use for media arts users.
Two reasons
-Media arts users are still the core users of vvvv, and as other posts in this thread discuss if you pick up vvvv gamma today some things are harder than they should be. Serving these users better and helping them thrive helps vvvv thrive in the short and medium term. Media arts is a good niche and vvvv is well positioned as the language that lets you really take control of what a machine does. I think serving these users better will grow these users.
-Long term I think the more that general programming can become like media arts programming (Eg fun, inspiring, creative, real-time) this is how vvvv gets closer to conquering the world.
I think we are already going in this direction, features like Global Channels and recent UX improvements are a great start.
Specifics
I am also advocating for a user survey, I would revise this list on seeing the survey results.
But as a first hunch I think there are four areas of action:
Beginners
Issue is still a huge learning curve coming to vvvv gamma. Now you have to think like both a Media Artist and a Software Developer.
Because Iām not a beginner itās hard for me to appreciate their perspective.
I would suggest
-Interviews with students and teachers to find out what blocks them and improve it.
-Improve the F1 functionality further, both with better coverage of factory libs and maybe putting the āthis node also used inā patches directly in the tooltip.
-Improve visual communication options on a helppatch so they can be better tutorials. Could be improved formatting of links (Hidden linksā¦), images, videos embedded on the patch etc.
-Help library developers improve the F1 coverage in their libraries, perhaps a tool to see which nodes donāt have F1 links. Incentives or prizes for best helppatches?
-I like @thomashelzle suggestion of more short intermediate videos that try and break open a complex concept for everyone to understand.
Pro Media Arts
I think the other posts in this thread already point to a number of improvements that can be made for these users. Its looking like quite a big backlog of small and big things.
Not all of this is responsibility of vvvv group, some of it is Fuse and Kairos and other library developers and thought needs to be put into how to ensure everyone feels good about their contributions when those are perceived as essential to vvvv as a media arts tool.
Long term in this area I would look towards innovations in the VL language and gamma editor that make complicated programming concepts easier to use. Like @sebescudie suggestion of visualisation in reactive links when a message passes through.
On the community side I would like to see more sharing of working media arts patches. The helppatches are a great start but imagine a kind of shadertoy vibe where people frequently share working ātoysā as inspiration. Also the amazing initatives we have had in the past to show how the generative gestaltung processing examples could be achieved in vvvv. Maybe some way to incentivise this kind of share-out of media arts practice? Cables.GL has a good setup of monthly featured patches, maybe something like that in help browser?
General programming
As I said I think general programming features should be a lower priority for a little while, but not completely zero. I think itās always worth doing some work here because itās the groundwork that enables the community to help itself and empower vvvv further.
-Upcoming work on attributes looks exciting, will enable more auto GUI and better auto serialisation.
-More tutorials that enable people to wrap .net libraries and become library developers themselves. Or improve the standard lib to eg get more out of stride.
Moonshots
Incredible innovation is still at the heart of vvvv, and still gets us ahead.
Still got to have a moonshot going on in the background, eg
-vvvv on macOS
-vvvv in the browser
-vvvv export for other platforms
-vvvv editor as a product that can be implemented in vvvv applications for end-user scripting, or to make āmodsā of vvvv applications.
-realtime collaborative programming (boygrouping)
-What is the role of a visual language in a future where lots of the āinteriorā bits of code will be AI generated? Itās easy to tell ChatGPT to solve programming problems āwrite code for rectangle intersects rectangleā but itās not easy to tell ChatGPT to solve design problems āWrite me an app for playing music, it should have a sign up screen, then a terms and conditions screen with different t&cs for each language, and then a home screen like this, and then a play screen like that and then and then and thenā.
I think describing a quality experience will always involve a visual language. (Like current development practice where you show a real developer a figma file)
Thatās my thoughts on vvvv development.
Looking forward to using it for another 15 years.