Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Aug 1997 18:41:23 -0600 (MDT)
From:      Wes Peters <softweyr@xmission.com>
To:        Peter Korsten <peter@grendel.IAEhv.nl>
Cc:        chat@freebsd.org
Subject:   Re: Microsoft the GUI King (was Re: ATT Unix for Windows)
Message-ID:  <199708310041.SAA03408@obie.softweyr.ml.org>
In-Reply-To: <19970829025323.52918@grendel.IAEhv.nl>
References:  <199708251245.WAA23142@oznet11.ozemail.com.au> <19970825204932.12036@grendel.IAEhv.nl> <34020362.7DB1@fps.biblos.unal.edu.co> <19970825224258.55928@grendel.IAEhv.nl> <19970826083051.FR52594@uriah.heep.sax.de> <19970826235525.22143@grendel.IAEhv.nl> <19970827093336.NX00626@uriah.heep.sax.de> <19970828002532.43939@grendel.IAEhv.nl> <19970828083703.OY21311@uriah.heep.sax.de> <19970828174348.17499@lemis.com> <19970829025323.52918@grendel.IAEhv.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
Peter Korsten writes:
 > What I do care about, is indeed the fact that Joerg mentioned: the
 > inability to edit these settings with a preference editor. If you
 > have a graphical application, it's _stupid_ that you have to edit
 > a text file to alter something in the appearance of that application.
 > 
 > I don't know if you people have ever read a book about how a user
 > interface should be constructed (I have), but you could learn a
 > lot out of it.

I've read several, and even written one: a standard for GUI development
at a previous employer.  Most of the GUI applications available for X11,
Windows, and Macintosh are pure trash developed by people who had a
bunch of features to present and absolutely no idea of how to present
them to the user in a meaningful manner.

One of the great disservices Microsoft has done to computer users of the
world is to give us MS-Word as an example of how not to write a
graphical application.  Word has some 10,000 features and function
points, and yet most users of it haven't yet figured out how to set tabs
or make a table.

No, I'm not kidding, almost every Word document I get from someone other
than myself has people lining up columns of numbers with the space bar
and wondering why they don't quite line up.  (My wife, a talented
technical writer, tells only programmers use paragraph tags in Word,
writers are too technophobic to "program" a paragraph style.)  Good
thing Microsoft developed that fancy table tool, huh?  I've even seen
documents where the page headers and footers were typed into the body of
the document!  And yet these documents were created on a user interface
with dozens of icons, pull down menu items, tabbed dialogs with combo
boxes, check boxes, radio buttons, you name it.  When using the default
interface on Word, nearly one half of the visible screen is taken up
with graphical gew-gaws that mean *nothing* to the average user, as
opposed to the text that is their actual work.

As evidence of this great disservice visited upon is by Microsoft, I
offer the "App Wizard" in VC++, and the on-line documentation in MSDN.
Unlike related tomes, such as "Inside Macintosh," MSDN has no
information at all on how to present visual information to the user in a
matter that increases his understanding of the problem at hand.
Instead, they offer canned organizations for certain menu items which
may or may not apply at all to your application.  As an example, why
would a graphics viewer application have a "file" menu on it?  Graphics
viewers don't work with files, they work with pictures, so why don't
they have "Picture" menus instead?  You see: Picture->New,
Picture->Save, Picture->View, etc.  Why does the picture viewing
application have to call these File->New, File->Save, and File->Open?

Most Windows applications are developed by people who just don't have
any idea how bad their application is, because they're doing it exactly
the same way everyone else is.  Of course, to paraphrase my mother, in
this case everyone else is running off the cliff.

At the very least, GUI designers should read the seminal works in the
areas of graphics (Foley and Van Dam) and human-computer interaction
(Card, Moran, and Newell).  If you think you GUIs have nothing to do
with cognitive psychology or human motor skills, you're probably
mistaken.

For a more direct look at modern computer interfaces, and refreshing
viewpoint on how bad we are doing with the silly "desktop" metaphor, see
Bruce Tognazzini's book on software engineering.


 > You're reasoning from the Unix point of view. You do everything
 > from a text file, so you want to be able to do that in Windows too.
 > Well, you can't and you shouldn't be able to do so, because the
 > average user (who is kept more in mind with Windows than with
 > Unix) will certainly screw it up.

Obviously you don't read Windows-oriented magazines; they are stuffed
every month with "tips" on how to make 95 and NT behave in reasonable
ways by editing the registry directly, because Microsoft did not have
the foresight to put the settings in question in a GUI.  Or, more
likely, they did put them in a GUI, but they are buried somewhere so
non-intuitive that *nobody* can or will configure them that way.  So, we
arrive at the conclusion that the "big step forward" in system
administration on NT vs. UNIX is that the entire configuration is buried
in this undecipherable, non-searchable "registry" that NT seems to
wantonly destroy once a quarter.

 > But what it lacks is a common base that describes how programs
 > should work (and the professional Windows programs do work the same
 > way), a file manager/Explorer like thing to move your files around,
 > drag-and-drop, the fact that every decently written program behaves
 > in the way you expect it to. Mac, Amiga, Atari, Archimedes, and
 > NeXT all have this. X and it's windows managers don't.

Bullshit.  Apparently you've never heard of Motif, or of CDE.  You can
argue they are too little too late, but you cannot reasonably argue "X"
doesn't have drag-n-drop or a file manager, that just isn't true.  The
difference between X and Windows is that you can opt out of the standard
if you wish to use something simpler, or more complex, or completely
different with X.  With MS, you get what Bill wants you to have.


 > I can understand why this is. If you write a program, at least half
 > of your time will get into the time to develop a good GUI. It's a
 > hard thing to do. I've done it for the Amiga, but I must say the
 > result was worth the trouble. If the GUI would have been worse,
 > the program would have gotten bad reviews. Now, the reviews were
 > good. The GUI wasn't mentioned. So that means it lived up to the
 > expectations.

