Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
While I agree 100% on the programming part of this article, I think it kind of misses the point when it comes to what GUIs are good for.

It has been noted that GUIs make simple things simple, and complex ones impossible. Certainly it is worthwhile to make simple things simple. But too often software is geared to only one level of expertise. That which is novice-friendly is too frequently expert-hostile, and vice versa. Being needlessly forced to click the mouse over a menu will slow down the expert user who is more comfortable with a keyboard interface.
What has mouse-only interaction got to do with a GUI? A _good_ GUI will provide as many modes of operation as possible, including keyboard where appropriate (which is many places for most applications).

E.g. a graphic-intensive program like Photoshop has a LOT of keyboard shortcuts for e.g. selecting tools in the toolbox, selecting etc, etc. You can really tell that this program has been around a long time by looking at the streamlined UI. And, it's really a shining example of TMTOWTDI once you learn the more esotheric parts :)

One of the good things about a GUI as opposed to a CLI (Command Line Interface) is that they are "explorable"(1) to a greater extent. Rarely used commands are found in menus for easy browsing, commonly used commands have shortcuts and maybe a button in the toolbar. Using the GUI to learn to use the application is a good thing because it will allow people with different skills to jump right in at a comfortable level, allowing them to grow more advanced and efficient ways to use the program over time.

People are different. Some prefer text. Some people are more visually oriented.

Programs are different. Some problems are more suitable for a visual direct-manipulation approach, while other are strictly text-oriented, which the moronic and endless point-and-click configuration of many Windows programs proves (where text files would be a so much more usable and efficient solution(2)).

Programs have different usage patterns: the program itself may be complex or "shallow", different users may use the program seldom or daily. Ignoring these usage patterns will get you a bad user interface, be it a GUI or CLI.



His entire site is very good, BTW. Other nice sites about GUI and usability design are:

(2) But like I said, more modes of operation is better. What's wrong with text files for experts and automatic processing, _and_ a GUI for seldom-users?

In reply to Re: GUIs Considered Harmful by Tom Christiansen by jplindstrom
in thread GUIs Considered Harmful by Tom Christiansen by princepawn

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

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (2)
As of 2021-09-25 22:50 GMT
Find Nodes?
    Voting Booth?

    No recent polls found