UX Wishlist topic

Preface: this topic is heavily inspired by this forum thread. Op’s words about the need of improving the UX resonated with me a lot, so I thought maybe we should start a thread where everyone can share their thoughts on a subject?

Keep in mind Let’s not discuss UI here because it is a topic that escalates to a holy war pretty quickly in my experience. So only discussing things that are geared towards improving the way you interact with the software and make you more productive, lead to less errors during development etc.

My thoughts: This summer I really started to dig deeper into arduino/c++ dev and for that I set up all my environment in vscode. It turned out to be a super productive set up, since I can have sessions for up to 1 hour in length where I’m just typing code. I never touch mouse doing this! All is done with extensive shortcut list, provided by vscode editor.
In contrast in TD I’m never able to achieve this “flow” state, because I always have to switch contexts. For example, I’m coding a script line in vsode that goes like this op(’ → switch to TD to lookup name of the op → traverse couple bases to do it → go back to vscode → moviefilein2’).par. → damn it! I forgot the name of the parameter → go back to td… etc. I think you can see how it’s a productivity killer.
Another thing is that in TD you depend heavily on your mouse, so good 4+ hours TD session almost every time triggers my carpal tunnel thing, whereas typing on the keyboard in VScode all day didn’t.
Okay, I can go on and on, but let’s move to the most exciting part.
My proposals

  1. VSCode TouchDesigner extension! – it would be really great. I imagine TD could have a component that would act as a server to TD vscode extension and it will always keep vscode up to date on what’s happening in your network so the editor always know for example which operators were added or deleted. This extension will also contain all the op’s python documentation etc.

  2. Command Line Interface. As someone from TD dev team mentioned: we have come a full circle when people started to ask for command-line again :slight_smile: It will take some getting use to I think, but for the dev process of more mature projects I think it would be a great feature. You can kinda mimic it with python interactive prompt, but I think it would be very slow in terms of interaction speed.

Here are some of my thoughts, what are yours?

1 Like

@densi

You might consider checking out @davet’s rockin VS code project:

That might be a way to get to part of your first point above :slight_smile:

3 Likes

Regarding the command line. I would love to be able to import modules on the root level of touch to call actions from anywhere without having to rely on global op shortcuts.

Thanks for the shout out @raganmd

Tooling is definitely my pet project when it comes to TD.

VSCode TouchDesigner extension! – it would be really great. I imagine TD could have a component that would act as a server to TD vscode extension and it will always keep vscode up to date on what’s happening in your network so the editor always know for example which operators were added or deleted. This extension will also contain all the op’s python documentation etc.

This is what the project intends to do. Though full disclosure I threw it together when I was still just tinkering with Typescript so it’s probably due for a refactor. I keep an eye on the repo so any bug reports, stars :wink:, or pull requests would certainly make my day.

RE: Command line. I’m interested this as well. A couple of questions to the room: What would be the primary purpose of this tool? Quick navigation without touching the mouse? operator creation or modification? Does it have to run in Touch or could it be a CLI interface that you could launch from a terminal window? Would it function like a TD interpreter that would execute dry runs of scripts or would commands issued by this tool directly affect the network?