Newsgroups: alt.os.multics,alt.sys.pdp10,alt.folklore.computers,comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!news.alpha.net!uwm.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!ix.netcom.com!netcom.com!vsocci
From: vsocci@netcom.com (Vance Socci)
Subject: Re: Retro-Computing!
Message-ID: <vsocciD6DErH.ADz@netcom.com>
Sender: vsocci@netcom19.netcom.com
Organization: Xenos
X-Newsreader: News Xpress Version 1.0 Beta #2.1
References: <D5yxwn.5BG@sdf.saomai.org> <BILLW.95Mar26154351@glare.cisco.com> <3ledga$rcr@news2.delphi.com> <3005720917.911848@naggum.no>
Date: Sat, 1 Apr 1995 16:10:51 GMT
Lines: 105

Erik Naggum <erik@naggum.no> wrote:
>[THUNDERONE@DELPHI.COM]
>
>|   Modern Operating Systems attempt to adapt to the human's needs.  Old
>|   Operating Systems require the human to adapt to them.
>
>they differ in the amount and kind of adaptation required.  "intuitive" is
>a function of your knowledge and experience.  I'd venture that different
>kinds of people have different kinds of "intuitive".  e.g., I want to talk
>to my computer in a language, however foreign at first, provided that it's
>systematic and predictable.  I don't _want_ to point and click and have to
>wait for the computer to respond me before I can make the next move, as it
>were.  I have not yet found the graphical user interface that allows me to
>extend my natural multitasking to the computer.  I may think it does not
>exist, by virtue of accepting "click" events in "windows" where some code
>is supposed to be set up to to accept it.  I want a click-ahead GUI.
>
>#<Erik>
>--
>the greatest obstacle to communication
>is the illusion that it has already taken place

There are many problems with the old style "type in a command" interface which
modern GUIs are trying to address.  Granted, most modern GUIs are poor copies
of what they could be; anyone who has  used the Xerox Star workstations knows
what I mean. (These are the workstations that descended from the Xerox Altos, where
graphical user interfacing was pioneered).

I won't belabor the current and potential benefits of properly designed GUIs. Nor will
I get into my prediction that user interfaces and virtual reality will eventually merge, yielding
a strange multidimensional world in which to run your favorite multidimensional programs.

But I will say something about the problems with command line interfaces.

First, realize that a lot of our way of interfacing to computers has been limited by our
previous methodologies: linear writing with stone and chisel and the successors to that
technology, pens and paper. Then, one day, someone stuck some typeface on piano hammers
and invented the typewriter. (No kidding; I saw a great display at the Smithsonian in 1988 on
the development of typewriters, and the first typewriters even had piano keys on them instead
of alphabetic keys!!!)

Then one day, some bright person (and they probably didn't work for IBM, who seemed to like
for people to punch cards as a prerequisite to interfacing to computers) hooked up a teletype
to a primitive computer. This gave birth to the systems that we all know and love as the PDP-10s
eventually.

No matter how clever and well done they were, these systems are basically super-intelligent
typewriters. Our programming languages are "typewriter" langauges, and have developed
just about as far as they deserve to develop. (Actually, further if you're like me and feel
that C++ is too much of a good thing . . . any statement that takes up 3 or 4 lines
is probably getting a bit hard for the human eye to comprehend easily.)

The advent of affordable, graphical displays brought the idea of expanding beyond the typewriter
paradigm. The motivation:

Why have to recall lists of sometimes obscure commands to do certain operations if the
system can present the lists to you? Why have to memorize lists of switches which are not
consistent from program to program if the computer can provide a better way?

Sure, man pages are fine, help messages are fine, but if you go through the trouble of
typing in a command to see what switch to use, why not let the computer put the list
up in an intelligble form and allow it to be selected?

Another problem that graphical interfaces helps with is for those of us who have to deal with
multiple systems. Graphical interfaces tend to eliminate totally meaningless differences in
the syntax of similar operations on different types of systems.

Also: I don't believe there will EVER be a satisfactory typerwriter language that can adequately
code multiple process applications. I have done a few contract jobs in a graphical language
in which there were *no* statements of any kind, just icons, and I was very impressed with
the amount of nonsense it elminated. Made software more like hardware design. I just don't
think that character based typewriter languages, being inherently linear in their presentation,
are good vehicles to describe interactions that are not similarly linear. Even the introduction of
jumps adds another dimension to standard linear-thread processors which graphics can represent
better.

Another point about graphics is that we can include more design information, as opposed to
just "coding", in the program. How many of us have drawn diagrams on napkins at our favorite
restaurant and subsequently coded our task from the diagram? Then thrown the napkin away,
or salt it away in our files never to see the light of day again? Graphical programming can
ultimately let you play with the design at the diagrammatical level and gradually refine it
until it becomes the finished application.

Sadly, we are making far less progress in this direction than in the area of hyping up hardware
speeds and hard disk capacities. We will need that extra hardware capability though to handle
the overhead of graphic interfaces.

Areas that still need to be addressed: good scripting languages for graphical environments, with
parameters allowed; graphic program source file compare; how to keep people from menuing
us to death (I still believe in assignable keyboard shortcuts and customized control panels to
solve this particular problem). A GUI is a terrible thing to waste, and a poorly designed GUI
is just a terrible thing.





- Vance

/=======================================\
|    Vance Socci   vsocci@netcom.com	|
| "The worst secrets are those we keep	|
|   from ourselves . . ."		|
| "I am not a number; I am a free man!	|
\=======================================/
