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