Yes, the problem is few of the reviewers even understand what
constitutes a GOOD gui.  You've hit on a very important point here -- if
they even comment on it, you've probably done a poor job.  If they
mention the toolbars or the menu layout, even if they're complimentary,
it took their mind off accomplishing work to attract them to your user
interface -- you have failed.  The only good gui is a "transparent"
gui.  It's nice to see *someone* else has hit upon this idea.

Actually, this has a certain orthogonality with my favorite Terry
Lambert quote: "Good programming looks obvious."  ;^)


 > > Yup.  There's no good way to represent errors graphically.
 > 
 > Nonsense.

I agree!  I'm certain there is at least one, and probably several, I
just haven't hit upon it/them yet.  And I've tried!  <Sigh>

The true challenge in gui programming is not in creating objects and
making them do things to other objects, but rather in building a visual
grammar with the user, something very few gui programmers understand.  I
once spent a year designing a gui tool for administering UNIX systems;
it was an exciting and frustrating time of my life.  The system
architecture we came up with I still believe could have taken the UNIX
world by storm.  It was a "push" architecture with some smarts at the
network level about which computers belonged to which administration
groups and what user accounts and groups could be replicated to each
administration group.

The hard part was getting the gui correct.  For instance, consider two
views that have icons representing user accounts: one is all users on a
particular system, the other all users in a group.  Now consider the
action of selecting one or more user accounts and hitting the delete
key.  When viewing "all users", does this mean "delete the user account
from the system?"  When viewing "users in a group," does this mean
"delete the user from the group" or "delete the user from the system."
The first makes sense but is inconsistent, the second may cause some
nasty surprises.  There are deeper semantic questions also: if the
account exists on a given computer only by way of belonging to a group,
and that group has been "added" or "applied" to a particular computer,
does this mean removing the user account from the group should remove
the user account from said computer?

As I said, gui design is far less a programming problem and far more a
cognitive/linguistic problem than most programmers realize.  Firms that
do a GOOD job of design typically hire user interface designers, like
Tog (mentioned above) who have some understanding of *how* people come
to understand a problem.  Far too many Windows programs just follow the
straight and narrow path of "make it look like Word."  This is an actual
quote from the executive moron I worked for while designing the
wonderful technological marvel mentioned above.  Not a wonder I left the
company, or that they never produced it, huh?  (They bought some lame
"enhanced security" technology from another company, slapped a silly GUI
on it, and called it done.  The whole thing relies on NFS mounts to
distribute security information across your network.  Can you possibly
imagine anything LESS secure?)

 > But you can nitpick as much as you want on MS, Windows and NT,
 > but some things just work better with them. Security in NT has
 > a better base (VMS) that in Unix, despite the security bugs that
 > reguraly show up.

As someone who worked side-by-side with engineers who developed security
analysis programs for VMS, I can tell you sincerely that while VMS has a
lot more security "knobs" than UNIX, it is most often less secure
because people have less of a chance to understand all those knobs.
Which is easier to secure - a cabin with a door and two windows or a
97-room mansion with doors, balconies, french windows, skylights, etc.?
UNIX security problems are generally well known and discussed in the
open; as a system administrator you have thousands of resources around
the world from Usenet news to mail lists to books where you can learn
more about how to secure your system.  As an NT administrator, you can
by a few books from Microsoft that tell you nothing about security, you
can pay some screwball "training" company thousands of dollars to have
someone who is incapable of being an administrator to read these books
to you, or you can sit and wait for your precious sever to get hacked.

 > Another thing, not to be forgotten, is that very many people
 > use Windows 95 at the moment. It's pretty easy to couple it
 > with NT. So, for an intranet, NT is probably more suited than
 > Unix is.

Perhaps, but only if you're not going to hire a system administrator, in
which case you should probably give up on NT also.  Microsoft has done a
good job of creating the illusion that NT is easy to administer, and
that the administration load is low enough that most NT users don't need
an administrator.  Nothing could be further from the truth.  The TRUTH
is NT administrators are much harder to find than UNIX admins, and
therefore cost more and are harder to keep.  Doh!

 > NT is something like five to ten years old. I don't expect all
 > the bugs to be out of it, also considering MS's strategy to
 > release first and fix bugs later. Unix had 25 years to mature.
 > MS has 20,000 programmers and a lot of cash.

You meant to say "MS's strategy to release first and then release the
next version with thousands more bugs, without ever fixing any."

Many of the points you make are perfectly valid, and you seem to be one
of the few people that realize that near-universal acceptance of Win 95,
Win NT, etc. on business desktops doesn't spell doom for UNIX, or for
other offerings like BeOS, etc.  Sure, if you're making money from an OS
you'd rather have Win95 sales figures than Solaris x86 sales figures,
but that doesn't mean there isn't money to be made in Solaris x86.  The
existence of General Motors hasn't threatened either Ferrari OR
Kenworth, any more than NT threatens the survival of Sun or SGI.  The
problems threatening Sun and SGI are those of not offering what their
customers want; customers who don't want NT, just want a *better* UNIX.

Personally, I suggest they look into FreeBSD.  ;^)

-- 
          "Where am I, and what am I doing in this handbasket?"

Wes Peters                                                       Softweyr LLC
http://www.xmission.com/~softweyr                       softweyr@xmission.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708310041.SAA03408>