Daemon's Advocate article

James Frazer jfrazer at ieee.org
Mon Mar 1 18:34:35 PST 2004


I don't think it matters whether it's a techie server os or not. 
Sometimes I don't want to go through all the trouble of jumping through 
unnecessary hoops -- not because I can't -- but because I don't have the 
time/patience.

I recall reading a comment by Jef Raskin about UI design -- he made a 
good point by saying that software that attempts to achieve a simple 
task should be simple to use.  Complicated tasks will always have some 
amount of complexity, as this is unavoidable, but there is no need to 
complicate simple things.

As far as Unix goes many problems are caused by to much choice.  The 
whole set of hd partitioning problems occur because it has to be taken 
into consideration that the machine is likely to be dual booted, or 
whatever.  Windows users don't have these problems because windows comes 
preinstaled.  When it doesn't come pre-installed microsoft makes most of 
the choices for the user.

Partitioning for the layman would be easier if the user could choose a 
pre-calculated set of sane values -- for example they could choose a 
partitioning scheme for 1. desktop,  2. server, or 3. advanced/custom. 
These choices should be available _before_ the user gets the confusing 
screen with all the numbers and crap.  If they didn't know anything 
about partitioning they could choose 1 or 2 and bypass much of the 
confusing stuff.  This solves the userfriendly problem without removing 
any of the advanced features of the installer.

One of the things that always bothered me about the FreeBSD installer 
was that sometimes it was unintuitive as to what to do next -- I'd get 
stuck in a menu or dialog where it was not aparent what to choose.  How 
does "X Exit     Exit this menu (returning to previous)" tell me that my 
software is going to get installed?  I would more likely conclude that 
the packages I have chosen to install will not get installed -- and that 
the designer forgot the "install" option.  I've always wondered why 
there wasn't an option to "Install selected software" or something like 
that.

These are the things that confuse people and scare away users.  NOT 
because selecting a few packages to install is an overly complicated 
task -- it isn't -- you don't need to be technical or smart to do this 
-- it's a very simple job -- the installer in this case is the problem.

So you're right, Unix is a techie server operating system, however, many 
of its user-un-friendly problems are not technical problems, but purely 
neglected design problems.  If the computer scientists spent as much 
time optimizing their human-machine interfacing algorithms as they spent 
optimizing his VMM algorithms then we wouldn't be having this 
conversation right now.

Speaking from the perspective of a techie, I don't want to waste my time 
mucking around in a labyrinth of poorly chosen options when I shouldn't 
have to.

Which leads to the next idea of "why don't I just code something better 
myself?"  to which I can only reply with I don't currently have the time 
to blunder into something that I know will require a lot of work.  I 
don't know enough about how the underlying system works to do it as a 
weekend project.

But if someone wants a 'storyboard' representation as to how an 
installer should look then I'd be happy to comply.

That's my huge rant on that,

--James



Dan Melomedman wrote:

Welcome to Unix. It's a techie server operating system, not a desktop OS.
So far, KDE, GNOME, etc. are rigidly fitting into the Unix way of doing
things (technical and otherwise), and so all the troubles you mention.
On the other hand, Apple was successful at integrating Unix into a
desktop, but it's more of a desktop, not a server.

1.  standard installer & package management
2.  standard configuration & uniform config system
3.  a bias towards ONE main (official) configuration (ie:  no choice 
between kde, gnome, or whatever).


If only we could all agree with each other. Before this is possible,
let's standardize some things in BSDs essential components first, across
all BSDs. Yeah, I can dream.






More information about the Kernel mailing list