in reply to Decent GUI design

Most modern gui toolkits, include Java's and Tk's and Gtk's and Qt's, are based around the fact as being modular as possible; it should allow the programmer as many 'hooks' into the GUI process as possible to modify behavior if so desired. To this extent, the process by which one does the combined tasks of "assigning a hot key to a menu option" and "underlining the menu text to indicate a hot key" are considered separate; I can envision numerous reasons to do this, one being for internationalization. The drawback to all this is that you can easily lose a coherent gui framework as you get more authors writing different programs with that toolkit; one might not use unlined characters in the menu, one might avoid hot keys, and so both take advantage of the different hooks available to get the desired behavior, both which are atypical, but allowable by the toolkit.

I remember before Jobs retook Apple that there was the Human Interface Guidelines*; I know Sun was recently pushed by the community to develop similar guidelines for Java programs. In both cases (Mac OS developement and Java toolkits), the GUI framework allowed for deviations from HIGs, but in the case of Apple, nearly 90% of the programs released tried to adhere to the HIG. I would love to see something similar for X or the like, but because we are dealing with 3 strongly different tooklits, I doubt that will happen soon.

* Apple still has HIGs, but the interface of QT4 and other features in MacOS X, are strong pulls away from these.


Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain