[comp.society.futures] GUI vs Text

uselton@nas.nasa.gov (Samuel P. Uselton) (06/06/91)

In article <6gH233w164w@bluemoon.uucp> bmb@bluemoon.uucp (Bryan Bankhead) writes:
>There are a few myths I would like to adress,
                 ^^^^^
I assume you mean that the numbered statements are FALSE.  There are some
I take issue with.
>
>1.  Text is Flexible
>When debating the subject of GI's I constantly come upon the idea that 
>something is going to be lost in the capacity to do things with the system 
>because it misses the 'flexibility' of text. 

Because SOME peoples' experiences include using GUI's in which things they
were accustommed to doing were left out by the GUI designer.  AND they could
ONLY combine things in the way the GUI designer had planned.  This is BOTH
a strength AND a WEAKNESS.  It prevents novice users from doing incredibly
bad things to themselves, limits the choices of what to do next and provides
memory jogging.  It also means that anything the designer didn't explicitly
plan, is unavailable.

> Text is not flexible. 
>PEOPLE primarily communicate in text and PEOPLE are flexible.  People can 
>extract meaning from the most mangled syntax.  
Language is incredibly flexible.  (So are people - we created language.)
Text is a fairly complete method for transcribing language.  

>CLI's cannot.  The syntax 
>use in a complex command line interface requires VERY rigid use. sometimes 
>subtle errors can derail the whole thing.  A lot more is require to use 
>unix than just the 400 commands mentioned above.  It requires mastering a 
>variable yet quit rigid syntax.

It is true that the (mechanical) parsing of a CLI requires a rigid syntax, 
making certain trivial errors occur with annoying frequency.  However, the
COMPLEXITY of the syntax is directly proportional to the number of ways the
elements can be arranged MEANINGFULLY.  It is this LARGE set of potentially
available meanings that embody the POWER of a CLI.  You could make a GUI
with a similar level of complexity, but you would be defeating the purpose. 

>
>2. Xwindows is a GUI
>Sorry dudes but opening a window to type in unix file trash is NOT a GUI.

I agree, so far as you go.

>X windows has the potential to become a GUI but I haven
>t seen it happen yet. (maybe it has something to do with the 1000 
>primitives)
>
Xwindows has the potential to SUPPORT GUI's built ON TOP of it.  MOTIF is
supposed to be a toolkit for building such GUI's.

>3. You can't automate processes on a GUI
>I am using a macintosh program called Microphone which has an advanced 
>scripting capacity that can be built using a point and shoot GUI method 
>that is quit elegant.  

I would agree that this one is a myth.  Probably arising from people's
complaints that they can't do it in the GUI that they HAVE.

>anyone who has so much a programmed in basic can do 
>the most complex things with it and even if you've never programmed you 
>can figure it out easily. 

A slight aside here....  This comment leads me to believe you are mainly
interested in beginners, small system users and in general the population
for which GUI's are a big win.  There are others in the world, however...
Also, with more experience, one typically encounters more complex things
so the things "to be figured out" continue to increase in complexity.
   
>Designers didn't put this capacity in early 
>GUI's howver more and more it
>s starting to appear.  (Mac sys 7.0 has an advanced capability in this 
>area.)

Good.
>
>4. GUI's are for dummies
That's not how *I* would say it.  *I* say "GUI's are particularly good for
novices, people who use systems infrequently, and people who may use the
computer repeatedly and often, but always for the same basic operations."
 
>A GUI can be built to do anything, 

If you know ahead what the things are going to be....

>and allow the learning of complex 
>operations more quickly.  

But once you have learned the operations, it is often faster and more 
convenient to perform them from a CLI!

>There are several TOTALLY GRAPHIC developement 
>languages available that generate code in MPW code blocks (Mac 
>Programmer's Workshop)  

But do they PREVENT those who want to from using text?

>Anything from a children's control interface to 
>developement at the machince cod level can be done using the scripting 
>paradigms on a GUI
>
ok.

>A GUI can incorporate all manner of complex an subtle relationships in a 

Again, IF the designer provides for it ahead.

>way for mor understandable to a user than CLI's.  With  a CLI there is 
     ^^^^^^^^^^^^^^^^^^^^^^
     (far more, I assume)
SOMETIMES! Maybe even usually.  Definitely NOT always.  More often more
understandable for a novice computer user.

>learing in two steps.  First learn the language, and then learn what the 
>language REALLY DOES when you type it in (two different things)  With a 
>GUI you just do something and learn what is does while you do it. Big 
>difference.
>
Having used computers as a big part of my daily life for more than 15 years,
even when approaching a completely new system, I have large knowledge of
things the system CAN do.  It becomes a different problem.  What do I do
to it to get it to do the particular thing I have in mind?  Whether this takes
the form of "Use mouse to move cursor to position...and click twice then,..."
or "type these 4 letters followed by the filename..."  becomes fairly trivial.
I rapidly (after a few days on a new system) become interested in "what is
the most convenient way to...."  Often, it is using the CLI!

>5. We're all going to learn 1 CLI

Depends a lot on who "WE" is.

>Fat chance.  I was converted to macintosh once and for all when I wanted a 
>full scale DTP word processor and acquired Wordperfect.  When I saw the 
>HUNDREDS of commands I would have to learn I move to the mac world and 
>never looked back.  

Lots of people do, I that's fine with me.

>Do you really expect the world of computing will 
>become a one interface world.  

Never.  Every application has to have its own.  (Even if they follow style
rules so they look similar, they are not quite the same because they have to
do different things.)  Some applications have more than one, or even (!!!)
user customizable interfaces!  Operating systems are the number one candidate
for this customization.

>Unix people in 1980 claimed 40% of high end 
*SOME* (please, not all of us are so silly.)

>micros would use the system by 1990.  The actual figure is closer to 5%!!

Depends on how you define "high end". (And "micro" too.  Are workstations
that have microprocessors "micros"?)
 
>I think smalltalk is a more likely base for a future GUI, it was designed 
>for this from the ground up.

I doubt it will catch on, but it will be interesting to see.  My bet is
something that sits on top of Unix (or a variant) similar to Sun's Open Look.

>  How many network protocols are there?  I 

Not too relevant.

>there ONE STANDARD for ANYTHING in the compute world.  Havew we moved ONRE 
>STEP that way in the last 190 years?

Are you starting to smolder here?  We have certainly moved MUCH closer to
having one standard for a few things.  Everyone except IBM uses the ASCII
character set, and even they use it in the micros.  The number of operating
systems has decreased DRASTICALLY.  The idea that you *could* run the same
operating system on machines from different vendors was heretical only
10 or 15 years ago.

Why 190 years??  Software for computing was just natural language instructions
to the people doing the computing only 50 years ago.

>
> This is from
>     bmb@bluemoon.uucp
>     bmb%bluemoon@nstar.rn.com
>who doesn't have their own obnoxious signature yet

Sam Uselton		uselton@nas.nasa.gov
employed by CSC		working for NASA (Ames)		speaking for myself

mcbeeb@jacobs.CS.ORST.EDU (Brian Mcbee) (06/06/91)

I find that I have to agree with everybody :-)  I use a multitude of computers
everyday, using both CLI and GUI interfaces.  The computer I find easiest to
use, though, has both interfaces available.  For some things I use the GUI, and
for some things I use the CLI.  I find this far more flexible than either one
individually.


--
Brian McBee   mcbeeb@jacobs.cs.orst.edu  or  brianop@opac.UUCP
"The strongest reason for the people to retain the right to keep and bear
arms is, as a last resort, to protect themselves against tyranny in
government."			Thomas Jefferson

mll@aio.jsc.nasa.gov (Mark Littlefield) (06/07/91)

In article <1991Jun5.181727.17833@nas.nasa.gov>, uselton@nas.nasa.gov (Samuel P. Uselton) writes:
(Lots of stuff.....)

I have to disagree with a large part of what you discribe Sam.  I too
have been using and programming computers for 15 years (I started when
I was 13), yet, I use GUI's almost exclusivly.

Computers are a tool in my profession.  Not an end but rather a means
to an end.  If I am to accomplish my task I need to have tools that
are easy to use, quick to learn and that can provide me with the
information that I need at a glance.  

For instance, when I'm debugging a piece of code, I use xdbx or xxgdb.
This gives me the ability of displaying a large amount of information
while having pushbutton control over the instructions that I want to
perform.  Granted, there are times when I have to resort to the
command line to do some of the mode exotic functions, but that is the
result of trying to shoehorn a text based program into a GUI
environment, not a failure of the GUI paradigm.

Another good example is document processing.  Sure I can use TeX or
one of its infinite variations to produce a resonable document, but
it's trial and error in the development.  I would much rather use a
WYSIWYG editor with a strong set of style sheets and macros.  Not only
can I get the job done much faster, but it's much less wearing on my
nerves and it doesn't use nearly as much paper.

If I was interesed in learning every little back alley, every little
command sequence that UNIX had to offer, then I would probably avoid
GUI's like the plague.  I am interested in building vision systems for
robots and this workstation I am on is just a tool to help me in that
task.  If there is anything that can make that task faster and less
painfull, believe me, I would use it.

=====================================================================
Mark L. Littlefield               Automation and Robotics Division
internet: mll@aio.jsc.nasa.gov       Intelligent Systems Branch
USsnail:  Lockheed Engineering and Sciences 
          2400 Nasa Rd 1 / MS 19            
          Houston, TX 77058-3711
====================================================================

throopw@sheol.UUCP (Wayne Throop) (06/09/91)

- bmb@bluemoon.uucp (Bryan Bankhead):
    Text is not flexible.  PEOPLE primarily communicate in text 
    and PEOPLE are flexible.  

- uselton@nas.nasa.gov (Samuel P. Uselton):
    [...] the COMPLEXITY of the syntax is 
    directly proportional to the number of ways the
    elements can be arranged MEANINGFULLY.  It is this LARGE set of 
    potentially available meanings that embody the POWER of a CLI.  

I agree more with Samuel than Bryan.  Though I agree with Bryan that
text is not *inherently* more flexible than visual, gestural, or other
vehicles that convey meaning, it still seems to be the case that
*current* text-based command interpreters are far more flexible than
*current* GUI-based command interpreters.  This may well be due to the
longer track record of the TBCIs. 

GUICIs are currently poor at expressing algorithms to embody needed
customizations, and especially poor at providing a general mechanism for
binding referents to formal parameters to such algorithms.  I emphasize:
this is not intrinsic to GUIs as far as I can tell. 

> You could make a GUI with a similar level of complexity, but you would
> be defeating the purpose. 

I don't necessarily agree here, though.  "The purpose" of a GUI is
(I suppose) to take advantage of hand-eye co-ordination, and (to a
lesser extent, but still important) to rely less on memory and more
on recognition.  (Of course, GUIs are often "sold" on the second
virtue, but it is secondary IMO, and is not a unique feature of GUIs:
consider for example menu or command-completion text-based systems.)

ANYway, the expressive power of the gestural language is an orthogonal
issue to either of these purposes.

Consider for an analogy the world of human languages.  Humans primarily
use spoken languages, with an admixture of body language.  Yet, as
formal sign languages show, there is no *fundamental* reason why
gestural (GUI) languages can't be as rich and expressive as spoken
(text) languages.

- mcbeeb@jacobs.CS.ORST.EDU (Brian Mcbee):
    For some things I use the GUI, and for some things I use the CLI.
    I find this far more flexible than either one individually.

This is the way I operate, also.  There are some places (many
places) where gestures are more efficient, and others where they aren't
available (eg: over a low-bandwidth connection, or in specifying "batch"
or "cron" or "daemon" activities). 

Of course, there is no particular reason why GUIs could not eventually
displace text essentially universally.  But for now (or rather, since
this is comp.society.futures, "for the forseeable future"), I'd prefer
that, similar to the "radical" idea that interactive command and "batch"
languages be identical, there should as far as possible be a one-to-one
correspondence between a tool's GUI and text interfaces.  This is
clearly not impossible, or even hard, to do.  It just isn't done very
well very often. 
--
Wayne Throop  ...!mcnc!dg-rtp!sheol!throopw

bmb@bluemoon.uucp (Bryan Bankhead) (06/13/91)

There are a number of things to respond to here
- uselton@nas.nasa.gov (Samuel P. Uselton):
    [...] the COMPLEXITY of the syntax is 
    directly proportional to the number of ways the
    elements can be arranged MEANINGFULLY.  It is this LARGE set of 
    potentially available meanings that embody the POWER of a CLI.  

Har de HAR!  Try combining CLI gobbledegook in a new way to produce a new 
meaning like you can in a NATURAL language and your system will spit back 
SYNTAX ERROR every time.  Human languages are flexible because humans are 
primarily SEMANTICS precessors. Humans can derive semantic content from 
the most idiosyncratic or downright mangled syntaxes imaginable.  If you 
depart even the SLIGHTEST from the rules for structure in a CLI it won't 
have the slightest idea what you are talking about.

By the way I have a couple of new myths to debunk here

CLI is 'closer' to the machine.

This myth is often expressed in a manner to suggest that you will somehow 
be learning mor about the computer in some way if you use a CLI. Actually 
the whole idea of CLI was a primitive attempt to separate the user from 
the machine level operations so non computer engineers could use the 
machines.  Computers don't communicate in AWKS or GREPS any more than they 
do in mouse movements, they communicate in 101011101's of binary math. If 
you absolutely must feel those transistors between your toes then get an 
Altair 8080 and input everything with the front panel!



 This is from
     bmb@bluemoon.uucp
     bmb%bluemoon@nstar.rn.com
who doesn't have their own obnoxious signature yet