Re: RE: [Tutor] On GUI's
magnus at thinkware.se
Wed Apr 21 15:11:06 EDT 2004
I assume this was for the list.
David Talaga wrote:
> I understand what you are saying but lets take a look at the regular "user".
> If we had a program like the one below and (for conversation's sake) only
> the payroll individual can work within the program, now the person that is
> in charge of inputting the information has quit. Now we have to train some
> one else all over to do this same thing. With a GUI it is much more time
> and cost efficient to train and use. The people that develop these kinds of
> things are responsible for the upkeep. So, now all the person has to learn
> is how to type. Simple as that.
Type?! I have to type? Can't I just choose everything from a menu? ;)
It's very different to write a program for "the regular user" or to write
a program for oneself or for ones peers. I certainly think it's beneficial
for the average Python hacker to get used to efficient command line interfaces,
and the limitations of GUIs. On the other hand, I can respect if he doesn't
force this "enlightenment" on all people around him... That might be a bit
too close to the role of Don Quixote... :)
But note three things:
- If you have made a program like the one I suggested, you can always
wrap it in a GUI or a Web UI. If it's a well written python program,
you can just import it as a module from the GUI. Keeping the logic out
of the GUI is usually a good thing. But if it's for your own use, it's
rarely worth the effort. If the functionality is only accessible through
the GUI, it's a dead end.
- Windows, Icons, Menus and Pointing Devices (WIMP) might make easy things
easier, but they certainly make many hard things even harder. Working a
computer only through WIMP is a bit like trying to write messages using
magnetic letters on a fridge door instead of learning how to use a pen
and paper. It's one thing that GUIs are used by people who only rarely use
computers, but I've seen paid (I would not say professional) programmers
who get all pale if you open a command line prompt on their computer and
try to explain how to do some trivial thing. I've seen database administrators,
systems administrators and SCM administrators who have tried to manage the
system they were resonsible for completely through the GUI. The administration
GUIs for advanced systems like DB2, Oracle, ClearCase etc have a few things
- They have very limited functionality compared to the command line tools.
- They are poorly implemented, often unstable, unreasonably resource
hungry or hiding error messages etc in a way that makes using them
into a confusing experience when you don't exactly follow the usage
scenario imagined by the developer.
- Experienced users rarely use them.
- The reason they were written was to give the impression that this big
and complex system isn't actually so difficult to use.
- They actaully hinder users from learning how the system works, and how
to make their work more effective.
- People who only use GUIs never learn how to actually empower themselves
by making the computer work for them in an effective way. They use the
computer as "power steering" to make their work a little simpler, while
they could actually make the computer do a lot of work on its own while
they spend their time doing funnier things.
Magnus Lycka, Thinkware AB
Alvans vag 99, SE-907 50 UMEA, SWEDEN
phone: int+46 70 582 80 65, fax: int+46 70 612 80 65
http://www.thinkware.se/ mailto:magnus at thinkware.se
More information about the Tutor