Motif's Not Dead
Kailden writes: "O'Reilly has an interview with Antony Fountain,
co-author of Volume 6B: Motif Reference Manual, 2nd Edition, in which he claims that both QT for KDE and GTK+ for GNOME don't compare to Motif (and mentions that Java is the only thing that comes close). " The interview's old -- but the response from user comments adds more to it. Yeah, I know the article's a couple of weeks old -- but it's a good one.
He's latched on to some features that Motif has that haven't been fully realized in Qt or GTK+ and makes it seem as if these are the only ones that matter.
Motif, being older, has all the little things worked out. It's a mature toolkit. GTK+ and Qt are newer and are naturally missing lots of little features.
Motif will fall behind for two reasons:
1) The developers of Qt and GTK+ have the benefit of hindsight. They've used Motif, Win32, and Mac and are able to learn from the mistakes of the past. While the toolkits themselves aren't entirely mature, the foundations are very strong and well designed. These guys know what they're doing.
2) The proprietary attitude of the Motif developers. GUI development is driven by desktop applications and Linux is the hottest market for Unix desktops. Since Motif's licensing makes it difficult to support well under Linux, but GTK+ and Qt both work well under commercial Unix, Motif will die out. It makes no sense to use Motif when GTK+ apps will work better on Linux and be fully portable.
Interestingly, many of the shortcomings that were pointed out in GTK+ (I don't really follow Qt) are currently under active development. Pango, for example, addresses the internationalization issues and is real software. It's not finished, but it's far from being vapour.
It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail. - Abraham Maslow
The one advantage Motif could have had, a thriving component market didn't really work out. For any big project, licensing commercial software components for redistribution is a major hassle and expense. And any additional third party component that gets incorporated into a C/C++ program is a major risk because in C/C++ errors in any such component can show up in completely unrelated program parts. Generally, it's easier just to dedicate a programmer to building something equivalent in-house.
To me, Motif represents everything that can go wrong with commercial software. Today, there are lots of excellent, high quality toolkits out there, many of them free. I can't imagine circumstances under which I would choose Motif ever again for either an open source or a new commercial project. In fact, I can't imagine choosing any toolkit that isn't covered under LGPL, BSD, or some other, similar license.
This guy's slightly off his rocker. Motif in no way compares to Qt and GTK. First of all, it's ugly as shit. That might not be technically important, but it can make or break software designed for mass consumption. Second, it is not nearly as feature filled as Qt and GTK. In addition to the base toolkit, KDE and GNOME have extended Qt and GTK to provide a great deal of application infrastructure. These are closely tied to the toolkit and for most intents and purposes, can be considered a part of them. Does Motif have COM? I didn't think so. Third, I find his attitude towards software appaling. I'm not a big fan of the Free Software community (I have nothing against it, but some of the people behind it like Stalin, err I mean Stallman piss me off) but I feel compelled to defend it. Free software can work great in the right environment, and is not against the grain of commercial (in his opinion "high quality") software. Lastly, what is this anonimity bullshit. I want to know who wrote this piece of junk so I can flame him! (Just kidding!) However, he explicitly says that they do not put their reputations and selves into the software. That is condusive to bad software. If you're going to write a program for a year, you damn better put yourself in there. By not staking their reputations, they wash their hands of the entire matter and show themselves as not caring about the quality of the software. Utter craziness.
A deep unwavering belief is a sure sign you're missing something...
I find it amusing that Motif is equated as a good GUI toolkit because it allows one to build great GUI builders.
;-).
I guess that makes Visual programming languages better than anything else as well?
Seriously, the job of a GUI library is NOT to make life easy for GUI builders. Just like every other library on the planet is not judged by how well a RAD tool can be intergrated with it. I particularly liked his comments about Java. I can tell you that Sun's own experts on Java's AWT and Swing will tell you that the first thing you should do if you want to have decent GUI code is NOT to use a GUI builder.
The truth is, a modern GUI is much more sophisticated than what existed when Motif was originally put together. Motif was a great "internationalization capable" Forms package, but now we have this thing called HTML which does that job for us quite nicely. If you are going to use a GUI today you have to be far more sophisticated and flexible than that, and that requires having a good GUI programming library.
I also was amused by his comments about how you could make C++ wrappers for Motif and suddenly Qt has no benefit: he couldn't be more wrong!! As Qt developers have said time and time again, there is a HUGE difference between a GUI library build from the ground up using C++ objects verses a functional library with C++ wrappers tacked on (this is usually said in reference to GTK+, but that's another story). Anyone who's looked at how Motif's "inheritence" works can appreciate this. Anyone who's used Qt before can also appreciate this.
His comments about "support" for Motif vs. Open Source stuff shows complete ignorance of the support benefit derived from being open source. I can tell you from personal experience that I've been screwed over by bugs in various Motif libraries and I have NOT been able to get them fixed, partially because of the dwindling commercial support for them.
His comments about not being able to have a cross platform GUI were also silly, particularly given how much he likes Java! While Java is indeed very cool, there are tons of circumstances under which it does not make sense (silly example: do you really want that clock in your Gnome Panel to require a huge Java VM to work?), which at the same time have nothing to do with being cross platform or not. If a cross-platform GUI library is really that useless then TrollTech must have excellent sales people given that they can sell Qt for Windows for thousands of dollars, despite the fact that everyone knows it's such an excellent Xwindows library. The funny thing is, the whole notion of how X was built came from the idea that you should be able to have ANY widget set applied to it. All you have to have to support Xwindows is conformance with the X protocol and it's various extensions.
I've seen apps built with HTML, Tk, Qt, and wxWindows, and I tell you, they look pretty damn good to me on both platforms. I've also seen MFC apps that work pretty well on the MacOS (at least as well as they work on Windows...
He commented about the 650 controls that are available for Motif, which sounds impressive. However, a lot of those are tons of proprietary (yes, that means they AREN'T interoperable) implementations of table views, because the existing table support is basically pathetic. Qt and GTK+ have the advantage of being open source which means that when you have N different implementations of a control, you tend to have the code migrate into just a few well supported controls rather than having tons of semi-functional commercial products. Then there's a bunch of graphing controls. Once you drop those, well, there just aren't that many interesting controls left.
His comment about companies who won't touch GNU tools are COMPLETELY out of touch with reality (which may indeed describe some of these companies as well). While there might be a perception problem, there is not a real one, either technical or legal. First off, Qt isn't a GNU tool, so I guess that ends that part of the argument. Indeed, if you really feel compelled to pay money to feel good about a library, TrollTech charges extensive hunks of money to developers who want to pay for the tool kit (again, amazingly on multiple platforms!!). GTK+ is covered by the LGPL, which means there's no risk of losing proprietary technology unless you're extending the library.
Finally, his comments about how everyone using Motif "in secret" are laughable. First off, there is nothing about open source that requires that you stand on the top of a hill and shout that you're using it. Indeed, so long as you aren't distributing your binaries, NOBODY need know what you're doing, because you're not necessarily even BUYING it from someone. Qt can be purchased under a license which does not require you to distribute your code. The cry of "lots of people are using this technology in secret" has been around for quite some time, and it's always that of an underrated technology (indeed, it's normally associated with startups). There was a time when people proudly shouted that they were using Motif. There was a time when people proudly shouted that they were using C compiler X or GUI toolkit Y. This is the kind of thing that commercial companies do in order to promote the idea that everyone is using your product. While there are companies who want to use technology in secret, if you really are popular, successful and growing there will be plenty of companies who will be happy to have you mention their names in a press release.
I hate to say it, but this guys seems to be suffering from a bad case of NIH syndrome.
sigs are a waste of space
One needs only examine some of his comments to see how badly out of touch Fountain is with the open source world:
Most Linux distributions don't supply Motif. The free *BSDs don't supply it. I'm certainly not about to pay for it, and even if I did, it's not really the same if you don't get source code. It does not matter how cool a toolkit is if I can't obtain it. The closed nature of Motif means it is completely cut off from the free software community: even the small minority of people willing and able to pay for it aren't able to enjoy the freely licensed source code that they have come to value and expect. He's got it exactly backwards from the way the free software community views things. Does he really think a closed, select group of NDA-d people can develop proprietary software faster than all the programmers in the world can develop open source software? As explained in The Cathedral and the Bazaar, software improves faster when development is open to all.I actually agree with Fountain that Motif isn't dead, but his reasons are all bass-ackwards. Motif owes its future life to corporate inertia, and not to any intrinsic advantages. In the free software world Motif suffers from the most crippling drawback of all: I can't get it, and I can't hack it.
Motif set about to capture the 'visual elegance' of Windows (pre-95), and has been stuck there ever since. The stupid drop-down fly-out menus (as opposed to drop down - scroll) Motif has are grounds enough for shooting someone. Motif does not "provide a GUI for Unix applications" -- it makes UNIX look retarded! It says, "Warning! This system is unusable! Try your toaster instead!"
/Forum2/HTML/000007.html :)
/03/01/0644222.shtml
/0826250.shtml :^)
http://yawara.anime.net/gaijinFAQ/n etscape.html
It being the case that Motif sucks beyond belief, and that Netscape Navigator uses Motif, you basically have to maim it to let it display Japanese in things like the Menu-bar, Bookmarks, and Forms.
http://www.catalog.com/hopkins/ simcity/keynote.html
It wouldn't have been possible to port SimCity to X11 using Open Software Foundation's Motif toolkit. It just absolutely sucks. It's not open, and you have to pay for the source code, and it's not being maintained.
http://www.mandrakeuser.org/connec t/cbrowse.html
The interface sucks. It is built with the legacy Motif library.
http://shadowrun.html.com/ubb
And I programmed in C/X-windows/Motif for ten years. The most far away I can stand from that monster, the happier I am
http://www.motifzone.com/resources/sta rt.htm
Let's face it, X/Motif are sophisticated pieces of system software with lots of flexibility and power.
http://slashdot.org/articles/99
I'm a professional X11 programmer, and GTK+ is one of the nicest widget sets about. Combined with GNOME it has the potential to beat even the object frameworks produced by Less Palatable Companies. For people who have never done professional X11 programming, Motif is CRAP. Everybody hates it. It was designed by a committee, and damn it shows. There's a reason it's called Bloatif. Even the addon packages to make Motif more usable (by giving it workable file dialogs, tree views, and a drag and drop you don't have to implement 90% by hand) are buggy, slow and memory hungry.
http://slashdot.org/books/99/03/22
If it weren't for GTK I'd probably be programming Motif (well, OK, actually I'd be programming in QT, but that's besides the point). Motif is much like raw X Window System calls, except that Motif is MUCH MUCH WORSE! Motif is much like the stinky dead fish that your dog insists on digging up every time you try to throw it away. The world needs more Motif applications like I need a hole in my head. I can go on and on about this. Really, I can. Moral of the story: Learn a toolkit. Believe me on this one. I've made dumber comments, but few have been more true. Just don't do Motif.
[...]
BTW, I agree about Motif. I think it was the worst thing to happen to Unix, ever. I think it did more to harm Unix as a platform than anything else that ever occurred during the 30+ years that Unix has been in existence.
[...]
Motif/Lesstif is arguably worse than gtk, and I programmed a lot of Motif.
If the designers of X-Windows built cars, there would be no fewer than five steering wheels hidden about the cockpit, none of which followed the same principles -- but you'd be able to shift gears with your car stereo. Useful feature, that. - Marus J. Ranum, Digital Equipment Corporation
http://ecco.bsee.swin.edu.au/un ix/uh/x-windows.html
The Motif Self-Abuse Kit
X gave Unix vendors something they had professed to want for years: a standard that allowed programs built for different computers to interoperate. But it didn't give them enough. X gave programmers a way to display windows and pixels, but it didn't speak to buttons, menus, scroll bars, or any of the other necessary elements of a graphical user interface. Programmers invented their own. Soon the Unix community had six or so different interface standards. A bunch of people who hadn't written 10 lines of code in as many years set up shop in a brick building in Cambridge, Massachusetts, that was the former home of a failed computer company and came up with a "solution:" the Open Software Foundation's Motif. What Motif does is make Unix slow. Real slow. A stated design goal of Motif was to give the X Window System the window management capabilities of HP's circa-1988 window manager and the visual elegance of Microsoft Windows. We kid you not. Recipe for disaster: start with the Microsoft Windows metaphor, which was designed and hand coded in assembler. Build something on top of three or four layers of X to look like Windows. Call it "Motif." Now put two 486 boxes side by side, one running Windows and one running Unix/Motif. Watch one crawl. Watch it wither. Watch it drop faster than the putsch in Russia. Motif can't compete with the Macintosh OS or with DOS/Windows as a delivery platform.
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
the only reason you don't see [Lesstif] more is because RH don't like LessTif since it pretty much killed one of their early profit-making schemes, which was selling a commercial Linux Motif implementation
Please don't make such claims without verifying them. What you're saying is not quite true.
We are actually shipping Lesstif in the Red Hat Linux Powertools (which is included in the Deluxe and Professional versions of Red Hat Linux and can be downloaded from your favorite mirror of redhat.com).
We aren't putting it on the main CD simply because there are not many applications that use it anymore (name 3 interesting open-source projects using Motif/LessTif for anything), and because there are (almost?) no reasons to start a new project that makes use of it when toolkits like Qt and Gtk+ are available. Another big problem with Lesstif is the closed nature of Motif - despite the fact that the LessTif developers are obviously good people, they have to stick with the outdated Motif stuff and can't change stuff where it makes sense, the way Qt and Gtk people can. Lesstif is one of the many packages we'd probably include if we had infinite space on the CDs - but given the fact that CDs don't come with infinite space, we have to limit the choice of packages to those that make most sense to us.
We don't dislike Lesstif - if it had been started or anywhere usable a couple of years ago, Red Hat would never have shipped a commercial Motif version. Open source tools are ALWAYS preferable over non-free ones.
I also hate the Qt signal/slot kludge
Why, and how do you think it should be implemented?
This message is provided under the terms outlined at http://www.bero.org/terms.html
...i program all three, together, almost every day.
i admit it's butt ugly if the programmer is clueless. but a programmer who has used it for awhile can get by most of the visual issues by setting resources properly, etc.
Netscape isn't a terrible looking application, after all -- Motif.
Sun's awt doesn't look too bad -- Motif.
it's amazing how much hate can be directed toward a product by the ignorant.
that said, all you have to do is read Doug Young's book on C++/Motif or Kilgard's book on OpenGL and X, and you quickly learn that mistakes were made in the visual inheritance hierarchies. but they are well-known, and the tricks are documented.
pls. remember that motif was out before most teenagers were born, before win95...i think it predates win3.1
i've built up a small set of software components that simply replace a form -- it's as easy as subbing the form, and realizing the component. we have a lot of standard things we do here, and i can crank out a new app in days that runs much faster than anything scripted or interpreted.
give motif a break. it has lived a long life and had a successful career, and donated a lot of good infrastructure into all the toolkits that came after.
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.