50: That next big thing. An overview.

September 30, 2014 posted by: joreg

It’s been a while again since we last dropped news about that next big thing we still call vvvv50 (50). So in order to get the hype slowly started here are some further notes…


45 patch

45 patch. cool.

First a quick recap of what we have with vvvv45 (45) so far: For the first ~6 years in existence vvvv was a rather monolithic thing. We sloppily called it “a multipurpose toolkit” and really only later found out ourselves that it was actually made of 4 parts:

  • a development environment (GUI)
  • a visual programming language
  • a runtime
  • a library of nodes

Still very much monoltithic in that there was no way for the user to change any of those. Only when in 2008 we introduced the plugininterface vvvv became more modular in that it allowed users to create their own nodes, and boy they did (->addonpack, dx11-pack, cv.image-pack, …).

So the library part was addressed but critizism remained:

  • meeehh runtime, we want to be able to run patches standalone
  • meehh cross-platform
  • ufff spreading hell
  • bäähh GUI..

According to the great Joel Spolsky the single worst mistake you can do when writing a software, is starting from scratch. So we did.


50 patch

50 patch. still looking like shit.

So here is our bold plan, this is what we’re aiming at (longterm):

  • a hybrid development environment (HDE) that will be able to host visual and textual languages.
  • a topofthepops visual programming language (with features known from c#)
  • a compiler for that visual language (that creates cross-platform executables)
  • a node library (closely modeled after .net)

Now if that sounds familiar as in “so whats the big difference?” then exactly. Instead of saying it will be completely different we can also say that it will be very much the same only much better. People tend to prefer hearing either. We couldn’t decide…

Anyway we’re at a point with this where we have bits from all 4 parts implemented and can do simple demos. But mostly we’re still focusing on the “visual programming language” which we consider the foundation of the pleasure we want you to have with 50.

Language Features

The great thing about 45 is still that it is simple to learn. Say that again..!? No really, if you approach it the right way (arrogant!) it actually is. There is a huge library of nodes that is hard to grasp, true, but the things you have to know about the visual language vvvv are only a few:

  • spreads
  • framedelay
  • send/receive

Those are basically the language features of 45. Specifically the concept of Spreads is what makes vvvv stand out. It allows you to do simple things quickly but as things get more complex they are quite cumbersome to work with. We call this “low-level” while the goal of our new visual language is to be able to work more “high-level”, ie. less thinking about concepts that make things easy to understand for the computer but more thinking in human terms.

So with 50 we’re introducing a number of new language features that will make it easier for the user to create more complex programs. Here is the buzz of what we have so far:

  • userdefined datatypes
  • functions
  • interfaces
  • generics
  • events
  • loops

Sounds scary? Naa… you’ll see, all a breeze. Really the basics are not changing: You’ll have nodes and pins to connect, a renderer, a quad, … nothing new. If you’re not using any of the new features you can still work kind of 45-style only then you’ll not be seeing any of the productivity-increase you can gain from using them.

Specifically as you’ll not need to use them all right away and you’ll be using them without noticing anyway. But in order to talk about them we need to call them names.

In a forthcoming series of blogposts we’ll show you how working with those features will feel like. If you already like what you’ve read so far and want to buy the cat in the sack we’re always up for a /downloads|vvvv.


Comments are no longer accepted for this post.

30.09.2014 - 22:37

…you’re always up for a… ?

Ahhhh all this suspense is killing me =)

01.10.2014 - 10:05
my benchmark in terms of ease of use would be the amount of nodes and clicks to achieve the same results. there are some good examples in history were this went wrong, well code-wise like bloated actionscript 3
10.10.2014 - 17:10
@gareth it seems you’re not seeing the flattr button.. @curveau: re opengl: this is a library-question and we’re not taking library yet. but if you read in between the lines you read: dx, gl, mantle, anything anyone will implent. re web/js see http://vvvvjs.com
13.10.2014 - 21:43
OK, cheers dude
08.11.2014 - 16:37

Another quick question:

  • Do you know if the HLSL code will get ported to GLSL (TextureFX etc)?
08.12.2014 - 15:16
Can somebody answer my lame question, please: what language VVVV actually supports? It is possibe GLSL shaders in this software? Thanks.
09.12.2014 - 02:44
@quadrelli: as propaganda states, the currently available version of vvvv supports the vvvv visual language, c# and hlsl. this blogpost talks about a different software that _may at some point in time support GLSL. but thats far off the topic of this post.
25.12.2014 - 07:49
Will this run in Linux? Please
17.02.2015 - 09:49
uhhh sound great :D
01.10.2014 - 15:38
let’s finish beta stage first?
01.10.2014 - 16:42
gimme moar!
01.10.2014 - 20:04
01.10.2014 - 22:44
02.10.2014 - 00:05
sounds great. no point asking for a release date i know that
02.10.2014 - 05:49
Sounds awesome guys! Can’t wait!
02.10.2014 - 10:26
nice one! seems that a rewrote is the only thing that will really work after reading this lovely article :) but maybe he was never used to work with lot of visual binsizes.
10.10.2014 - 16:42

Thank you for your continued development!

I have a couple of quick questions:

  • will this version integrate OpenGL (shaders) natively?

  • I remember hearing something about utilising a web browser before. Will there be some kind of web-related export / JavaScript capabilities?

Best ..



vvvv - Dießl & Gregor GbR
Oranienstrasse 10
10997 Berlin/Germany
VAT: DE275566955


Follow us


Sign up for our Newsletter

Your subscription could not be saved. Please try again.
Your subscription has been successful.