> Right now GIMP has virtuall all of the UI imperatively constructed
> code. This has a few problems:
> * Tweaking the UI requires re-building the app
> * A lot of code duplication
> * Not very modern
> The patch I am replying to ports the PNG save dialog to Glade and uses
> GtkBuilder to construct the UI. The purpose of this change is to
> introduce declarative construction of UIs in GIMP to give us
> in this area. The benefits of using Glade is:
> * Tweaking the UI doesn't requires re-bulding the app
> * Less code
> * We make the GIMP code base more modern
> * UIs can be constructed through drag-and-drop with Glade
well I see we have to be quick here to get a word in, as
Martin has already gone ahead.
as an ex-UI developer, planner of actual GUI frameworks and
as a interaction architect I have a strained relationship
with GUI builder applications. which of course are by themselves
front-ends for declarative construction of UIs.
discussing GUI builders fundamentally in recent years, I must observe
that if GUI builders were offering the same flexibility as coding
by hand, then using the GUI builder would be just as quick as
coding by hand. speed vs. flexibility is a hard trade-off.
rinse and repeat the paragraph above for declarative
construction of UIs.
now I can understand how a load of humdrum dialogs we have
could be quickly build/maintained in the builder/declarative way.
let it be really clear that I will _not_ entertain the following
excuses in the future:
"your UI design cannot be build with the builder/declarative way."
"that layout can only be start-up/compile time static, because of
the builder/declarative way."
"that custom widget cannot be used with the the builder/declarative
"theoretically we could write some code for that special interaction,
but then we could not maintain it in the the builder/declarative way."
"yes that looks shit on platform xyz but we cannot do anything about
it through the builder/declarative way."
GIMP a high performance application that on the UI front should
constantly push the envelope of what GTK has to offer.
just for the record,
founder + principal interaction architect
man + machine interface works
http://mmiworks.net/blog : on interaction architecture
Gimp-developer mailing list