Benjamin Geer on Thu, 25 May 2000 06:21:39 +0200 (CEST)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: <nettime> OFSS01: First Orbiten Free Software Survey


On Tue, May 23, 2000 at 07:29:10AM -0700, Amy Alexander wrote:
> anyway, as for KDE/Gnome... yes, they are very user-oriented, but
> even so, i've had problems with both of them that were sort of
> typical of open source trickinesses, (for lack of a better term.)
> and that led me to wonder again, if the end users were assumed to be
> programmers or at least sysadmins.

I'm not sure that it will ever be possible to maintain a Unix system
without a system administrator.  Microsoft tried to do that with
Windows 95 by eliminating anything that would require administration
(like keeping track of which libraries you have, and upgrading them).
When system files go missing, there's no way to find out which ones
are gone.  The result is that on every computer I see that's running
Windows 95, everything is a mess, but there's no way to fix it except
by reinstalling the operating system.

True, many things can be automated.  For example, Debian Linux
(http://www.debian.org) can automatically download and install new
versions of packages as they become available, without the user even
having to know that this is happening.

You could make a GUI that would let people configure, say, cron jobs,
which don't take much technical knowledge to understand.  (Even
Windows 95 has a `task scheduler'.)  However, there are quite a few
daemons that you need to have sysadmin knowledge to work with,
e.g. ssh, kerberos or identd.

Wouldn't it be better just to have lots of freelance sysadmins who
made house calls?

On a more basic level, if you wanted Unix to be usable by people who
know nothing about computers and don't want to learn, you'd have to
get rid of the command line.  While this is perhaps possible, Unix
without the shell just wouldn't be Unix.  What people like about Unix,
when they get used to it, is having a lot of small, general-purpose
tools, which they can combine in ways that the operating system's
designers never anticipated.  If you wrap everything in a GUI, you
lose that.

If you dumbed down Unix so that it conformed to the expectations of
today's average user, you'd just have a more stable Microsoft Windows
or MacOS, and I think that would be a shame.  It seems to me that the
average user would benefit much more from learning to use Unix as it
is, starting with a shell and a bit of scripting.  I used to work in
an investment bank, and every trader I knew was using highly
specialised custom Excel spreadsheets with complicated custom macros.
None of them had any training as programmers, but they were
programming, although they probably didn't think of it that way.

I think David Beazley had an important insight when he created SWIG
(http://www.swig.org).  (SWIG is a tool that helps programmers give
users the ability to control a program using a scripting language.)
Beazley was working with physicists who needed number-crunching
software.  He writes:

    The real problem is that for every C program I wrote, I needed to
    have some sort of interface, but being more interested in other
    problems, I would always end up writing a really bad interface
    that was hard to extend, hard to modify, and hard to use. I
    suppose I could have tried to do something fancy using X11, but
    who has time to waste weeks or months trying to come up with an
    interface that is probably going to end up being larger than the
    original C code?

Instead of making an enormous GUI for every program, he made it
possible for users to tell the program what to do in an easy-to-use
scripting language.  The result was more flexible programs.  Users
could make programs interact in non-preditermined ways.  It seems to
me that this follows from what is supposed to be the Unix philosophy.

Programmers usually prefer to use applications whose behaviour they
can control using scripts.  Nowadays, scripting languages such as
Python are so easy to learn, that there's little reason why people
with no programming experience couldn't use them.  If this were
encouraged, could it not be a way of empowering the end user, and
narrowing the divide between end-user and end-programmer?

Benjamin Geer
http://www.btinternet.com/~amisuk/bg

#  distributed via <nettime>: no commercial use without permission
#  <nettime> is a moderated mailing list for net criticism,
#  collaborative text filtering and cultural politics of the nets
#  more info: majordomo@bbs.thing.net and "info nettime-l" in the msg body
#  archive: http://www.nettime.org contact: nettime@bbs.thing.net