Rahul Sundaram wrote:
On the contrary, graphical tools can make it easy as well as safe by
designing and limiting the input as well as providing interactive
warnings etc.
In theory GUIs can be a good thing.
In practice, they suck. It's painful to watch people who use GUIs
struggling with interminable menus, file choosers and modal dialog
boxes to do simple things that can be done in a few keystrokes in a CLI.
Even companies that are famous for producing products that are "easy
to use" make products that are horrible: just try making iTunes stop
playing music, or see how many images (1500 or so) it takes to make
iPhoto start breaking down. At work I've been working with a commercial
CMS that is actually pretty good, but has an astonishing number of
"dropped a few bits on the floor" errors because of the complexity of
the GUI.
Even my wife is starting to prefer playing music with bash and
ogg123 (it's not hard to play all the tracks on an album in order, for
instance.)
One big part of the trouble is that there are different orders that
people can do things in: the "wizard" strategy of putting a user in a
tunnel where they need to make decisions in a particular order and you
don't waste their attention with irrelevant choices is one of the best
ideas, but you've got to be enable to script out every scenario -- it's
a lot of design work. A user-initiative interface might look like a
better idea, but the combinatorics of ways users could do things are
exponential, making debugging and testing a ball of string that you
never get to the end of.
People also have a hard time learning GUI interfaces -- it might not
be "politically correct" to say, but why else are there 1500 page tomes
on how to use Microsoft Word?
Unix GUIs are particularly plauged by a mismatch between data
structures and the things an application wants to do with them. This is
the reason why a decent GUI doesn't exist for Apache configuration after
all these years: you can't really map the space of Apache
configurations to a GUI in a useful way. A "wizard" for common
configurations is easy, but a GUI that handles 90% of what beginners
want to do and 10% of what experts want to do is close to useless.
To make GUIs work, Unix would have to give up on
human-comprehensible configuration files. (Yes, that means XML.) Just
the other day I was realizing how hamstrung Firefox is by being based on
the open mbox format -- it's not a scalable way of dealing with
mailboxes > 500 MB. But that's the road to Opera M2... Storing your
mail in a roach motel where you'll never get it out.
--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list