Slashdot Mirror


Interview: KDE Developers Answer Your Questions

Last week, Microsoft and antritrust. This week, thoughts on KDE's future from some of the people who work directly on it, specifically Kurt Granroth and Richard Moore. Instead of posting their e-mail addresses here and swamping them with messages, please see http://developer.kde.org, which will tell you not only how you can contact these gentlemen, but much more about KDE development.

Before we get down to business, we'd like to stress that these are the opinions of individual KDE developers. The answers below are not *necessarily* the same as the KDE Official Position on matters. If you wish to know THE official opinion on any of these, contact the KDE Core Team through any of the official representatives.

Now that's out of the way, so here we go:

1) by joshv
One of the biggest limiting factors that stops me from moving to Linux for 100% of my computer use is the poor support for MSOffice file formats in Linux Office apps.

What level of support will KOffice provide for MSOffice file formats?

Kurt Granroth answers:
The level of support is entirely dictated by how much support the filter authors are willing to do. I can guarantee that we won't have 100% compliance with Office97 formats if only because it's not possible to get the complete specs for all the formats. My personal feeling is that we will have support for the most common parts of Word97, Excel97, and Powerpoint97 for KOffice 1.0 (or soon after) but the more esoteric features will be lacking.

As I said, though, it's entirely up to those who are actually writing the filters. If somebody (or several somebodies) jump into filter writing fulltime, then it's entirely possible that we will have the best filters in the Unix world. We'll have to see what happens...

2) by jd
There are a number of competing environments in X, now, such as KDE and Gnome. In addition to that, there are emerging whole new windowing systems, such as Berlin. Add a sprinkling of GGI, KGI and EvStack for good measure, and you've a real gloopy mixture of ideas and strategies.

In light of this, where do you see the desktop in, say, 5 or 10 years time?

Richard Moore answers:
I think the X environments will become much more interoperable as standards are defined for functionality such as .desktop files, drag and drop and the capabilities of modern window managers. The standards around at the time the KDE project started (such as the ICCM standard) do not define these service. Now that there are some real standards being defined (and implemented) such as XDND and the new window manager specification the diversity of X can be made a strength rather than a weakness.

Developments such as Berlin and GGI are interesting, but they are not really much of a concern to KDE. As these projects become more mature it may be worth porting our code, but for now this is not a priority. One of the advantages of writing highly object oriented code (and using a cross-platform framework such as Qt) is that it is very easy to port, and should the need arise this would not be problem. However as X is improving anyway, especially with the current developments in XFree86 such as GLX support (hardware accelerated 3d) the arguments for a new windowing system are not very strong.

Over the next few years I expect to see evolutionary, rather than revolutionary changes to the desktop. As usual there will be lots of new ideas around, but only some of them will stand the test of time. I think there is likely to be much more emphasis on the 'look' of the desktop, and on improving the ways data is presented. Some trends such as greater use of multimedia, more 3d, more use of transparency are likely to continue, but it is hard to say what else will be around.

Kurt Granroth answers:
Personally? I don't think it will be significantly different. I know that there is a tempation to say that in 5 years, the desktop metaphor that we currently use will be dead and we'll have some radical new approach. Well, I don't believe it. "Normal" people really aren't very willing to change what they are comfortable with.. and they are now comfortable with the desktop approach. Any changes that happen will have to happen gradually over a period of time.

Now whatever happens, I'm sure KDE will roll with the change. With only a few exceptions, our API is pretty well abstracted from the graphics layer. Say the next big thing is an OpenGL 3-D graphics background (is that what Berlin is?) -- all KDE needs to do is convert a few parts of the base Qt library and we'd be good to go on the new backend.

3) by Jon Trowbridge
What are your thoughts on both the current status and the future of interoperability between KDE and Gnome in areas like components, CORBA, etc.

Do you see the two projects moving closer together, moving further apart, or staying about the same?

Richard Moore answers:
There are some areas where cooperation between KDE and Gnome is possible, and others where it is more trouble than it is worth. There has already been good progress to produce standards for .desktop files and window manager hints. The functionality needed for these is well understood making them relatively easy to standardise from a technical point of view. It is less obvious how more complex technologies such as component embedding and reuse can be defined in a usable standard. That said however several KDE apps have been ported to Gnome and when we release KOffice, KDE 2.0 etc. I imagine they will want to try to embed our components - if they can get it to work they are welcome to. I don't really see the projects moving closer together though as we have very different ideas about how the desktop should work.

