Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Nov 1995 10:59:19 -0500 (EST)
From:      John Fieber <jfieber@indiana.edu>
To:        "Jordan K. Hubbard" <jkh@time.cdrom.com>
Cc:        hackers@FreeBSD.ORG, install@FreeBSD.ORG
Subject:   Re: Thoughts on the install and on Red Hat Linux. 
Message-ID:  <Pine.BSF.3.91.951127091801.7751G-100000@fieber-john.campusview.indiana.edu>
In-Reply-To: <9417.817366166@time.cdrom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
(BTW, there is a mailing list just for the discussion of installation 
 issues.  I might suggest moving this out of hackers.)

On Sat, 25 Nov 1995, Jordan K. Hubbard wrote:

> Hmmmmm.  This sounds suspiciously like "design before implementation"
> or one of those other socialist granola-eating philosophies from the
> 60's at places like Berkeley & CWI.  Jeeze, he'll start quoting Wirth
> next if we don't stop him!  :-)

Er, I'm in Indiana.  You know, the midwest?  Not well known for 
radical politics.   ;-)  

> Seriously, this sounds like a reasonable attempt to bring the techies
> back down to earth.  Any human interface people care to jump in at
> this point and start suggesting how John's 16 step program might be
> implemented?  I'm good at thinking up the implementation details, but
> not so good at the "story boarding" that John seems to be suggesting
> for this stage.

It is really not hard.  To condense everything, the essential point is
that sysinstall must know lots of things about its environment to work
correctly.  Some things can be determined automagically while other
information must come from the user.  It is the latter that drives the
interface design. 

If you don't have a clear map of what information the user has to provide,
it will be pure luck if you get a good installation program out of it.  I
think the current install is far from a disaster, but there is a lot of
room for improvement.  In particular, the sequence for a lot of things is
wrong.  Just one of many example: while the disks must be partitioned and
formatted be for installing distributions, the user could make much more
informed partitioning decisions if the distributions were selected first. 
In fact, sysinstall could even provide intelligent defaults if the it knew
what distributions were being installed and how much space each required. 

Next to having a clear map of *what* the information the user needs to
supply, we have to determine *where* they will get that information.  This
information drives the help screens and highlights potential problem
areas.  Currently we have a couple large, general help files.  We could do
much better with single screen, context sensitive help that *directly*
answers the question of where to find the needed information.  EG:
selecting active versus passive ftp modes.  Exactly how does one determine
which is appropriate?  This should be answered. 

The list of information the user must supply is also a list of candidates
for automagic discovery.  For example, what about trying bootp to
determine IP numbers?  It will fail in many cases, but it would be a BIG
win in some settings.  Only on failure would the user have to fill in the
numbers.  (However, it may be wise to have the results returned by bootp
displayed for confirmation.)

There are many others that should provide plenty of clever programming
work for those not too interested in that fuzzy thing called user
psychology.  I'm sure people will argue "but any serious unix admin should
know all about disk geometry and geometry translation in PC's".  True,
BUT, every serious unix admin is a novice at one point and for a lot of
our users, that point is installation.  The more esoteric details we can
spare them, the better off they will be, and consequently, the better off
FreeBSD will be. 

Keep in mind that for numerous practical reason, FreeBSD, NetBSD, and
Linux are rapidly becoming THE training ground for budding unixheads. 
If the entry barriers for FreeBSD are lower than the rest, then these 
people will use it, stick with it, and promote it.

As for storyboards and prototype dialog screen?  I'll just say that doing
them will save a lot of time in implementation.  You don't need fancy
tools.  Pencil and paper works amazingly well.  I'll probably be chased
off the list for saying this, but Hypercard is a killer app for interface
prototyping. 

-john

== jfieber@indiana.edu ===========================================
== http://fieber-john.campusview.indiana.edu/~jfieber ============





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.951127091801.7751G-100000>