Subject: Advocacy through Useability?
To: None <netbsd-advocacy@netbsd.org>
From: Louis Glassy <glassy@cs.montana.edu>
List: netbsd-advocacy
Date: 10/26/1998 23:48:37
  by homeworld.cygnus.com with SMTP; 27 Oct 1998 06:48:19 -0000
	by acheta.nervana.montana.edu (8.9.0/8.9.0) with SMTP id XAA10262
	for <netbsd-advocacy@netbsd.org>; Mon, 26 Oct 1998 23:48:37 -0700
Date: Mon, 26 Oct 1998 23:48:37 -0700 (MST)
From: Louis Glassy <glassy@cs.montana.edu>
To: netbsd-advocacy@netbsd.org
Subject: Advocacy through Useability?
Message-ID: <Pine.LNX.3.96.981026232759.10241A-100000@acheta.nervana.montana.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII


Hello all,

First: a kind thank-you to the whole NetBSD crew for 
making a solid, working OS.  Specifically, to the people
who did the i386 port, that you got a real OS running 
on Intel trash is in my mind nothing short of heroic!  
(I say 'trash' advisedly, as my 5MB RAM 386sx/20 has been
belching bits for 4 days solid, doing a kernel build.  Only about
3 days of compiling left to go... :-)

Some rambles:

One of the things that I'd like to see is some more effort
spent on making NetBSD useable for non-techies.  These are
the people that someone in this forum described as the
"grunt-and-click" crowd.  :-)

Well, that "crowd" includes me.

I think that the collective NetBSD effort is very capable
in the tech department.  "NetBSD, the OS" is not very 
welcoming to people who actually like to use computers 
to do other things than just dink with the computer itself.
(in my humble opinion.)

Does this mean NetBSD should become another Linux, FreeBSD
(or fill in your favorite grunt-and-click OS here) ?
I don't think so.  The NetBSD legion can (and I think,
*should*) do what they enjoy doing, and that I can run NetBSD
on my bit-spewing 386sx/20 is a tribute to your good work.

So here's what I would like to do, and I'm curious how
this strikes ya...

I'm thinking of something like a "NetBSD Useability
Project", which has only one purpose: do things that
help make NetBSD more accessible for people who just use
computers (vs people who like to hack on system internals).
If you think "using a computer" is like a chemical reaction,
I'd like to lower the activation energy for new users.

What does this have to do with netbsd-advocacy?  Well, if
NetBSD were less hostile to non-gurus, I think we'd have
an easier time advocating it to more people.  This doesn't
mean (& I don't want) that NetBSD should be "watered down"
to a tasteless MS-windows pulp.  By no means.  But I think
a couple of things might be doable (even by me) and, as
optional pieces of NetBSD, might be a little easier for
grunt-and-clickers to use...

Here's one idea:  take the man pages.  ``man'' is great for
doing what it does: tell me what the args are for sect. 1
command, what the basic api is for a sect. 2 syscall, etc.
``man'' sucks as a tutorial.  also, the SEE ALSO commands
are just tickling us to turn into hypertext...

So - I'd like to take the man pages, all 18 zillion of
them, convert them into HTML.  I think there are automated
scripts or programs that'll do some of this for me.  Then,
I go through, looking for SEE ALSO references, and change
them into hyperlinks into the appropriate html man page.

So man just spawned a buncha new sections: we started
out with
	1 2 3 3f 4 5 6 7 8 9
and now we have
	1h 2h 3h 3fh 4h 5h 6h 7h 8h 9h

where the 'h' means 'hypertext' or maybe 'html'.  all these
pages would be easily readable with lynx.  No funky weird
markup, just plain html 2.0 like gawd and w3c intended. :-)

That's a labor in itself.  Not quite one of Hercules' 12
labors, but maybe 0.2 of one of those...  But now the
fun begins.  Where it makes sense to, we start writing
't' sections and 'e' sections for man pages.  ('t' for
tutorial, 'e' for examples).

It'd be nice (famous last words) to see, e.g., a page like

socket.2ht

which is a html-format tutorial on how to call the
socket(2) call.  MS did something like this for QuickC,
some years back (for C library calls, no networking), 
and actually hypertext help that was the only redeeming
feature of that compiler (which otherwise sucked verily).
Or maybe an 'e' page like

make.1he

that shows you some simple but useful examples of how to
do neat things with Makefiles, like manage the builds of
latex documents, gnuplot-generated plots, etc.

I don't doubt you can think of more interesting or useful
examples.

In summary, some extensions to the NetBSD online help
system:

* html text, browseable with lynx 
* tutorial pages, with "how to" information 
* example pages, with more how-to information, in the form
  of real (runnable, reuseable, borrowable) working
  examples of sec.2 syscalls, sec.1 utilities, etc.

I don't think I'd want to hack all this into 'man'.
Let man do what man does.  This could be done with some
new text (html files), some scripts, and lynx.

Anyway, this is something I'd like to do.  Do any of you
have ideas (similar, different, etc) on what's a smart
way to go about this?

-lg