[comp.windows.x] Motif Issues & the Semiotics of User Interfaces

tbray@watsol.waterloo.edu (Tim Bray) (01/09/91)

Spent the last few months building a very substantial system with Motif, and
I'm about to post a few problems and nits and buglets that I've uncovered.  To
avoid giving the wrong impression, thought I'd make a few introductory remarks
so as to maintain perspective, presented in no particular order.  Some of this
might be helpful to others, other parts might launch a worthwhile debate.

1. Motif is pretty good.  I have, with under 5,000 lines of C source (and I
write a spacious highly-commented style) built a front end to a text database
system; this front-end has been very highly reviewed by the experts in the
field.  The widgets seem mostly to do about what you need, and you can get a
very slick-looking interface that has a nice intuitive feel.  Furthermore, it
seems to avoid getting in your way - when I've needed to get in and pick apart
keyboard events to achieve some subtle effect or subvert the Xt main loop,
it's basically worked sans side-effects.

2. It's too hard to learn and there are too many irritating little nits.
Sorry that I can't be more quantitative, but I went in already intimately
familiar with Unix, C, and Xlib, and spent altogether too much time struggling
with minutiae about resource interactions and widget hierarchy issues.  I
think the solution to this is to take a higher-level approach via WCL or UIL
or one of their ilk, but there are also good reasons for not wanting to do
this.  E.g., somebody who already doesn't understand Xt and Xm may not want to
also not-understand another layer of the system.  Also, higher-level tools
have a history of requiring the relinquishment of fine control, 4GL's are the
best example, 90% of the application is easy, the remaining 10% impossible.
Has it been established the higher-level approaches don't have these problems?
Also there are too many higher-level systems contending right now and it's
probably dangerous to bet on any of them.

3. Motif makes substantial progress.  If you are at this moment struggling
with Motif 1.0, STOP AT ONCE and go to 1.1.  Yes, you'll burn a couple of days
getting the software built and all the pieces running, but you'll come out way
ahead.  The ability to use the form widget more-or-less deterministically is
alone worth the price of admission.  If the bug ratio continues to decline at
the same rate through 1.x and future versions, this software will be very
good indeed.

4. When you've got a nice-looking working prototype, you're about 20% of the
way there.   These things are *all* in the details.  You've really got to put
in the work to get context-sensitive help and nice keyboard traversal and
language independence and interaction styles and so on right, or you're
wasting your time.

5. Motif is pretty safe.  I don't think it's going to wipe out OpenLook
(although it will help if AT&T buys NCR), but on the other hand it doesn't
look like OL is going to bury Motif either - particularly now that the real
costs of porting Sunview applications are becoming known.  Frankly, I wish one
WOULD win cleanly, don't care which, but at least you won't get fired for
choosing Motif.

6. Stay away from Motif dialogues, use XtPopUp facilities wherever possible.
There too many subtle gotchas in the Motif stuff and you can wind up being
dependent on mwm without knowing it.  The XtPopUp stuff seems to work cleanly
and be easy to use.  Also it's easy to arrange for your popups to be non-modal
& stay popped up until the user's done with them.  This goes some way to
compensating for one of the few real advantages of OpenLook, the nice
auto-magic nail-up menus.

7. The documentation is just on the positive side of adequate.  I started with
Doug Young's book and that worked very well as a tutorial.  However, there was
a large class of problems for which the *easy* way to find out what was going
on was to go look at the source code - I don't know whether work-throughs
would have been possible based on the documentation alone.  I suspect it would
have been much, much, much slower though.

8. Since Motif is going to provide a common GUI to lotsa nice slick
applications, and make all us Unix software vendors rich, somebody can get
rich by bringing out a nice end-user's introduction for the common parts of
all Motif applications.  Glossy, easy, fun.  Like what you get with a Mac.
Someone doing this?  I sure don't want to pay somebody to write one just
for my application.  I suspect, given such an introduction, it ought to
be possible to develop an application that is essentially
self-documenting, given attention to detail in the Help system.

