Refugee here

Hello everyone!

I’m considering migration from VVVV to TouchDesigner for several reasons.
I’m trying to understand is that a good decision and what nuances I can expect. I see that TD is really good at live visuals/mapping/VJ’ing and other “live-show” cases, but along with that I’m very often need an instrument for prototyping fancy user interfaces. I know that may sounds a little weird but that’s it.

Does anybody have experience of development custom and complex UI with TouchDesigner? You know, all that stuff with infinite scrollers, nested components, unusual behaviour buttons and so on.
I’m really tired of some VVVV features and hope that i can change my main instruments with minimum of pain. On the other side, i don’t want to lost a lot of time learning something that isn’t designed for that particular purposes.

As an good illustration — nptv.com/case_studies.html#hoteltv made in VVVV too).

At quick glance TD seems a little bit high-levelish, what is good, but offer full support of internal C++ coding right?

So, any opinions are greatly appreciated!

Cheers,
Vlad.

Vlad, Welcome to the community!

First off - great work on your NPTV case study beautiful and intuitive design.

And you can definitely make complex GUI elements and interactions with Touch Designer. You might find however, that many users choose to go for function over design when it comes to GUI.

Below are some examples of what I think are great GUI designs in both functionality and user experience. Best of all, they are all open TouchDesigner files so download them and check them out!

Rouge by Mary Franck || [url]http://www.maryfranck.net/rouge/[/url]
Mixxa by ze0time || [url]TouchDesigner Documentation

Also check out these components with GUI elements (ie sliders, buttons) to help in your design:
UIg || [url]http://www.derivative.ca/wiki088/index.php?title=UIg[/url]
TUIK || [url]http://www.derivative.ca/wiki088/index.php?title=TUIK[/url]
Simple, FAST UI by Archo-p || [url]some basic UI fun! - Shared .tox Components - TouchDesigner forum

If your main reason to switch is beautiful UI, you’ll have a bit of an up-hill battle at first. The forum can help, but most people just use the default rectangular buttons and sliders and viewers for functional purposes. Of course it can be done, but don’t expect to open up TouchDesigner and start using beautiful buttons and sliders. Once you build up your own toolkit though, you’re off the races.

Id like to see some improvement on that end in the long run, as would some other users, since most clients have more elegant UI standards these days, and wouldn’t really be happy with the standard UI elements that are at our disposal.

About the C++, yes it’s internal, but you don’t drop a node and start typing C++ into it. You have to do all your C++ work outside of TouchDesigner, then compile a .dll that you load into TouchDesigner to have a custom Operator. Python on the other hand, you can use anywhere in TouchDesigner.

What are you tired about from VVVV?

If I remember correctly, derivative written here on the forum that they want to concentrate on a python port of TUIK soon. Not sure though. I actually would guess they’ll come up with something new.
All in all, if one concentrates on containers, panel CHOPs, has a look at the slider COMP and some UI projects other people did, tries around with cloning in combination with replicator COMP, one is ready to build great UIs, I think. Sounds much, but I think it can go fast.

Oh, and since elburyz mentioned it, don’t get too deep on TUIK, it’s all Tscript and not 100% recommended anymore. Especially how the whole cloning buiseness is used seems to have been problematic for some people.

Hey, thanks everyone for their input!

@emintzer:
You absolutely right about functionality over design, as for me i also stick with default buttons and sliders. If thing does what it should, and does it well, then it’s a good designed thing. That’s my point.
But sometimes interfaces is a part of my full-time job, and unfortunately I can’t dictate my rules over the direction wishes.
Thank you for selection of GUI, will definetely check it out!

@elburz:
Sorry, i’ve must spoke a little incorrect (english is not my native). I don’t expect a cool GUI framework in TD by default. The question rather is “Is that hard to have n squares with random x scales and video textures on them, aligned on x axis with possibility to add new squares on a some event, where each new square must be added exactly at the end with alpha fade in” (this sentence is meaningless and totally random, of course).

Yeah, the Python implementation is another feature that i really like. Although I’ve never programmed in Python, I think it shouldn’t be hard in learning.

As regards VVVV: a lot of things.
-Crappy built-in video player. Oh, so you wanna use VLC node from official addonpack, okay, but be sure that if you want a RTSP stream, you should first download some two years old dll from VLC archives and mess around with paths in config file. Did i mentioned memleaks?
-Crappy user interface without some basic things like zooming (actually zooming is here, but it would be better if it wasn’t).
-Incompatibility with some hardware. If you have nVidia Optimus graphic card, say hello to black screen.
-Overall instability. I think that’s the main thing. VVVV can just crash for no obvious reason, doesn’t happened to me often, but when patch is large it’s like Russian roulette — it can stay or it can crash.

Sorry for that wall of text, and also i don’t want to say that VVVV is bad. It’s great instrument, and i will continue to use it for my own purposes. But as for my main job TD seems a little bit, i don’t know, robust and solid.

@hrtlacek:
Hey, thank you for clarification about TUIK.
I decided to try replicating some of my VVVV stuff in TD, and see where it leads :slight_smile:

All the things you said are do-able. Interestingly, if you’re mostly working with buttons and having things appear, you could probably not use any UI elements and actually make 3D geometry, and use a Render Pick DAT to catch the clicks on them, then fade more geometry in and out based on those clicks. Might be some advantages if you want to have some camera panning across the UI when new buttons appear and etc.