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