For a few years, I've been doing some Linux advocacy to a number of
people around me, installing RedHat, then Mandrake (when Mandrake
started existence) on their machines, talking with them. The mileage
varied.

A lot of work has been done to have Linux easier to use. The desktop
gains maturity (though big holes still exist). Administration tools
progress (though it hurts everybody that Mandrake tools don't benefit
some progress made by Debian years ago, and vice versa).

But some people that looked interested in Linux at first sight told me
later "I've abandoned. I can't do what I want. I'm stuck. I don't know
how to search and learn what I want to do".

Willing to take care of the house so that the user doesn't have to do
housecleaning is a good intention. But if you don't often show the user
opportunites to educate himself it will remain difficult and
time-consuming.

I finally managed to grasp the thing and know how to do what I want, but
I had to eat and drink and swim in and drown into a lot of random docs,
until I learned enough to do what I want. Not everybody wants to devote
so much time for it.

Yet, it would be a huge pain to think that because a system has GUIs
that should be simple, then it couldn't satisfy power users, and it
couldn't give hints to educate users.


In a nutshell:
don't be confused between
"not assuming that the user knows everything"
and
"assuming that the user knows nothing"
or, worse
"assuming that the user doesn't want to knows anything"
(which may sometimes happen, but if you follow the first case you won't
conflict with the two others).

If you don't assume more than you should, you shouldn't hurt anyone.
Whereas if you assume that the user knows nothing and doesn't want to
knows anything you frustrate a lot of people (especially on this list).


More generally, I think that an "educating" aspect should be more
widespread in Linux, even from the installation.
(Debian does that to some extent in some context IIRC.)

Very few people look at on-line manuals, because they don't know how and
where to look, and it's too long anyway. There have been attemps to
provide unified way to access and search in various docs
(gnome-help-browser, xman, and other old tools by RedHat which name I
forgot), but these don't solve the main issue. The "tip of the day"
sometimes helps, but independently of what I mean here, mainly because
it happends on a fixed place, and its subject is random.

<IDEA HERE>

There are plenty of opportunities to create little "Where to know
more..." features (in the tools, in the desktop, etc...) that would
point you to a precise spot in a documentation (either done by Mandrake,
like a relevant paragraph of an online manual, or external, like a
paragraph in a Howto).

Of course, they shouldn't be annoying, so popups (and nasty paper clips)
should be avoided. Instead, a small, unique, standardized icon, like an
incandescent lamp (or a book, but it suggests long reading, which is
contrary to my point), should appear next to many items, in many places.
Then the user knows (even if he doesn't click at once on them) that
there are informations to help him when he wants to know more.

A few quick examples:

in logdrake GUI, one "I want to know more" button would give a few lines
explaining that the log files are in /var/log and that more is to be
found in http://www.tldp.org/LDP/sag/x595.html or
http://www.pathname.com/fhs/2.2/fhs-5.10.html

in mkbootdisk GUI, one "I want to know more" button would give a few
links like you can find here:
http://www.tldp.org/HOWTO/Bootdisk-HOWTO/x1440.html

in rpmdrake GUI, tips that say "you can also access similar
functionality by using urpmi or, at a lower level, rpm"

in "connection sharing", say that other firewall applications exist,
that allow greater flexibility, like Bastille.

I should add some better examples. One application would have many of
such hints. Got my point, anyway ?

For example, what if each and every gimp "tip of the day" entry could be
hidden behind an icon in the program. When in the "layers" dialog, the
icon would serve all tips relevant to the layers in an image, not the
one about drawing straight lines. Think "contextual tip of the day", if
you like.


It is very important that those little informations points are
accessible next to the items they correspond to. I'm not telling you
that Mandrake should write some more docs, but rather that people should
find easily the doc they need, even if they didn't imagine that the doc
existed.

This would be a big plus, since it would allow an easier learning curve
for not bright nor dumb but unexperienced users who would like to know,
and not get in the way of those who don't want to know.

</IDEA HERE>


To prove the validity of the approach:

Have you ever noticed how the "help" buttons for the kernel building UI
(make xconfig) are efficient ? In 10 lines, a "help" item about a choice
in the kernel always manages to tell you :  what it is about, a few
hints about how to make your decision, where to find additional
information (very important, it makes the system open), and last, what
to choose if you have no clue.

It is because this is so efficient a help that, while I was a newbie
installing RedHat 4.1, I could compile my own kernel without knowing
anything about how it worked, neither a word of C or makefile syntax.

(The same topic, in french, one year old.
http://amphi-gouri.org/ag_fiche35.html )



Compare with MacOS X. They hide all the complexity of FreeBSD lying
under. You can do a lot of (pre-programmed) things, but they don't have
the point I'm telling here. Apple doesn't want to educate people, they
want their money.

Example: I've tried to enable the ssh server on an OS X laptop. I've
looked in all corners of the control panel they offer. Finally, a
colleague found. It was an obscure phrase that didn't want to use any
precise technical word. It said (in french) something like "enable the
service that allows a remote access to my computer", but more obfuscated
than that. Great! The newbie doesn't know what it is about and will
never now. The advanced user won't understand what it is because Apple
has forbidden to use a technical word with a precise meaning in such a
beautiful GUI.

Apple can do this because they have the money to create playground for
the user, completely disconnected to the Unix reality under. Mandrake
cannot. Linux may become easy to learn, but it is a place where hacker
live.

If Mandrake wants to be loved by its user, it should maybe not try to
stick to much to the "assuming that the user doesn't want to knows
anything" idea, but rather to the "not assuming that the user knows
everything", and letting the user click on those items whenever he wants
to learn a detail about the current action.
This would give an advantage to Mandrake that other don't have.


The web is powerful thanks to the numerous hyperlinks. Live programe
should have a lot of hyperlinks to small points of documentation.
Then the user has the tools in hands, he is free.


So, design simple programs. Have them understandable by people who don't
known anything and don't want to know anything. But let them open to
people who don't know and /want/ to know (by putting tips as I suggested
above) and to those that know (I use rpmdrake sometimes, because for one
non-scripted, one-time operation on a single machine [this makes three
conditions] the GUI can be handy.)

This is an extension of the idea of a "advanced" button that unfolds
another part of the GUI.



Oh, and by the way: all text (except the buttons) in the kernel build
process dialogs (make xconfig) can be copied and pasted. That's a good
UI. This is not by chance. Very smart guys work on the Linux kernel.


I might be unclear. If you want more details on a precise issue...


-- 
Stéphane Gourichon - Labo. d'Informatique de Paris 6 - AnimatLab
http://animatlab.lip6.fr/ - philo du dimanche http://amphi-gouri.org/


Reply via email to