Ubuntu is under attack

Eric Dunbar eric.dunbar at gmail.com
Mon Dec 19 18:35:04 UTC 2005


On 12/19/05, Peter Garrett <peter.garrett at optusnet.com.au> wrote:
> On Mon, 19 Dec 2005 11:12:56 -0500
> Eric Dunbar <eric.dunbar at gmail.com> wrote:
>
> > yet DOS and all such CLUIs
> > required people to the be the tools of the computer, and not the other
> > way around where the computer itself was the tool.
>
> I think this is really backwards. Computers are not appliances, whether
> you like that fact or not.

Software should be [appliance-like], and, judging by the way things
have been going for the past twenty years, that's certainly what's
happening. The focus on software design is now on WHAT the software
can do, and not HOW to get the software to do it.

The difference between the user being a tool OF the computer vs. the
computer being the tool of the user is developer determined.

Macs (when Mac OS was the only major GUI... with apologies to Amiga &
Atari OS) were extremely hard to program for because the onus was on
the programmer to write software that worked and could do what the
USER needed to do. However, the software that was produced was
stunning compared to the CLUI counterparts.

DOS, by comparison, allowed programmers to be lazy and also LIMITED
programmers in what they could do. All a DOS programmer had to do and
COULD do was write an app that did a bunch of separate things, loosely
put together in a crude user interface.

To use a DOS app effectively required one to become an expert.
WordPerfect (one of the simpler apps, but still quite complex)
required expertise in WordPerfect. Where (for the sake of argument) a
secretary required extensive training in WP to write memos. All a
Mac-using secretary needed a brief induction period in how to use a
mouse and the basic commands (Save, Open, Quit, Print), if they didn't
already know how to use a computer. After that they were off to the
races, provided they understood how to use a real-life type writer.

The reason I bring up Mac vs. DOS is that that is the most
illustrative historical example of computer as tool vs. computer as
boss.

> When I use the CLI , I am not at *all*  "the tool of the computer". In
> fact it's the exact opposite. I am giving the OS instructions, telling the
> computer what I want it to do.
>
> Do you think bash scripting is being "a tool of the computer" ?

Yes, and no. It depends.

Plus, even scripting is a great example of user as tool vs. computer
as tool. Scripting by CLUI requires one to develop expertise and read
manuals. Scripting by GUI drag-and-drop simply requires one to
understand the concepts of flow and not all the minutiae of scripting.

Assuming the same end task...

A well designed app frees the user from the necessity of understanding
the nuts and bolts -- i.e. user as boss, computer as tool.

A poorly, lazily, or sparsely* designed app requires users to
understand the nuts and bolts before being able to perform well. In
this situation the computer "demands" that the user perform, thus the
statement that the user is the computer's tool.

*Sparsely -- a simple CLUI app requiring extensive user input is not a
bad app, necessarily.

> I have nothing against GUIs, and use them all the time - but let's be
> clear-thinking about this. How the CLI makes *anyone* a "tool of the
> computer" boggles the mind.

I don't expect that you'll jump up and down and say, Eureka, he's right!

Just a few more thoughts, not necessarily in order...

Linux is evolving away from the user-has-to-do-the-work (i.e. user is
tool), process-oriented model. More and more tasks are fully scripted
(and automated). Services are started and stopped through a simple
click of the button rather than having to enter sudo apache-ctl
restart (or whatever it was). Developers are now able to (and FORCED
TO) focus on the user's needs, not the developer's needs (a well
designed CLUI app is unlikely to ever supplant a mediocre GUI app,
simply because the GUI app opens up so many more options for most
people).

Disconnected thought two...

I recognise the utility of learning the nuts-and-bolts. Your sig quote
sums it up beautifully: "Unix is hard to learn. The process of
learning it is one of multiple small epiphanies."

Once learned, *nix is extremely powerful. Through scripting I have
managed to do things that would otherwise take me HOURS. I have one
particular script that connects to an on-line radio station, sucks off
a particular program and converts it to an MP3. All automatically,
started and stopped by cron at specified times. The files are stuck in
a folder, ready for me to import to iTunes when and if I feel like it.
I've now got the better part of a half-year's worth of recordings,
broken down by half hour segments.

Had I done that manually, I would still have to devote a good 10-20
minutes/day to that effort, and, I would have to be home every day at
the same time (thus, my time investment would be much greater).

That said, it took me a number of days of experimenting to set up.
With OS X 10.4's drag-and-drop scripting, I was able to do this in a
*fraction* of the time with OS X-only apps -- I created the script
just to see if it could be done, ... I'm not using it b/c I would've
had to register the apps, and, I would've had to leave my "real"
computer on 24/7 (the *nix script runs on my YellowDogLinux server).

_I_ don't regret creating the *nix script, but, then again, I'm a
tinkerer by nature. However, I haven't really had to use that
knowledge since I created that script (a testament to the stability
and predictability of YellowDogLinux (FC2-FC3 PPC-only hybrid)).

A "normal" user wouldn't have been able to create that script -- the
computer would've required them to be too much of a slave (tool) to
the computer.

Anyway, enough examples. If someone else wants to take these ideas and
run with them, be my guest.

Also, these threads really should be on Sounder!

Eric.




More information about the ubuntu-users mailing list