[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SEUL: vi, end-users, and distribution issues [very long, 10k]
[this was intended to be short, but exploded before I could get handle on it]
I feel I must comment, as it seems that few people are quite grasping
vi(1) was written 30 years ago, when space and speed were both an issue,
teletypes were the only interface available, and the only users of Unix were
university professors and the random student, all with the time and
inclination to use the system, and hence the inclination to learn to use it.
On the other hand, consider Windows, and the type of user you find in front
of such a system. I will use the example of my mom. She just recently got
her e-mail address, and is now capable of tooling around in Netscape Mail
(yeah, I know, but it works for now). She uses a computer at the hospital
where she works, but only because she will soon have no choice (paperless
Had I started her out on a system where she would be presented with an xterm
showing vi, she would have stopped right there. Were I to succeed in getting
her to try to learn, she would soon give up and go back to using pencil and
paper exclusively. Try it with anyone who doesn't make a living by, or at
least dabble with, computers. You'll see the same thing every time.
Linux has yet to reach 95% of the market: end-users. Yes, I know biltmore
and hurricane are being used by a few "end-users", but that is the exception,
and I have a feeling that these people aren't "true" end-users, in the sense
that my mom is. If we can reach the other 95% of the market, Windows ceases
to be an issue, as I have zero doubt that Linux can bulldoze Microsoft out of
a significant (hopefully >50%) share of the PC OS market, with a little work.
To make Linux acceptable to the end-user, it must be friendly, and work as
expected with the least amount of expended energy on the part of the user.
Throwing people (indiscriminately or not) into such editors as vi or emacs is
the surest possible way to scare people back to the known, "intuitive"
world of Windoze. Giving them something that is painfully obvious (or just
painful, to a "guru", such as inhabits this list) to use is the only way to
keep people coming back.
The project I'm heading, SEUL (Simple End-User Linux, www.seul.org), intends
to create such a system. One of my primary goals is this: "The user will
*never* see a commandline (or an xterm, for that matter) unless they
specifically ask for it. If they ask for it, we can assume that they know
what they're doing." That means no vi(1), and likely no Emacs, as it is just
This is a simplistic goal, of course, as it implies that everything that an
end-user would never want to deal with (much less learn) is text-based.
That's not the case, of course. X resources are a perfect example: they're
cryptic, numerous, and difficult to use/change. NOTE: I'm speaking from the
perspective of and end-user here, but I can't even figure out X resources
myself (haven't spent much time at it, though), so that shows you how much a
pain they are.
Certain applications exist to deal with this, like Linuxconf, and DotFiles.
I like both of these packages, as far as they go. They do what they intend
to very well, and I wish the groups luck. But they assume a certain level of
understanding about what is being modified. End-users do not want to deal
with these programs because of the underlying assumptions about what the user
Technical knowledge, especially relating to computers, comes in layers. You
must know what a command-line is before you can be taught what arguments are
(besides what you get from a teenager... [I shouldn't say that, I have almost
a year left as one myself :)]). You can't understand host (let alone user)
masquerading until you know how addresses are constructed, routed, and parsed.
Considering that the target audience here (end-users) has either never used a
computer before, or has used Windoze, you cannot assume that they know
anything of these underlying processes.
OK, I should get back to vi(1). If you were to present an end-user with vi,
you would have to teach them first the i command, then what escape does, then
the : command line, then the d? commands, and two hours later you have
someone who, at least for the next hour, can do very basic editing. Now
exit vi, turn off the computer, and come back tomorrow. Fish out your
patience, because you'll spend another two hours teaching them the exact same
thing. The information is not retained because it's too much to absorb at
one time for someone who doesn't "do computers". They simply have better
things to think about.
End-users use a computer for one reason: to get real work done. This may be
sending and receiving an e-mail once or twice a week to a far-off relative
(as in my mom's case), or it may be writing a sales proposal for the next big
client. Either way, they have a job to do, as well as other things to do.
They will absolutely refuse to RTFM when all they want to do is type out a
letter. "I'll use a typewriter, at least that's easier!". And believe it or
not, they're right!
Consider the difference between writing a letter or sales proposal on a
typewriter. Sure, it's courier or equivalent, but it works. Very simple:
you hit a key, a letter appears on the page. Anyone who can write can type,
albeit slowly at first.
So why do people use a computer? Because it has some serious advantages. It
may not be faster, but consider: you can erase characters without getting
white stuff all over your hands, you can re-arrange sentences if something
sounded stupid, you can have the computer spell check it, and best of all you
can have the computer send a copy of it around the globe in a matter of half
a second, without paying postage or long-distance charges.
Now, given that you have all these advantages, you'd think anyone would jump
at the chance to use a computer: "It can do so many *cool* things!". Wrong.
You have to prove to them that the advantages outweigh the disadvantages, and
then you have to overcome their prejudices (if any).
"Disadvantages, what disadvantages?" Plenty. First, a computer is no faster
for writing a letter than typing it out. If you can type 30wpm on a
typewriter, you might be able to squeeze 35wpm out of a computer (because the
keys are easier to press, no substantial weight behind them). So what? You
still have to turn it on, wait for it to boot, load up the program, type it
out, edit it (now that you can), turn on the printer, print the letter, save
the file, close the apps, shut down and turn off the computer. With a
typewriter, all you have to do is lug it out of the closet and put the paper
in. Simple as that.
So we have to provide enough advantages to using the computer that they won't
want to use the typewriter any more. OK, that's easy, most of the advantages
are listed a few paragraphs up. But forcing a new user to use vi, or
requiring that they set up their computer to be friendlier, is not an
advantage. It incurs a significant penalty in time and likely money (books),
which almost completely negates any advantage that a computer might have had.
End-users do not have the time or patience for a learning curve, steep or not.
An end-user-friendly Linux system (not necessarily RedHat!) must be designed.
This means not presenting the user with vi or other arcania. It has been
stated before, and I reiterate: this does *not* mean that such utilities will
not be available. Consider tech support in the case where a machine is
hosed. Without vi, many systems would be irreparable. vi in many such cases
is the only way to get anything working. I know, I've done it many times.
Give me a system without vi available, and I'll give it right back!
A large question has solidified over the last few days, watching this thread:
Is RedHat really ready for the end-user market? While I agree that Hurricane
is much easier to use than previous incarnations, it still assumes that
underlying knowledge. Much more serious changes are required in order to
directly compete with Windoze, and it sounds to me that there is a large,
vocal group of people who do not want Linux 'polluted' by such frivolities.
If that is the case, then perhaps a separate distribution really is required
for end-user systems.
Either way, SEUL is committed to bringing Linux into direct competition with
Windoze and equivalent. Whether that involves providing components to
enhance an existing distribution such as RedHat, or diverging and creating a
wholly separate (though likely RedHat-based) distribution depends on what
RedHat's intended direction is for their distribution. If they are committed
to making it end-user-friendly, then they have a long way to go (as will
SEUL). If they simply want to make it the best Linux distribution out there,
catering towards specifically computer users (be they newbies or gurus), then
they are 99% there. They have done a wonderful job, and I hope they get that
last 1% done really soon, cause I want to use it!
If you are interested in working on the SEUL Project, either as a coder or
any of the multitude of other sub-projects, or simply participating in
the discussions, check out our web site at http://www.seul.org/. We have a
number of lists, the most general of which is seul-project (which this
message is also being sent to). If you just want a low-traffic list, sign on
to seul-announce from the web page. I don't anticipate more than 1-2 messages
per week average, maximum, eventually.
You'll be hearing more about SEUL in another week, so stay tuned to your
Erik Walthinsen <firstname.lastname@example.org> - SEUL Project system architect
/ \ SEUL: Simple End-User Linux -
| | M E G A Creating a Linux distribution
_\ /_ for the home or office user