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)
I'd just like to tell you that X is a bloated monstrosity and Gnome with its "we're trying to write object oriented code with C which was never meant for that" bollocks is making it even worse. Please stop.
Kind regards,
AC
Hi UrAnus,
Did you think we would not recognize your incoherent although anonymous ranting?
A year ago you wrote that KDE was dead on LinuxPower. Now, KDE is stronger than ever, the GNOME architecture is a complete mess and they don't even plan to fix it for GNOME 2.0. GNOME 1.4/Nautilus was a complete failure, putting Eazel out of business all for a buggy FILE MANAGER. Ximian is not updating anything.
Which project is in trouble now?
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
I think this is the proper way to do this. For somebody trying to support a program on multiple platforms, it is far more useful to have exact cross-platform identical interfaces, than to have this mythical and worshipped "common look and feel".
I would also like to find that mysterious user who is confused because the edges of the buttons look different between their programs. I think "common look and feel" is a crock, and all examples offered where it confuses people is when one of the options is also a completely stupid user interface (like Athena scrollbars). And this crock is forcing bloated toolkits (both Qt and KDE are bloated, and MFC is horrid) on everybody.
PS: I tried a "common user interface" and was forced to go back (in my case I tried to change all the menu shortcuts to Ctrl+ZXCV away from the Alt keys used before). It is painfully obvious that people easily learn differences between programs, but cannot handle the slightest changes in those programs over time.
to have a unix config file named after him, along with Frank Hosts.
--
the telephone rings / problem between screen and chair / thoughts of homocide
"don't fall into the fallacy of believing that Perl can solve social problems. Maybe Perl 6 can, but that's a ways off"
Active involvement in the W3C and IETF; particularly, he was an author of HTTP/1.1 (RFC2616) and several HTTP-related RFCs (e.g. 2145), in addition to which he's an all-around pretty swell guy.
There are no doubt that X is a good piece of work, since M$ is copying more and more from it. In Windows XP they have copied the ability to run the windowsystem remote on another computer.
I wonder how long it will take before they copy the ability to have several desktops. That is at least one of the features I favor the most of X which Win doesn't yet have.
"The assembler gave birth to the compiler. Now there are ten thousand languages." - Tao of Programming
The above link for Jim's work on the iPaq should go to http://www.handhelds.org
And oh yes, it's fascinating that he says the network transparency of X is "well under a megabyte". If that's really true, then that's also great news, and a good thing to keep in mind when people go off critizing X for bloat with respect to network capability.
----------
In a real emergency, we would have all fled in terror, and you would not have been notified.
The whole argument in favor of X is based on the assumption that network transparency is essential. However, particularly on slow connections with high latency (typical for mobile networks), the last thing I want to do is to display my ui remote. Instead I want to do that locally (memory/cpu is no longer an issue, Jim's own argument) and only use the connection to send data. The whole concept of single tier, server based applications is dead. These most server apps have at least 2 tiers and an additional client tier.
The added value of running a network transparent xserver over a framebuffer based approach is limited, especially when considering that X alone does not provide enough functionality to do things locally, you need additional stuff like qt/gtk anyway (unless you want to write your programs on top of X). Embedded gtk/qt will be both faster and smaller, which unlike Jim Getty is suggesting is still important in the embedded world.
Jilles
See here.
Boffoonery - downloadable Comedy Benefit for Bletchley Park
You missed the point. He says that the benefit you gain from using Qt/E or the Gtk framebuffer stuff over X with Qt or Gtk is small. Specifically, it is likely to be outweighed by advantages of network transparency and the ability to use stock Qt/Gtk/X programs.
But there's a few points of yours that I think are debatable...
Mozilla is slow on an Athlon 900 machine with 384MB RAM, and this is at a 0.91 stage
I think either your machine must have some problems hardware-wise or your configuration must suck, because since Mozilla hit 0.9, it's been kicking the crap out of Netscape 4.x on any box I run it on, Windows or Linux... it runs great on my P2 266 with 128meg and Windows, on my K6 300 with 192meg on either Windows or Linux, and on my lowly P233mmx/64meg laptop on Linux. I happily ditched Communicator on everything the week 0.9 came out and haven't looked back...
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.
I think you're wrong here... as I understand it, Qt costs money if you want to use it on anything but Linux... people are likely just to hop on the native toolkit and re-do the front end.
Dunno why wxWindows doesn't get more attention... I was going to wrap that around Gecko and call it a cross-platform browser, until Mozilla stopped sucking.
AFAIK there's no GNOME application design guidelines similar to the Windows / MacOS / KDE ones
Yeah, well, with the latest Windows Media Player and Quicktime Players, Apple and MS have seemed to toss those docs in the incinerator anyway. Bitch about them before you bitch about the GNOME folks, most of them are doing this stuff for free... anyway, with a properly designed widget set and a few common dialogs, you shouldn't have to deal with design docs, the toolkit should just grant common UI principles as a side-effect of using it (which, in my experience, GNOME/GTK seems to do a pretty good job of).
Outside the Unix world (which is the world Linux needs to win over for the World Domination)
Er, why? If Linux succeeds at world domination, then there won't be any "outside the Unix world" anymore =).
The version of Qt that is licensed under the GPL is only the Unix/X11 portion. If you want the Windows version you have to pay for it.
From Trolltech's website (http://www.trolltech.com/developer/faq/free.html) :
The Free Edition is the Qt for Unix/X11 toolkit, licensed for development of free/Open Source software.
Qt/Windows is only available as Professional/Enterprise Edition, not as Free Edition.
Sure, you could port it, but what's the point? There's other freely available toolkits that you could port without pissing off the original developers... or you could just use one that's free and cross-platform already.
Question 2: Have you ever read GPL?
Question 3: How many times does GPL mention Linux (or GNU/Linux)?
Yes and none =P.
Telephones are the paragons of usability, but I suspect telephone network infrastructure is extremely unfriendly to the novice user, but functions remarkably well.
Jim is building the infrastructure, not the interface. They have diametrically opposed design requirements.
MrCreosote Meow!Thump!Meow!Thump!Meow!Thump! "You're right! There isn't enough room to swing a cat in here!"
What's more, comments about KDE as the ultimate platform for developers because of Qt, are misplaced. Qt has only one major problem: it's written in C++. But that one's a problem from which I have never seen a toolkit recover without the marketing dominance of Microsoft. Even the very best C++ toolkits are relegated to the backwaters of the developer world because of the cross-platform difficulties (e.g. even Sun had to pass on Qt because it would require choosing acc (thier compiler) or gcc (the one everyone uses) for the shared library format); towering complexity of any sizable code (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); and the algorithm-hiding features of the language (e.g. massive overloading, mind-boggling inheiritance rules, four casting operators, etc).
GNOME is written in C. 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. If you want to use a C library from C++ you can. Or from Python, Perl, Scheme, or any of dozens of other languages. C++ libraries can be bent and twisted at the cost of performance and flexibility to be used with most of these.
Here's a quote from the KDE pages on language bindings for Qt and KDE:Now check out what GNOME has to say about language bindings and you'll find a very different story. The matrix is a little hard to read because there are so many languages in it....
Is KDE/Qt nice? Of course, and I recommend it to anyone who finds that they don't like GNOME. I respect the folks that wrote the tools, because they're good tools. I just don't think that they took some very important points into consideration.
--
Aaron Sherman (ajs@ajs.com)
fucking werd.
How we know is more important than what we know.
>>>> this is a multi-part message, since Slash 2.0 breaks IE 5.05 quite badly >>>>>>>>>>>
X is definately not needed, but hey, its UNIX. You nuts still use tty software and termcap databases to write to your GeForce3 Linux terminals. There are two main arguements for X
A deep unwavering belief is a sure sign you're missing something...
99% of the time, X is used on a workstation or desktop machine. (Who installs a GUI on a server?) As such, his comments about X's bloat have apply to only 1% of the population, and have absolutely zero significance. In reality, most of couldn't use TinyX. ('cause if we could, we would already be using it!) It doesn't have a 3D infrastructure like XFree86 (plus it can't use the NVIDIA 3D drivers, the best OpenGL drivers around on Linux), and it doesn't have all the feature necessary to compete with the GUIs of Windows and other OSes. Problems with 'top' aside, there is only one thing that is important. KDE2/X/Linux swaps more than Win2K on my machine, apps start significantly slower (ex. KDevelop takes far longer to load than Visual C++), and while using the UI is lightning fast on Win2K, X is significantly slower, even using simple window managers like WindowMaker. (And that it isn't even a fair comparison, since Win2K has tons more features than WindowMaker/X). It flickers more, the mouse jerks at times (that, in particular is positively uncivilized), and windows switch noticibly slower. *That* is what matters, not some bullshit about how stripped down X can occupy very little space.
A deep unwavering belief is a sure sign you're missing something...
* Re: Moz stability. its also slow on Windows on an Athlonn 500 / 128, a Pii 400 w/ 128, a PII 300 running at 450 w/ 128. I've also ran it on my friends machines who are Mozilla fans and consider their installations to be fast. I still consider its GUI incredibly slow on these machines, and I think people who look and run mozilla objectively would agree.
* Re: bitching. The GNOME, alogn with KDE, and Linux, and other free software and Open Source projects aim to compete with closed source counterparts. They compare themselves to their equivalents and I have the right to as well. Nobody makes a good user interface who thinks that users pick apps based on price rather than quality. This, believe it or not, is a contribution.
* Yes, media players suck, but there is a MS standard UI `skin' for media player to, and just because they make some bad choices does it mean that OSS is excused.
* Yes, but before Linux runs the world there is.
Re: Shortcuts /usr/local/bin to create a Quake 3 link is fairly poor.
* There's no way to create a shortcut on the desktop withotu navigating to a specific binaries directory and draging it. Having to open Naultilus and navigate to
* There's now way to edit existing launchers.
* I was told both fo the above by a Ximian employee in monkeytalk after I wondered where these features had gone.
My GNOME is Ximian 1.4 with updates as of today on Linux, and regular GNOME 1.4 release on Solaris. And yes, Naultilus is still amazingly, unusably slow on both platforms.
GTKs cross platform bindings are in alpha for both Windows and BeOS. I think they might be for OSX too, but I'm not sure.
And yes, Galeon is good. Everything Mozilla should have been.
This isn't FUD. I use and like both, and I don't think GNOME is going to go away either. There's just going to be twenty times as many KDE users, who will still use a large amount of GTK based apps.
All of them are using 0.9, apart from the Athlon, which is running 0.91 and (since recently) Netscape 6.1 beta.
The rendering engine is fast (hence my comments in favour of Galeon but moving around the GUI isn't very responsive at all, in all ersions I've tried on all platforms.
And yes, the new (0.91 / 6.01) GUI is nice indeed.
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'.
Well spank me and call me Susan. I thought I was being funny. Instead, I was being a moron. Thanks for setting me straight.
How to Download YouTube Videos
This is a really great posting. I wish that it was not anonymous so that I could contact you.
I do a lot of usability work. I'd be more than happy to help folks, but I have had a hard time figuring out who needs help and on what. I'm not a programmer, at least not a good one, so I am out of the loop on projects. Sure, I visit places like SourceForge but that doesn't help me much.
If you have an Open Source project with an interface I can look at, let me know. I might be able to run a few tests and we'll improve the interface. I'd be especially pleased if there was some way to earn some money doing this, but that is probably a capitalistic pipe dream.
Cheers,
- John
How to Download YouTube Videos
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
While I do use linux quite a lot (which sort of qualifies me as a linux geek), I think that most linux geeks think of a GUI only as a cool feature, not as a tool for helping people less obsessed with technology to simply just do their work. Every time I mention some sort of usabililty principle around a linux geek, I get the response of "That's what you want. That's not what I want. It's a matter of opinion" even though this UI principle has been proven effective in usability labs to allow the user greater, more effective use of their computer. I recently met this one guy who's well known throughout the GNOME community who justified some very bad and confusing UI design he did with the sentance "because I like it". When I mentioned some usability problems with this piece of software he created, this person couldn'lt understand what problem was. "It wasn't pretty enough?" he asked. Most of GNOME (and for that matter, KDE) is really the same way. I'm not saying that just the linux world is soley at fault, because most of the industry (including M$ and most other Windoze developers) are really the same way. The main difference is the windows world just cares about money and usability doesn't matter, whereas the linux world cares about being geeky and usability doesn't matter. Usability is simply not a priority despite everything these two groups of people say. I have been thinking more and more that it is time for UI designers and other people who want to create quality user interfaces to start a rebellion and design their own OS and desktop environment.
Heh. God help them.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
Heh. Someone with mod points like CDE! It was a joke, for chrissakes!
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
No, my comment was a joke, not yours. I've never heard any one refer to any random desktop environment as CDE or Common Desktop Environment. CDE is a particular product. I mean, I don't refer to all cars as Buicks... But then again, it's common for people in the American south to refer to any soda pop as coke. /me shrugs.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
Just look at BSD. ;-)
Seriously, I don't get it. I'm disappointed in Jim. With KDE/Qt being so much more advanced and polished at this stage, he's likely to have chosen another sinking ship. You'd think he'd know how to pick the winners by now.
His words on Qt/Embedded are also quite puzzling. You'd think he hasn't learnt anything about the computer market either... His vaporware X is certainly not suddenly going to appear and kill Wince or Qt/E off the scene, those two are already well on their way to "embedding" themselves in the market.
What he also doesn't understand is that KDE/Qt provide is a wonderful API to the developer. Raw X is simply way too complicated to do present day development. If it's Linux/X against Wince, Wince wins hands-down. If it's Linux/QtE against Wince, then that is another matter. Development time and facilities *do* matter in the embedded world.
At least he is straight up and says he does not speak for Compaq.
(Please browse at -1 to read this comment.)
I don't think most people would think 8 to 64 millibits more or less would be bloat :-)
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.
--
What do you think the future of X is and do you think we still need it?
I have noticed that both kde and gnome have run without X using either QT embedded or GTK embedded. I know with X you can have graphical displays over terminals but aren't terminals kind of dead in this day and age with client/server replacing dumb terminal/mainframe topologies?
Would you be in favor for an X lite for non terminal users or would you favor something like gnome with gtk emdedded.
http://saveie6.com/
...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
I was about to post the exact same quote here, but you beat me to it. Hats off to a fellow CITIZEN KANE fan!
hyacinthus.
I thought getty was somehow related to my Linux console...
LedgerSMB: Open source Accounting/ERP
Optimised
Usability
- direct quote from Orson Welles' "Kane" character in Citizen Kane
is very cool. if only the e-economy hadn't collapsed and i could get good consulting positions and afford one :)
think for yourself, you won't like the results if others do it for you.
This is a truly sick joke man...
Life starts at the end of your comfort zone.
Telephones are only "usable" because we are used to them. The same hold for Windows and MacOS. And the same holds increasingly for Gnome and KDE.
Most real-world interfaces are messy and complex because of physical constraints. What they have going for them compared to computer UIs is that they are fairly stable and standardized over long time frames. What they also have going for them is that companies aren't as successful lying to their customers about usability as Apple and Microsoft are. Learning to use a word processor is hard, as hard as driving a car. At least it usually doesnt kill people.
In that, it seems a lot better to me than Windows or MacOS, which seem to have adapted mostly to what sells boxes (a good showroom floor and out of box experience); by the time people have bought them, it doesnt matter anymore. Trouble is, what is particularly usable after a few weeks or months isn't wwhat sells boxes.
So, you have a situation where Windows and MacOS dont really have high usability for anyone, while Linux at least is an effective tool for experienced users. If anybody ever figures out an incentive for someone to develop something that has the long term usability of non-experts at heart, well, maybe then we can make progress. But that's more an economic/motivational problem than a technical one.