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

In reply to Re: Decent GUI desgin by Masem
in thread Decent GUI design by gregor42

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.