Kurt Granroth answers:
Please see my answer to question #7.

4) by Zarniwoop
What do you plan to support in Konqueror, ie CSS, Java, HTML type, and will it function as a file manager or will KFM still have that function?

Richard Moore answers:
Konqueror is using Lars Knoll's new DOM based HTML component - it already supports almost all of HTML 4.0. Support for Javascript is progressing, though the DOM bindings are unfinished as is support for CSS, both of these are under active development and will probably be ready for KDE 2.0 (though not for the Krash release). Java support is partially complete - most simple applets now work, but there is currently no support for applets in JAR or ZIP files. In addition it is now possible to create plugins for Konqueror that can further extend its functionality - in future there may even be a bridge that allows the use of Netscape plugins!

In addition to being a web browser, Konqueror can do a lot more - it is able to embed different types of view using the new KParts framework (briefly known as Canossa). This means that it is possible to view any type of content (eg. text files, postscript, DVI files etc.) within Konqueror. The views are loaded and unloaded as needed which keeps the browser itself nice and lightweight. A view doesn't just embed the content - it also has access to the menu and status bars, drag and drop etc.

The file management component is embedded in Konqueror, so to a user it works in much the same as with the old KFM did, only better. The file view has been completely rewritten and now provides a much more polished user interface, for example you can have multiple views and you can load and save workspace layouts. As before the files are accessed using kioslaves allowing you to transparently access both local and remote files. The ioslave code has been rewritten to improve performance and to make it easy to add new protocols. There are a number of new protocols already implemented (such as SMB a.k.a. MS Windows shares) and also extensions to the existing protocols (such as SSL support).

Kurt Granroth answers:
Konqueror is a generic browser -- it has the capability to browse almost any medium that it has a component for. That is, with our treeview and iconview (and similar) parts, we can use Konqueror as a file manager. With the helpcenter component, we can browse help files (html, man, and info). With the kghostview component, we can "browse" postscript and PDF files.

And with the html part, we can browse the web. This component is clearly the one that gets the most attention -- and deservedly so! We (mostly Lars Knoll, though) are working on an HTML library that is fully HTML 4.0 compliant. It is already pretty darn close. We use DOM Level 1 as our document model and should have some parts of Level 2 in by KDE 2.0. We will surely have support for CSS1 and *maybe* support for parts of CSS2. We already have minimal support for Java applets and Javascript.. and the capabilities of both will increase by KDE 2.0. In the case of Javascript, we should be able to handle 90% of the most common pages on the web.

Hmm.. I think we'll have some support for parsing xhtml and embedded XML, also.

Konqueror is essentially the next generation KFM, BTW. It does everything KFM could do.. and tons more! Furthermore, it does it much faster and using much less memory.

5) by Kris Warkentin
I've heard that KDE 2.0 will be using a new window manager KWin rather than KWM. Now I know that KWM is a big fat hog but I haven't been able to find much info about KWin. What are the advantages to this new window manager? Is it an evolution from KWM or a completely new, from the ground up program?

Kurt Granroth answers:
KWin is a new, from the ground up, program. It is written to be more modular and extendible and to have theming and MDI capability built-in (kind of.. see below). It is also a tiny bit better with memory.

The 'theming', BTW, is pretty cool because, technically, KWin doesn't do theming at all! KWin is really just a window manager library that you can build a window manager on top of. When you write a 'theme' for it, you are (in ways) really creating your own window manager with that particular look. This means that you aren't limited at *all* to the inherent theming capabilities of the wm if you are willing to do a little programming. And I do mean "a little" programming -- the BeOS example style is less than 200 lines of very easy to understand code.

However, I take exception to calling kwm a "big fat hog". If you use kwm with KDE, then it is no more memory intensive then any other modern window manager. In my experience, kwm is as fast and light as any other full-featured window manager out there.

6) by Otter
When designing KDE, what is the minimal hardware quality you expect it to run comfortably on? Is it currently available low-end, one year old low-end, three year old low-end...?

Kurt Granroth answers:
Well, whenever I recommend computer systems these days, I always insist on at least 64M memory, a 6G hard drive, and a 366Mhz system. That said, we made sure that KDE will run on significantly less then that :-)

