Groups are cool, but are clunky to use.
Here some features I'd love to see implemented:
Zoom In/Out of Groups:
- if you zoom in and a group is the only element, which is visible on the screen: Show the insides as if one had selected the group and then used "View Group Content"
- if you are inside a group and zoom out very much (e.g. all elements cover max. 10% of the width of the screen), show the parent as if one had used "Previous View" (thus showing the higher level)
both are easy to do as the main-functionality is already implemented. It only needs two triggers and some basic conditions.
Remap Group Hotkeys or give some "Group Hotkey Option":
Add a toggle to the Group-Menu: "Enable Group hotkeys". As long as it is activated, it will use those convenient hotkeys for group-actions (the pattern is: Ctrl does something and Alt does the opposite):
Ctrl + G (Group)
Alt + G (Ungroup)
Ctrl + F (F as in Fold. Folds the group = Close Group)
Alt + F (Unfolds group = Open Group)
Ctrl + Space (View Group Content)
Alt + Space (Unview Group Content = Previous View)
Right now you have hotkeys such as Ctrl+Alt+L inside a mouse-driven application. Which is... not optimal, especially because Ctrl+AltGr+L does not work on it. So you always have to use both hands.
(btw. how about a hotkey editor? Or at least a config file? This is not hard...)
(btw. a config file for all the preferences would be cool as well. It is a pain in the arse to have the same problems every time: "Hey, Joe, check out this cool GraphEditor, but first you have to deactivate the following stuff, and activate this and that and rearange that wndow so you can work properly")
Two Groups Selected - Enable Creation of Edges Inside The "Folder Contents"-View
So, Joe, you created your stuff and put everything tidly into groups and collapsed and rearanged them? Good for you, cause connecting two nodes in different groups requires you to undo it again: unfold both groups, rearange them (because they will overlap) make the edge, collapse the groups, rearange them.
Better: Select both groups, drag and drop between them in in "Folder Contents"-View. Voila an edge is created.
(btw. being able to use several viewports of the graph AND be able to drag and drop between them would be awesome)
Implement Group Tags and Polytree
Right now you have only one hiearchy: A node is part of ONE group. Implement the feature of "group tags". Every group is part of one (of several) group tags. Every node is part of one group at any time. But one can switch between tags, thus having a different hierarchy depending on the tag one chooses.
This will create a polytree hierarchy, which is awesome for Data Mining, planning, science... actually it is awesome for everything.
Example: A node, which represents a class can be part of several hiearchies: From an implementation-pov it can be part of a module. From a functional POV it can be part of "Renderer". From a project-management POV it can be part of "TODO". From a XY POV it can be...etc. etc. etc. A developer can then switch the views depending on his current demand of information.
(btw. Suppose you would implement several viewports AND multi-tag. Might be cool to see one aspect of the graph on one and another aspect on the second)
BUG: Octilinear edges (in e.g. incremental hierarchic layout) + groups
Make some groups, connect the nodes inside between different groups. Fold them. Use hierarc. layout + octilinear edges. Unfold the group. Fold it again.
Result: Very broken edge layout on many edges going inside/outside the folded group.
Config Files
like really. You are sitting on the most powerful graph-editor in the world, if you start trusting your community and give us more options.
Give us config files, a scripting language like python or just opensource a part of the project (the GUI part of yEd is sufficient. We don't need your yFiles and algorithms to make awesome additions. Just look on how community driven work boosted Photoshop and Maya. Users of both developed so awesome scripts they can sell them for hundreds of bucks! And people buy them. And it boosts the importance of the core-program = sells ). It's like 2013 right now... guys.