From: johnsd2@jec324.its.rpi.edu (Daniel Norman Johnson)
Subject: Re: When is a CLI faster than a GUI?
Reply-To: johnsd2@rpi.edu
Organization: Rensselaer Polytechnic Institute, Troy, NY.
Date: Sun, 27 Sep 1992 19:22:49 GMT

In article <jt#p++#.marquis@netcom.com>, marquis@netcom.com (Roger Marquis) writes:
|> 
|> It seems that there are 3 things being discussed here.  
|> 	1) The GUI vs CLI,
|> 	2) mice vs keyboards, and 
|> 	3) a restricted interface vs an open interface.

Well, I dunno, but by all means lets discuss these things.

|> --- GUI VS CLI
|> Most of the things you can do with a GUI can also be done quite well
|> with a CLI: point and click, drag and drop, cut and paste, scroll
|> bars, etc.  You may need a little more screen real-estate in some 
|> cases but the bit-maps do not add that much more functionality.  Most
|> Mac/Windows programs can be easily rewritten for a character based
|> interface, if there was a demand.

Hoo, this'll be fun. Tell me how you can convert the finder to
a ->CLI<-, without loosing anything. (not a character based interface,
character vs grafical is really irrelevant. the is CLI vs GUI);

|> --- MICE VS KEYBOARD
|> I find a heavy reliance on point and click menus to be insulting to
|> my intelligence.

This always confuses me. WHY do you think a particular
UI arrangement is ->insulting<-? I could follow thinking
it was stupid, slow, rigid, etc. But instulting? Its not
like its sez "Roger Maruis is a dweeb" at the top of 
each window or someting. :)

|>  I can Alt-F (File), Alt-O (Open), Tab, Arrow, Arrow,
|> Arrow, <return> to select a file faster than anyone can do the same
|> with a mouse 100% of the time.

Thats a BIG claim. This may be true, if you are a fast typer, for
commonly used commands (open file say...), but then that's why
keyboard equivalents are in the better GUIs. (in macos, you
could do command-O, arrow arrow, return); Or maybe not, maybe
we can dig up someone who is really, really fast with a mouse :)
But what if you dont REMEMBER the command-keys to hit?

Indeed, there are supposedly studies that show that mousing is faster
than command-keys because you have to remember stuff to use
command keys. You just don't remember thinking about it. I expect
you've heard of that, but I doubt you believe a word of it. :)

|>  More nested menu choices amplify this
|> difference.

This is true. Heirarchial menus are very slow. A good
reason not to use them, imho. But sometimes they are necessary.

|> It may take a bit more time to get used to using the
|> keyboard, especially if you don't type well,

Or even if you do. Typing in text is one thing, learning command
key equivalents and getting confortable finding that alt-key
is annother. And there are too many possible commands
to standardize them all.

|> but the small investment
|> pays off 1000 times over in time spent pointing and clicking.

I wont believe this one without some evidence.

|> Programs that do not offer keystroke alternatives are assuming that
|> their users are either too lazy to get used to a keyboard or don't
|> care if it takes longer to perform an operation with the mouse.

Or think it doesn't. Most provice keyboard equivalents for frequent
operations, but not for uncommon ones. After all, what good
is a keyboard equivalent if you cant remember it?

|>  When
|> manipulating the mouse takes longer than optimal that's the OS _getting
|> _I_ want to make the decision which is better for a given operation.

If what you are worrying about is time, what about the time it
takes to decide which operation would be quicker?

|> For many things a mouse is _more_ efficient.  Graphics, scroll bars, etc.  
|> Again, the _option_ of using a mouse should be available.

O' course. And there should also be the full set of standard
keyboard equivalents (if all your programs use them, you've
a better chance of remembering them fast) Or so it seems to me.

|> --- OPEN VS RESTRICTED SYSTEMS
|> A good GUI like the Mac's is great for getting a reluctant
|> computer-phobe up to speed quickly.  It's also good for people who use
|> their computers very infrequently or who are predisposed against
|> learning new commands.  Given these positives, and the fact that the
|> Mac has such a good looking GUI, there are a good number of people who
|> are best served by the Mac platform.  This is not saying that it's the
|> GUI that is responsible for these positives.  Rather the strict
|> enforcement of a rigid interface without access to any command line or
|> system programming interface should take the credit.  

There is ->NO<- enforcement. There are no verified cases of the
Apple Thot Police dragging anyone off to the gulag for violating
the User Interface Guidlines. (there are always rumors tho...)

Indeed, some companes (microsoft, for instance) flouts various
very basic guidelines, and gets away with it.

I agree the lack of a command line had something to do with this tho-
it made it difficult to do direct, character based ports.

But, might I ask how "its GUI" and "the strict enforcement of a
rigid interface" are distinct? Sounds like you are saying
"its not the GUI, its just they there's this GUI everyone
has to use!"

|> 
|> The crux of this argument is: just how much of a trade off are you willing 
|> to make (flexibility and extensibility vs short learning curve).  Are
|> you sure you can forever do without the ability to write a batch program 
|> which can automate 100 points and clicks to get the benefit of a good
|> looking and consistent interface?

Believe it or not, most people dont need batch jobs like that.
I agree the facility should be there, but isn't there (yet!), but
its not that critical.

Apple has promiced to come out with a scripting system (AppleScript)
which they claim will blow DOS batch files into the weeds (of course
they do :)

If you really need one on the Mac, you could buy Userland's Frontier.
That'd do it.

So I think the answer to your question is either "yes" or "yes, but...",
or "no, but..."

(personally, I think I could. But I dont really want to)

One other point; I agree CLIs exist with more flexibility than
any GUI I know of, but CLIs have been around, and in constant
heavy use and development, for a lot longer than GUIs have. Give
GUIs more time, and watch what happens. They wont stand still.

As for extensibility, I dunno bout that. Some of the things
Extensions can do are really, really wild. I never heard of a CLI
doing that sorta stuff. [do you want examples?]
--
			- Dan Johnson
And God said "Jeeze, this is dull"... and it *WAS* dull. Genesis 0:0

These opinions have had all identifiying marks removed, and are untraceable.
You'll never know whose they are.