Interview w/Jim Gettys
infodragon writes "Linux Power has a really good interview with Jim Gettys, one of the origional X developers and now actively involved with GNOME." He's also done much work with the handheld iPaq.
← Back to Stories (view on slashdot.org)
Kind of ironic that this guy who did so much with X was named after the process that allows you to log into a non-graphic terminal...
Signed: Paul Xdms.
The marketing name 'iPAQ' is used for a variety of products, including a rebadged Blackberry 'pager', a range of legacy-free PCs, and even some servers. Most people associate the iPAQ name with the handhelds, but that isn't all they are.
Paranoia isn't an infectious condition, it's a way of life
The above link for Jim's work on the iPaq should go to http://www.handhelds.org
Okay, I'll contribute my $0.02. I use KDE and GNOME's latest released frequently throughout my day between four machines across Linux and Solaris, simply because I like to stay current on these things.
As of right now:
KDE has a current stable release that's around two months old. GNOME has a current release that's unstable, and a stable release that's a year and a half old and not particularly capable. Again, on the same note,KDE has a working stable file manager and browser. Nautilus is still massively screwed, Mozilla is slow on an Athlon 900 machine with 384MB RAM, and this is at a 0.91 stage - a little to late to be worried about stability concerns. Galeon, unlike the rest, works properly, but still isn't finished. And GMC is...well, you know GMC.
KDE's desktop can create shortcuts. GNOME's used to be able to do this, but the Nautilus developers decided software antialiasing was more important than the ability to create a launcher without a text editor. This is a bizarre and unusual concept of usability.
Although GTK will be around for a while, QTs cross platform (X,Framebuffer,Win32,Quartz) capabilities make it very popular for anyone writing cross platform apps.
GNOME still doesn't present the window management / desktop as seemlesly as KDE does. End users don't see why they have to configure their look and feel from more than one place. The GNOME control center's `apply' `warning you made changes!' is unnecessarily scary. Sawfishs meta options aren't GNOME ones, and theres still much duplication in functionality between the two.
AFAIK there's no GNOME application design guidelines similar to the Windows / MacOS / KDE ones. Feel free to correct me otherwise.
Outside the Unix world (which is the world Linux needs to win over for the World Domination), C++ is vastly more popular than C - not that QT doesn't work with C (or that GTK doesn't work with C++ for that matter).
Both are severely broken in that they don't work with each other properly, and GTK/QT apps pened in KDE/GNOME look and work poorly. Not that they're in the menus to find or anything...
And both can't install standard packages graphically in a useable way (ie, multiple packages, retrievable from multiple sources with dependencies). GNOME's actually much better in this regard than KDE with Red Carpet, but I' not sure how easy it is for third partis to create Red Carpet `channels'.
Jim Getty sounds like a great guy and great designer. I know a few people really respect his work. However, I wonder how much attention he pays to usability. That is one of the key problems with Open Source in general. Designs look great but are not always functional, especially to novice users. Some day, usability will be seen as being more important than raw functionality, right?
By the way, you might be interested in this set of slides. They are from Linux Expo '99 where Jim is doing a demo of Itsy. (Was that an early version of the iPaq?)
How to Download YouTube Videos
Qt has only one major problem: it's written in C++.
This is actually Qt's greatest asset.
But that one's a problem from which I have never seen a toolkit recover without the marketing dominance of Microsoft.
You should go out more often : RogueWave
Ilog
try to get an average-skill C++ developer up to speed on a project that's been under development for a year or so, and you'll be spending months explaining why you used the language the way you did
Too often true in practice, not true with Qt/KDE.
You know, that language that Linux, X, GCC, BSD, Apache, Bind, Sendmail and most of the rest of the civilized world's software is written in.
As I said, you should go out more often. There's a whole universe outside of the tiny rosy world of free software.
If you want to use a C library from C++ you can.
But it's highly suboptimal. Frankly it generally sucks big time.
The matrix is a little hard to read because there are so many languages in it....
And how many are complete enough to actually be used to develop a big application right away ?
The conclusion of my experience of 3 years helping to maintain Gtk-- and trying to develop with it, followed by 1 year of programming with Qt professionnally and with Qt/KDE at home is that Qt/KDE is, without a doubt a vastly better and more productive development platform than Gnome is at this time.
The language bindings point is totally moot, and after all these years and so few mainstream Gnome applications written in anything else than C, may be people should re-evaluate it. I wrote about it two years ago already, and as far as I can see most of my claims are still true.
When I started using Qt at work, I found myself to be more proficient with it after just a few days than I ever was with GTK+ or even Gtk--, where I constantly had to lookup either in some barely existant documentation or at the source code itself, or needed to add yet-another-wrapper for some strange struct I'd need.
A direct consequence of this is that whenever I wanted to write a patch for a KDE app, even fairly large and old ones (konsole, kmail), I could get a moderately complex feature done in just a few hours, over code I had never seen before.
Contrary to what you think, the level of entry of KDE for a programmer is way lower than for Gnome. Even a C++ beginner can produce useful code after just a few days of learning. This is not true for all C++ toolkits or projects, but it is true for Qt and KDE.
This is the reason why KDE's development pace is so quick, and why so many high-level applications like konqueror, kdevelop, or koffice could be written by teams of less than half a dozen people. Programming under KDE is just so easy.
I suggest you try it. You'll be surprised, as I was too when I switched.
He makes some very interesting remarks about the bloat the many people attribute to the X server. For instance, depending on the graphics card, the X server can look like it is using an extra 8 to 64mb of space that it isn't, due to the way it maps the display card. There is also some good information on current efforts to remove some of the bloat caused by other parts of the server, such as I18N.
--
...or you could just use one that's free and cross-platform already. [wxWindows]
You could, although you would have more power using Qt. I haven't used wxWindows, but what I do know about it is that it's a wrapper toolkit. This has advantages (app looks correctly on the target platform) but one big disadvantage is you have to work with the Least Common Denominator. I'd imagine you can't get real specific in your program because some widget or control may not exist on one of your target platforms. I believe wxWindows includes some of its own extra widgets (for those situations) but it means the ones that do exist are not extendable.
Qt solves this problem by working at the lowest level on each platform. All widgets are remade in Qt, from a color selector to a file dialog, so every widget is under your full control. It also mimics the native look of the target platform. This is one of the big powerful parts of Qt: Styles. Not only look, but the behavior as well can be changed. This is why Qt looks like an MFC app on Windows, SGI-like on SGI, and Aqua-ified on MacOS X. Insane? Maybe. But definitely powerful.
Sure, Qt is not free on Windows, but I believe paying for a license is worth it. There are many Trolltech customers who use Qt only on Windows simply because they think it is better than other Windows development alternatives! Maybe because it's easier to learn and maintain? I would agree, considering a "Hello, World" app in Qt is roughly 10 lines.
Anyway, use what works best for your project. I just wanted to point out that Qt is a pretty cool deal.
Have fun!
-Justin
- direct quote from Orson Welles' "Kane" character in Citizen Kane