The consensus seems to be that 32M is the minimum that you could comfortably use. You could use less.. but then you'd have trouble with just bare X, much less KDE. Hard drive size and processor speed shouldn't be a major factor at all. Video cards shouldn't play a significant role, either. We now ship high color (24-bit) icons.. but we won't drop the 8-bit icons until we're sure that all 8-bit cards are gone.

Keep in mind that the above recommendations are for the x86 platform. You may need to adjust the numbers when referring to, say, SPARC or Alpha chips.

7) by TheGreek
Has the long-standing flamewar between KDE and GNOME helped to motivate development of a better product, or has it just made you annoyed at the community at large?

Richard Moore answers:
No.

Kurt Granroth answers:
(This is also my answer to question #3)

It may suprise some people, but most KDE developers don't wake up every morning thinking about GNOME -- I know that *I* don't! In fact, I very rarely think of them at all. I spend my time thinking of, and working on KDE.

Do I think that the KDE and GNOME "war" has motivated a better product? No! I think the whole "competition makes for better products" thing is bunk. KDE developers work to make KDE the best that they can -- and they would be doing so even if GNOME didn't exist! KDE would be exactly where it is right now regardless of the status of GNOME.

Has the "war" made me annoyed at "the community"? At times in the past, I did get annoyed at those participating in the flamewars. I think it's incorrect to say that they are "the community", though. The fact that KDE has an overwhelming majority of Linux desktops shows that "the community" (if there is one) has been behind KDE all along. Those flaming KDE are easily dismissed.

Now all that said, I'm a big supporter of working together with GNOME to standardize as much low level things as possible. Let's face it, there are some nice apps coming out of the GNOME/Gtk camp and it would be a shame if they couldn't be easily integrated into the KDE desktop. I want to be able to use, say, xchat, gvim, or gimp and have them look, feel, and act as much as possible like my other KDE apps.

This means that what needs to be standardized is things like drag 'n drop, window manager "hints", file associations, menu structure, key bindings, themes, and the like. Work is already done or in progress on the first three listed and the last bunch look promising. On the themes note, I seriously doubt that we will have 100% compatibility between GNOME and KDE themes.. but we should get pretty close by having theme

8) by twdorris
I believe that one of the MAJOR problems facing *any* UNIX system wishing to compete on the desktop fr level printer driver support. It's been a while since I've coded X-apps, but from what I recall, there was no way to "cleanly" handle print functionality. By that I mean, I always ended up with one routine to draw to the screen and a completely separate routine to write my PostScript output for printing. I believe this may still be the case give how many different print interfaces I see in various applications running under Linux. No two user interfaces are the same and no two produce similar results. To an end user (at least at the desktop level), this is extremely frustrating and it's one of the main reasons I *have* to keep Windows around. I need to print things reliably and with a high degree of quality and there's just no clean, easy way to do that under Linux or any other UNIX OS for that matter.

As for device driver support, I've used Ghostscript extensively in the past and while it's impressive, it's a FAR, FAR cry from being comparable to a vendor-supplied, Windoze-based driver equivalent with regard to quality of output and reliable printing. As an example, try printing a high resolution image to an Epson Photo 700 under Windows and then do the same under Linux using Ghostscript. The two are completely different and it's not in favor of Ghostscript.

All this leads me to my question for you guys. I use KDE along with KWM as my working environment at home. How do you see printing functionality being affected or enhanced by KDE and do you have any suggestions for how to improve upon the current state of things? Is there a huge re-write of printing support under *nix systems that I don't know about and that most applications these days are being coded to? I strongly suspect so, because there's no way in hell Linux will be able to compete in the desktop market if every application is required to write out postscript data manually and/or include printer drivers for every printer known to man. Both Windows and Java take an approach to printer support that ties printing code to display code and I believe something similar is *really* needed under Linux and/or X11. Do you guys have a feel for what the future holds with regards to printer support under *nix systems? Having coded a complete office package yourselves, I'm sure you have a pretty good idea... :-)

Kurt Granroth answers:
There are a number of parts to the printing problem... and only a few can be solved at the KDE level. We actually have a very nice printing mechanism in KDE using the Qt library to do all the real work. If you've done any Windows programming, you'd see that it is *similar* to the way that MFC handles printing. Basically, we 'draw' onto objects with QPrinter and QPainter.. and really don't care if the final output medium is paper or a screen. All of that work is handled at the Qt level.

