* * * * *

           A frightening minor epiphany on computer user interfaces

> But most systems these days are not designed with linguistic operation in
> mind. If you have to manipulate the same stuff in the same order every day,
> you'd welcome being able to reduce that to a single line command (or even
> batch script) You'd take the effort to learn.
>

“The Return Of The Command Line [1]”

I had a minor epiphany when I read that, one that put (shudder) control
panels into a new light. I'm still pondering the implications of said minor
epiphany, but to quickly get it out: the GUI (Graphical User Interface) (and
(shudder) control panels by extension) were created to give the end user a
consistent, simple and largely non-abstract [2] metaphore for using the
computer, but more importantly, one that promotes a shared environment
between users (I'm flying blind here, trying to get this out, and “shared
environment” isn't quite the right word, but it's close enough for now). By
that, I mean that Alice can sit down at Bob's computer and still manage to
interact with it without problem.

One could argue that a command line is just as “sharable” an experience as a
GUI, but in my experience, it isn't.

Back in FAU (Florida Atlantic University) [3], I knew a guy that littered his
Unix account (a command-line account, by the way) with scores of shell
scripts (“batch scripts”) to do all sorts of things. And these weren't large
shell scripts either—they were all one or two line scripts that did stuff
like, oh, list the contents of the temporary directory, or search through all
files for a particular term and have the output paged. But it wasn't like I
couldn't use his environment (say, he asked me for some help) as I could just
bypass his score of “commands” for the more tranditional ones one finds under
Unix, but our common language wasn't there. He'd type in one of his
“commands” and I would have no idea what exactly it did. I would type out a
rather long command line, piping the data between Unix commands, and he would
look at me like I was crazy for doing all that typing.

It's hard to say it was a culture clash, since we were both “using” Unix, but
it was certainly a style clash.

And this “cultural” or “style” difference bit me again years later when Smirk
was hired to run a small ISP (Internet Service Provider), and I tagged along
as “Unix Sysadmin.” The previous sysadmin wrote extensive scripts to manage
the systems in question, and left precious little documentation. These
scripts often massaged critical configuration files, and the actual “master”
copy was stored somewhere else on the system (most of the time, in the old
sysadmin's home directory). Often times I would fix something only to have it
break when one of his scripts ran (through cron, or by one of the remaining
tech support crew).

In other words, while I developed one way of “talking Unix,” the guy in
college developed another way of “talking Unix” and the previous admin of the
ISP developed yet a third way of “talking Unix.” And none of us got along (so
to speak). This “cultural divide” wasn't on the order of, say, the Queen's
English vs. American English, but more like the divide between American
English and Bavarian German—the roots are the same, but you'd hardly know it—
dialect continuum [4] in the extreme.

GUIs, on the other hand, restrict the language available to the user, thus
enforcing an interactive conformity—much like L'Académie française (French
Academy) [5] does for the French langauge (or rather, tries to do). It's not
so much about enhancing productivity as it is usability in general (or
communication, take your pick).

This minor epiphany is actually frightening to me, because looking over my
history here, I've decried the language drift and incomprehensibility
occuring between hard core Unix users, as well as decried (over and over
again, ad nauseam) control panels for restricting how I can interact (and fix
usually) the computer.

And like I said, I'm still pondering this.

[1] http://www.nooranch.com/synaesmedia/wiki/wiki.cgi?TheReturnOfTheCommand
[2] http://www.nooranch.com/synaesmedia/wiki/wiki.cgi?DoesAbstractionScale
[3] http://www.fau.edu/
[4] http://en.wikipedia.org/wiki/Dialect_continuum
[5] http://www.academie-francaise.fr/

Email author at [email protected]