9. And a high-level issue: the semiotics are good.  I originally reacted with
hostility to the bumpy, crowded look of motif screens, as opposed to the
cleaner, flatter design of OL or NeWS.  Minimalism is a powerful aesthetic;
for example, if you look around my living quarters, you'll find lots of empty
wall space, widely spaced carpets, uncluttered furniture placement,
well-hidden electronics, and so on.  On some reflection though, I have decided
that a workstation screen is more like a desktop than a living room, and damn
few desktops feature minimalist arrangements, with any empty flat space.
Motif's hit-me protrusions, divided edges and corners, chunky scrollbars, and
so on, speak their function to the eye at least as clearly as any user
interface on the market.  But this is a wholly religious issue.  And I still
think that we as programmers woulda all been better off if NeWS had won.
Sigh...

Tim Bray
tbray@watsol.waterloo.edu

marbru@attc.UUCP (Martin Brunecky) (01/10/91)

In article <1991Jan9.033956.996@watdragon.waterloo.edu> tbray@watsol.waterloo.edu (Tim Bray) writes:
>
>2. It's too hard to learn and there are too many irritating little nits.
>Sorry that I can't be more quantitative, but I went in already intimately
>familiar with Unix, C, and Xlib, and spent altogether too much time struggling
>with minutiae about resource interactions and widget hierarchy issues.  I
>think the solution to this is to take a higher-level approach via WCL or UIL
>or one of their ilk, but there are also good reasons for not wanting to do
>this.  E.g., somebody who already doesn't understand Xt and Xm may not want to
>also not-understand another layer of the system.  Also, higher-level tools
>have a history of requiring the relinquishment of fine control, 4GL's are the
>best example, 90% of the application is easy, the remaining 10% impossible.
>
   The beauty of WCL is not in it's syntax etc (just oposite-), but in the fact
   that it does NOT get in your way. You can always include peaces of whatever
   fine control you wish. Plus, the "another layer of the system" presented
   by WCL is so simple (you have to use resource files anyway, don't you ?),
   that it can be fully mastered within hours.

   Considering your (valid) comment "struggling with minutiae about resource
   interactions", that was the MAIN motivation behind "inventing" WCL. 
   I needed a very FAST and EASY way to TRY various resource interactions
   in Motif.....

-- 
=*= Opinions presented here are solely of my own and not those of Auto-trol =*=
Martin Brunecky                           {...}sunpeaks!auto-trol!marbru
(303) 252-2499                        (sometimes also:  marbru@auto-trol.COM )
Auto-trol Technology Corp. 12500 North Washington St., Denver, CO 80241-2404 

dex@hpcvlx.cv.hp.com (Dex Smith) (01/11/91)

> 8. Since Motif is going to provide a common GUI to lotsa nice slick
> applications, and make all us Unix software vendors rich, somebody can get
> rich by bringing out a nice end-user's introduction for the common parts of
> all Motif applications.  Glossy, easy, fun.  Like what you get with a Mac.

The "OSF/Motif User's Guide" covers the most common "getting started" type
information needed by most new users.  It's not as "glossy" as the Mac stuff, 
but it is pretty simple.  It has only three chapters:

	1. Introducing Motif

	   Describes some basics for getting started, and how to
	   control windows using the Motif Window Manager.

	2. Using a Motif Application

	   Hits the highlights:  Menus, buttons, lists, scroll bars,
	   radio boxes, check boxes, keyboard traversal, etc.

	3. Customizing Your Motif Environment

	   A minimalist introduction to setting resources to 
	   modify client appearance and behavior.

The first edition of the book was written for the Open Software Foundation 
by Hewlett-Packard.  There's not much (if anything) that would have to be 
updated for Motif 1.1, so I'm not sure if OSF has revised it since the 
original 1.0 version.

Here are the specifics for getting a copy from your local bookstore:

         Title:  OSF/Motif User's Guide
        Author:  The Open Software Foundation
     Publisher:  Prentice-Hall
          ISBN:  13-640509-6

 - Dex Smith
   Hewlett-Packard Company
   Corvallis, Oregon
   dex@hpcvxdex.cv.hp.com