Specifically, Qt will render it up into postscript if the code is intended for paper (e.g, a printer). It then uses whatever printer drivers are available to do the actual printing.

This is where the differences between printing in Windows and printing in Linux start shining through. You are correct that on most low-end printers (i.e., non-laser), the output in Windows is *much* nicer. This is out of the control of KDE, however. The drivers need to work at the OS level.. and it's there that they need to get a lot better.

I believe that there is some work to get vendors to ship official drivers for Linux. If/when that happens, then all output from KDE apps will immediately see the improvement. The actual code in the apps won't have to change at all.

09) by Ledge Kindred
I don't follow KDE development extremely closely, but it seemed to me that details about Magellan popped into sight very suddenly and vanished again nearly as quickly. Considering the power and capabilities detailed in the article linked above, this sounds like a major component to having a devastatingly powerful desktop based on KDE2, since an easy-to-use EMail client like Magellan would fulfill one of the two basic "killer apps" I imagine an average user would want from a desktop environment. (The other being a decent web browser, which KDE2 looks to also provide with Konqueror.) Is development of Magellan still on track? Can we reasonably expect it to live up to expectations? Or is this considered an "out provide and therefore outside of what you can comment on?

Kurt Granroth answers:
Magellan isn't part of the KDE project... but we're glad to see it coming along. Third-party apps like Magellan, QCad, KDevelop, and KDEStudio are very valuable even if they aren't provided with the KDE core packages.

Now personal opinion time on Magellan: the screen shots look *very* nice and if it has all the functionality it claims.. well, I think there will be a lot of ex-Outlook users that will be very happy. That said, I've never actually seen it working or seen one line of code from it. The author certainly has the right to keep it all hidden before release.. but until it is, it's just vaporware with very pretty screenshots.

10) by Tom Christiansen
What non-Windows systems have you evaluated in mining existing technology for ideas? How about XEROX Star or OS/2 or Amigas? Have you ever looked at AVS, the scientific visualization graphical shell? It has (or had, when I long ago looked at it) a very cool graphical representation in which datasets and filters get connected in by pipelines in a visual rather than a CLI way, which is sometimes easier to produce. IF you haven't seen it, think of what it might be to combine drag-and-drop with connect-the-dots...

Kurt Granroth answers:
The systems we mine are those that we've used. So you can see elements of Windows, MacOS, NeXT, and traditional Unix desktops like CDE. We do try to emphasize the visual elements from Windows and MacOS because, let's face it, that's where the newbies are coming from and we want to make sure that they have a comfortable, intuitive environment to work in. It should be possible for an ex-Windows or ex-Mac user to sit down in front of a KDE workstation and figure out how to use it very quickly and with little or no help. It's possible that there are some OS/2 inspired elements in KDE, too.. but I don't think I'd recognize them if they were there (I haven't used OS/2 in years).

As for the 'connect-the-dots' approach.. I believe that various KDE apps are doing something in that vein. aRts does (or did). I could have sworn that there were more. We currently have no plans of doing this in the core KDE stuff.. but who knows what will happen after KDE 2.0

Actually, it's interesting that you mention AVS because we *did* have a rather extensive discussion about treating everything as graphical pipes about a year ago (I think). If my memory holds true, we decided that it's a great idea but we probably couldn't pull it off by KDE 2.0 if we wanted it to be stable, usable, and intuitive. Like I said, we'll see what happens after 2.0

1 of 277 comments (clear)

  1. Deeply worried by innerFire · · Score: 5

    Over the next few years I expect to see evolutionary, rather than revolutionary changes to the desktop. As usual there will be lots of new ideas around, but only some of them will stand the test of time. I think there is likely to be much more emphasis on the 'look' of the desktop, and on improving the ways data is presented. Some trends such as greater use of multimedia, more 3d, more use of transparency are likely to continue, but it is hard to say what else will be around.

    Translation: 'We're making it look better, because we already think it works as well as it could. The Windows paradigm is good enough, no sense coming up with new ideas.'

    This kind of attitude is deeply worrying. No, the desktop metaphor is not perfect, in fact it has many flaws and weaknesses. (Check out About Face: The Essentials of user interface design by Alan Cooper for hints.) Something new needs to come along! KDE (and GNOME) are just rehashes of Windows 95, the same way CDE was a rehash of Windows 3.1. Do we really want for free software to be chasing the coattails of the lowest common denominator? I think we can do better.