Tuesday, May 29, 2007
This is what I get for trying to prove to myself that I'm not lazy.
You know, I thought, I'll get gas later. I get gas at Costco, and while Costco is on the way to Boca Raton, right on the corner of Lantana Road and I-95, it's not on the way. You have to turn left off Lantana onto a side street, then enter Costco on one corner of the lot. The gas station, however, is on the opposite corner of the lot, which requires some deft navigation, since the law in Florida is that “thou shalt make a labyrinth of thy parking lot.” Then the same deft navigation to get out of the Costco lot, back on the side street, then a left onto Lantana Road and an immediate right onto I-95. It's too much of a pain, I thought.
Then another thought from some other part of my brain forced its way to center stage: Boy, are you lazy. And because of that thought, I thought You know, you're right! Just for that, I will get gas!
So I turned onto the side street, into the Costco lot, deftly navigated my way to the opposite corner through a crowded parking lot only to find the lines at the gas station wrapping back around the main Costco building. It was like 1973 all over again.
Screw this, I thought, I'll get gas later as I turned around amidst blaring horns in an attempt to deftly navigate through the Costco lot to the exit.
I then mentally beat up that part of the brain that called me lazy.
Finally on my way to Boca Raton, I noticed that the traffic today was unusually heavy, especially given the time of day. What? I thought. Don't these people have jobs? Now I realize that Florida is one of the major tourist attractions in the United States, but Tourist Season™ is well past and now we're getting to late spring, early summer, when the alligators start to sweat. A tourist with any brains whatsoever should have left a long time ago.
What gives?
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
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 (and (shudder) control panels by extension) were created to give the end user a consistent, simple and largely non-abstract 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, 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, 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 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 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.