When reading Ton’s
“(Re)defining Blender”, I found it interesting to see, that one of the problems for enhancing the current GUI
is the strong connection of the data model and the graphic interface.
Ton:
“The misconception here is that the “UI” is some kind of separated entity of a program, which can just be peeled off and replaced with another interface. However, a really good UI (and certainly Blender’s) is not just an abstract independent layer, it’s the reflection (and sometimes even the core) of the program’s design.”
Actually for my understanding a “really good GUI” should not be dependent on internal implementation and data structures but instead communicate through a lighter protocol by using more generic and simpler data structures.
I understand, that sometimes this is not possible, for example when having real BIG data, but in most cases the presentation layer will not need access to the implementation details of the data model.
When I last looked into the code, some years ago, I was able to separate the GHOST parts to compile blenderless on my Mac. I did that just to see the coupling of the parts and to see, if my I would be able to help programming blender.
It was hard, especially with outdated/undated docs and sparing code comments. Based on my findings, I decided, I could not help in blender development, because it would eat up too much of my resources.
Maybe now is the time to look again, with all the GUI discussion startet by Andrew Price. This thread should be
- a research about the current implementation (finding out how its working internally)
- suggestions to enhance and separate the model/gui communication
- looking for a replacement of GHOST, for example GLFW http://www.glfw.org/
- document and simplify how user can build scripted GUI panels
Thanks to everyone which can help here with details and to all developers which did a great job to make Blender the outstanding application it is today.
Thank you