Here is a summary of what we covered in the 3 days:
A) What is an authoring environment?
-
Offers an overview over all parts of my project:
Behavior & Design
- Behavior → Patch Editor
- 3D Assets → 3D Editor
- Dramaturgie → Timeline Editor & Automata Editor
(…)
In Detail:
-
All these Editors offer windows that can be tabbed.
-
The window layout will be saved in settings files next to my project files. (Could be managed by version control system or not. Both has its use cases)
-
Editors offer an overview of the instances.
- A Timeline Editor offers an overview of all loaded timelines.
- A Patch Editor offers an overview o all patches (SolutionExplorer, ObjectGraphExplorer).
- A 3D Editor could show all loaded 3D Assets at once…
-
Editors can be attached to instances
-
A user might want to have a root that comes with standard editors
-
Inspector & Preview windows are similar, they can contribute to the window layout. They react on what’s currently selected in the Patch Editor.
-
Visual Diff for patches
B) VL as an authoring environment
- Mental Model
-
in vvvv it’s all about data flow
-
TODO:
-
- Find the different mental models / design patterns in VL and document them properly. Templates?
-
- Is there one high-level mode missing?
- e.g. Automatic Spreading, Lazy Evaluation, Interpreter
-
-
Navigation Structure should support the mental model
-
Solution Browser for code
- Show address bar
-
Object Graph Browser for the living nested Process Nodes
-
Show breadcrumbs
-
Can we name process nodes? → e.g. breadcumb:
Level1->ActorB->LeftFoot -
Can we see in which vvvv node we are?
→ Use “Descriptive Name” of vvvv node for that? -
Within the patch editor you see the data of the current instance
* Data in Tooltips, IOBoxes (& later on Inspector): beautify
-
-
Document patch
- Either
- Indicate that it works differently (e.g. via Background color)
- Allow Dependencies as nodes
- Or
- Make it a regular entry point (Useful for Example patches)
→ Simplicity
- Make it a regular entry point (Useful for Example patches)
- Either
-
-
Design pattern for working with mutable types is more advanced than pure data flow.
-
More UX ideas to make it look simpler
- discuss: hide “Class”, “Interface” (…)
- discuss: hide more nodes from Node Browser
- Member Operations of Mutable Types
-
Make the UX more consistent (menu style, indicators on nodes)
-
Thank you for all the insights and very productive discussions!