Martin wrote: > Right now GIMP has virtuall all of the UI imperatively constructed > with > 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 > experience > in this area. The benefits of using Glade is: > > * Tweaking the UI doesn't requires re-bulding the app > * Less code > * Easier to start using a script language like JavaScript in the core > * 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. however, 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 way." "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, --ps founder + principal interaction architect man + machine interface works http://mmiworks.net/blog : on interaction architecture _______________________________________________ Gimp-developer mailing list Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer