Re: Win vs. UNIX usability (Was: Re: gnome-terminal idea)



On Wed, 23 Sep 1998, David Jeske wrote:

> This is spawning into yet another tangent. 

Hey you know a discussion is good when you can't remember why it started.
:-)

> On Wed, Sep 23, 1998 at 03:04:45PM -0400, Tim Moore wrote:
> > For example, consider that there are a lot of people out there that use
> > Microsoft Windows. Obviously, then, a lot of people prefer it to Linux. I
> > personally think Linux is superior, but it is obviously not superior *in
> > every way.* On the one hand I could say that people are different and if
> > they like Windows then I shouldn't concern myself with it and its obvious
> > shortcomings. On the other hand I *do* say that everyone should be using
> > Linux and so I need to work to eliminate the reasons they have for
> > preferring Windows. The eventual goal, IMO, *is* to eliminate Windows --
> > not by restriction (i.e., not letting people have what they want) but by
> > incorporating the advantages which it has as much as possible.
> 
> I spend alot of time thinking about this and debating it with my
> roomate. I've come up with the following conclusions:
> 
> 1) Some things about a system 'just make sense' and are consistant,
> many things about a system are intuitive only after they are learned.
> It's important to recognize that having an installed based of people
> who have 'learned' something is a compelling target audience. For
> example, people might not consider the windows control panel, app
> installation, file manager, etc "intuitive", however, there is a huge
> user base who understand them, and allowing tasks to be performed in
> similar ways will leverage that installed base of windows trained
> users.

Yes, however replacing a learned idiom with an intuitive one can be a good
idea, too. People will learn to do things a new way 1) if it is obviously
advantageous for them to do so, and 2) if the new way is really easy to
learn and they're exposed to it anyway.

> 3) There is tons of software out there which runs on windows which
> users can download from places on the internet, or buy from CompUSA,
> and install on their system easily. We need this. UNIX does not have
> it. Anyone who thinks that a company can just build an RPM and expect
> it to actually install cleanly onto anyone's system is
> mistaken. NeXTStep did a decent job with their app-wrappers and
> Installer.app, we need to follow suit.

Right. This is more a social problem than a technical problem. RPMs are
easier to deal with than tarballs (IMHO, and obviously still not easy
enough for non-techies) but a lot of software is not available as an RPM
package (and when it is, it's almost never available in ppc binaries, so
I'm mostly building from SRPMs, which is arguably more difficult than
tarballs, but is easier to manage/upgrade in the future).

The other difficulty is that software packages on Unix tend to be fairly
fine-grained and interdependent. When you get a Windows software CD,
generally it installs not only the application you bought, but all of the
libraries it needs, etc. Whether this is a good thing or a bad thing is
arguable, but it certainly makes things easier for the user who never has
to be concerned with which libraries they have, or even that libraries
exist. It seems like Debian has made some acheivements here, where
installing a package with unsatisfied dependencies can automatically
download everything else you need and install those first.

> 4) Users are very bad at open-ended questions. Unix is full of
> them. Take these example tasks:
>   - copy a file off a cdrom
>   - install an application off a cdrom
>   - download and open a file from the internet
>   - install a program off the internet
> 
> I think these are the fundamental operations, because the are the
> operations required to have a user install 3rd party software. RedHat
> may have lots of engineers working on their distributions, but if
> RedHat has to make every single program for Linux part of the standard
> distribution, it will never keep up with windows.

Right, but its unclear what to do about this. I don't think a purely
technological solution, because even if we design a super-great installer,
we can't be sure that everybody is going to package their software to use
it any more than Red Hat can be sure that everyone packages their software
to work well with their distribution. 

> 
> *** Here are the "unix person's" answers to the above questions:
> 
[snip]
> 
> *** Here are the "windows person's" answers to the above questions:
> 
> - copy a file off a cdrom: double click on "MyComputer", double click
> on the cdrom, drag the file off to it's destination.
> 
> - install an application off a cdrom: usually inserting the cdrom will
> automagically bring up the install program. However, if not, they
> perform the above steps, and look for and double click on "setup.exe".
> 
> - download and open a file from the internet: click on the file in
> netscape, click the "up arrow" until they get to the desktop, save the
> file. Minimize netscape, look for the file they downloaded on the desktop, and double click it.
> 
> - install a program off the internet: perform the steps from
> "download/open". The program is most often a self extracting archive
> which runs and installs the program. If not, it's a zip which will
> extract and wizip will automatically run setup.exe within the zip.

Downloading and copying aren't fundamental problems, though, just problems
with the quality of tools. With a good file manager, it can be just as
easy to do these things on Unix as on Windows/Mac OS or whatever. There's
no technical reason why the GNOME file manager shouldn't be as good as the
Windows one (or better!)

Installing software is different, though. Unix has security issues to deal
with, as well as portability issues and any number of other issues. This
is the tough problem.

> The key difference in the two different scenerios (IMO) is that in
> UNIX, many things are open ended, like the terminal window. There is
> no way that someone would 'guess' to type "mount /dev/cdrom /cdrom",
> EVER. However, if given basic mouse skills, and an idea of how a
> computer interface works, there are probably only about 8 icons on the
> initial win95 desktop, so they will open them all. Sooner or later
> they can find the cdrom icon.

Of course. But with a good file manager and an automounter, Unix can be
just as easy. All we need to do is put a link to /mnt/cdrom on the
desktop, give it a nice icon....but here's another portability problem.
You apparently mount cdroms on /cdrom. Presumably this sort of thing will
be resolved somewhat by the FHS, and by distribution maintainers.
 
> Open ended fields in Linux which confuse beginning users:
>   - LILO prompt 
>        we should be using GRUB not LILO.

I don't know what GRUB is, but this is clearly not under GNOME's scope.

But in the interest of discussion, it is a good idea to use friendly boot
loaders. Have you seen BootX for LinuxPPC? It's a graphical boot manager
which lets you choose beetween MacOS and Linux on startup.
http://people.a2000.nl/mwielaar/bootx.jpg

>   - LOGIN prompt 
>        win98 explains the login prompt to the user the first time it
>        boots. Nextstep installs with an account called "me" with no
>        password. It automatically bypasses the login prompt as long
>        as the "me" account has no password. To get the login prompt
>        one merely has to set a password for the "me" account.

NEXTSTEP seems to be a great example of how Unix can be made usable. One
problem which Unix has as a multiuser system is how to deal with the
difference between a genuinely shared computer and one which is being used
essentially by one user. There is a lot to consider in the usage
differences between "My Computer" and "the computer which I use."

But again, this is a distribution problem more than a desktop environment
problem.

> 
> Other things in Linux which have too steep a learning curve:
>   - app installation
>        You should not have to be root, and things should not have to
>        install in some precompiled location.

This is another single vs. multiuser problem. On a multiuser machine,
obviously random users can't install software globally in system
directories. They *should* be able to install it in their own directories,
but then there's the problem of everyone on a system locally installing
the same program. I guess that's an issue for the sysadmin to handle.

To install software in system directories, you obviously should have to be
root, and I think this is true even on home machines. The problem, then,
is how to make this requirement easy for the user. I think the answer lies
somewhere in presenting root access not as becoming another user, but as
"the system password" or some such which would be requested whenever a
program or command needed root access to run. If they chose to not have a
password, that would be OK too (but it should make them aware of the
possible consequences of that) but it would still tell them when a program
does something as root.

>   - app icon setup (i.e. icon settings in windowmaker)
>        An app should be able to come with it's icon automatically.
>        There should be no changes to window manager configuration files
>        to get the app icon to correctly display. 

Well, there are a couple of issues here. One is the icon displayed in the
window's titlebar or when the window is iconified. This is handled by the
window manager and applications use hints to specify it. If the app is
well-behaved, there shouldn't be any configuration necessary.

The other is the icon displayed by app launchers, which many window
managers include, though they aren't actually related to the task of
window managing. Each launcher has its own way of determining icons, and
there's really no way to ask the apps. This problem is nearing solution,
though. For one thing, there's Red Hat's wmconfig tool. This generates
config files for various window managers based on the contents of the
/etc/X11/wmconfig directory, which are files associating a command with
(among other things) an icon. Many RPM packages install a file for their
apps  into that directory, so no config file hacking is necessary. You do,
unfortunately, have to run wmconfig again to regenerate your wm config
files, though.

But in the longer term, GNOME should solve this problem by providing a
single launcher and single config file syntax and single icon and config
file location. When GNOME becomes more popular, it's reasonable to predict
that window managers will start to lose their app-launcher components.

>   - installs
>        The Linux installs have WAY too many questions for a beginning user.
>        Win98 asks you what language you speak, and NOTHING ELSE. I think
>        this is just great, and I am a technical user. BeOS is the same
>        way. Everything which can be setup and configured can be done once
>        the system is up. That way the user only has to learn one install
>        and configuration UI. None of these configurations (i.e. networking,
>        modems, etc) should require a reboot.

Yeah, I'm really surprised how much more difficult it is to get Linux up
and running than it is with other OSs. I have a Mac, so I'm used to the 
working plug-and-play and easy installs you get in Mac OS. LinuxPPC by
comparison was a chore to install and get working. Lest you assume that
the difference is Apple's access to proprietary information, I found BeOS
just about as easy to install and configure as Mac OS.

Of course, installing LinuxPPC on Mac hardware was still easier than Red
Hat on Intel. But if Microsoft and Be can do it, then why can't we?

Tim




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]