Interview With XFce Lead Developer
Anonymous Howard writes: "There's an interesting interview with Olivier Fourdan, the main developer of the XFce lightweight desktop environment up at moongroup.com. Fourdan discusses the recently added new features of the desktop, as well as future plans." XFce is a really slick environment, too -- not quite minimalist, but nearly fat-free.
Sure, my pleasure, Chuck ;-)
2. Where did the little running mouse overlayed on a stylized "X" come from and what does it symbolize?
It was donated by Bonnie Green, a designer who worked at Linuxmall. She gave me maybe about 10 logos so I could choose the one I prefered, and I immediately choosed that one for several reasons.
The mouse is a good symbol for Xfce, it's a small animal, smart and fast. The X can be seen as the X-Window symbol, so the whole logo symbolize a fast light environment for X ;-) Perfect logo IMO.
3. When did you setup the development environment at sourceforge and how is that going for you and XFce?
Moving the developpment of Xfce to Sourceforge was an old idea, but I just could not find time for that (as usual ;-).
Since a few people from around the world (Europe, US and Mexico) are now actively working on the project, Sourceforge perfectly fits my need by providing a full featured web enabled environment. That was a good choice so far, since it would have taken so much time if I had to set up a similar tool on my own...
4. I see that the latest release contains "layers". Could you give some detail on what they are for?
Everybody knows about virtual desktops. They can be seen as several desktops side by side. Layers can be seen as desktops stacked. When a window belongs to layer, it can be raised or lowered only in its layer. A window belonging to a given layer can't be raised over another window belonging to an upper layer, for example.
5. Is XFce the first X desktop modified specifically to support Nautilus?
Not, far from it. Layers have been available in many window managers for a while, but until now, I did not see the need for layers in xfwm. Very few applications make use of WM layers, and most can live without.
Recently, someone asked on the Xfce list why, in Nautilus PR2, the root window was over all other windows. So I get a copy of Nautilus and tried it. I realized that Nautilus uses one of its own window as a root window, and, by placing it on the lowest layer, it could never come on top of the stack. Unfortunately, this is a big problem for window managers that don't support layers, since the "fake root window" is treated as any other window and therefore can be raised on top of the screen, obscuring all other windows.
I'm pretty sure that Nautilus will make it on the Linux desktop, so Xfce and especially xfwm, had to be compatible with Nautilus to stay in the run. That's why I started working on the functionality and released Xfce 3.8 (which is actually much more than just this new feature)
6. You've also developed some "themes" for XFce now. Will you develop a tool for XFce that will allow users to create their own themes?
Themes in xfwm are quite different from other window managers (not to be confused with GTK themes that are used in xfce panel and all other GTK+ apps, those have been supported for a long time, since xfce can generate GTK+ themes on the fly from user settings)
The window managers that support themes usually do that by applying images on their borders (by stretching them to fit the size of the window). This is very nice, visually speaking, but it can be cpu consuming, and very slow when running across a network, so I won't implement something like this in xfwm.
What I've done is xfwm is implement new "engines", ie different routines that can be selected to draw the window. It doesn't use any image to render the window decorations (except the tiny buttons). It's just like selecting different themes engines in GTK+ (notif, Redmond95, etc) except that xfwm engines are coded in xfwm, not loaded dynamically like gtk engines.
So for the moment, themes in xfwm is like selecting a drawing method for the window borders. There is no need for a specific tool yet. However, if I plan to implement some sort of "pixmap" engine, so that people will be able to apply images on the window borders, such a tool could become useful.
7. Many people believe that XFce is a clone of CDE and it certainly appears that it is but CDE is well known for its difficulty to configure. Is XFce easier to configure than CDE?
For sure, Xfce is very easy to configure since all common settings are managed thru graphical tools, using the mouse. However, Xfce is definitely not a clone of CDE. For me, a clone is just like Lesstif and Motif. You can use one in place of the other. But you don't consider GNOME or KDE as clones of windows, do you? It's the same for Xfce, it reminds CDE in some aspects, but it's very different. It's faster, lighter, and definitely easier to configure since almost everything can be set from the setup panel (in CDE, you'd better ask your sysadmin to add a new drawer on the panel!)
Just like GNOME and KDE ease the migration of Windows users to Linux, Xfce helps users who are used to CDE to migrate to Linux. But Xfce is not just that, it's a real environment on its own, and as time goes on, Xfce looks less and less like CDE.
8. What platforms does XFce currently run on and is it fully Gnome compliant?
Xfce runs on almost any Unix flavour, including commercial Unices (SUN, AIX, Digital UX, etc.), FreeBSD, NetBSD and even Darwin. Since it now includes layers (which was not implemented until Xfce 3.8), I think we can say it's fully GNOME compliant now. Some parts of GNOME compliancy are implemented in xfwm, and some other in an additionnal module (xfgnome). This is to allow users who don't use GNOME to save a few bytes ;-)
9. If it runs on all of those commercial Unices why haven't more commercial shops started using XFce instead of CDE?
Probably because they didn't think of it ;-) Seriously, there is no company nor organization behind Xfce, just like there are for both GNOME and KDE, so I guess this can be seen as a problem for some. But after all, Xfce is GPL, so...
I think (but this is just my opinion) that Xfce could help some people in migrating from CDE to GNOME since Xfce may look familiar to CDE users (and CDE still has a lot of supporters arround) and Xfce is GNOME compliant. Don't get me wrong here, I don't see it as something like "GNOME or Xfce" because Xfce doesn't feature all the goodies one can find in GNOME, but rather like GNOME and Xfce. Just a thought...
10. What new toys/features do you plan to add to XFce in the future?
Icons on the desktop, for sure. Right now, if you want shortcuts on the desktop, ala Windows, you must run another file manager like GMC or Kfm (or Konqueror).
I'm also planning to add support for IBM ViaVoice as an external module, so the window manager can be driven with simple oral commands. This is not even started yet, I've been working hard on 3.8 (and 3.8.1 which is the most recent release at this time.
Edscott Wilson Garcia did a real good job by adding more goodies to Xfce, like xfsamba or xfglob. Other people have added other nice tools. I wouldn't have time for this right now. It's good to see that other people have joined the development of Xfce and actually release good stuff. I'm pretty sure that will continue to see new amazing tools for Xfce in the future, like Alex Lambert's menu editor for xfwm.
Documentation has to be reworked too, but that's almost as old as the project itself !
Under unix/linux you have to worry what component model is used (if any), what window manager is running, what desktop environment is running, what unix distribution is used and so on.
It doesn't matter which window manager/desktop environment someone is running, it just matters that the libraries are installed. And with HD space as cheap as it is, it's not really that big of a deal to have libraries for both KDE and Gnome installed and then run KDE/Gnome programs in, say, XFCE or IceWM or WindowMaker or Blackbox or fvwm, etc.
As for UI differences... yeah, right. Like someone who uses KDE can't figure out how to point and click on the menus and shiny buttons in a Gnome program. The whole "We don't know which environment to code for" is such a lame excuse that I suspect it's just used to cover up the fact that those companies just really don't want to bother (they obviously haven't bothered understanding that most KDE/Gnome users run programs from the opposite environment all the time without giving a shit which libraries are used), and don't think they'd make any money (at least they're probably right about the money part).
They rightly assume that most users will be able to cope with whatever they're given.
What kind of retarded attitude is that? If that's the way you feel I have a programminglanguage for you. It's called Mupp and every command is state-dependant. Meaning that only way to know what a single character do is to read the program from the beginning, keeping track of state as it changes.
And I actually have a point with the above. It's that even though you CAN do something that's bad interface it doesn't mean you should. I've used Linux since 93, I'm a developer myself, and I'm a bit interested in UI design. And one of the major reasons that I switched from Linux to w2k was the lack of standard interfaces. I might be able to use Netscape, Emacs (which I *cough* still use in win) and Balsa, but that doesn't mean I want to. If I can get a consistent desktop, where everything works the same way, that makes me a lot happier, because I don't have to think and "fight" the application, just because things work diffrently than the other apps that I have running. In the end that makes me faster, and that I like.
The only good UI Linux has ever had on the other hand was the commandline. The only usuable GUI Linux has ever had is KDE, which is making tremendous achievements considering what they have to fight against.
Every other free software project starts off with the intent to get rid of bloat, get better stability, yadda yadda, better color combinations, yadda, XML, yadda. And then I see a feature list which equals or exceeds that competition. In this particular case, we have things such as all-GUI configuration tools and a key combo to highlight the mouse pointer would you have misplaced it on your vast 21" desktop.
Don't get me wrong: I think it is really cool that people try to one-up each other on free software, but should I really believe all these claims of superiority? I have not tried out XFce, but surely there is something that has been sacrificed? Can this beast be both lean and mean? Any data points? IMHO, if you make claims about being slim and bloat-free, you need to provide some evidence in that direction. Otherwise, just be proud over your featue list!
Lars
__
Reality or nothing.
Choice is not good, it is the main reason application developers are not targeting linux very often. They don't know what wm/desktop environment to target. Target gnome -> unhappy kde users, target kde -> unhappy gnome users, target motif -> crappy looking application. Coding for apple or windows is easy since you only have one look&feel to target. Under unix/linux you have to worry what component model is used (if any), what window manager is running, what desktop environment is running, what unix distribution is used and so on. Consequently, most apps come with their own look and feel, their own keybindings and generally only interoperate with a limited set of other applications. A direct consequence of this 'choice' is that 10 years after linux was created end user experience is still pathetic. Not because of technical problems but because of a lack of standardization.
So as far as I'm concerned this window manager is redundant, a reinvention of a very old wheel and its mere presence slows linux adoption.
There's simply no way to do it right. A window manager is just about the most stupid app I can imagine. Other than UNIX there's no other platform where you have to worry what component is responsible for minimizing/maximizing your windows!
Jilles
It is true that there are minor changes and sadly also incompatibilities between windows versions. However, since windows 95, apps have looked and functioned in more or less the same way. The first time you launch a random application, you can rely on the fact that alt+f4 closes the app, ctrl+c copies something, the file menu is on the left and probably contains file related menu items and so on and so on. There's so much you can assume more or less safely about a windows app (and most window apps actually behave rather well in this respect) that this gives a value to any conforming app a linux app currently cannot possibly provide simply because a consistent user experience is lacking and continues to be lacking.
Jilles
Icons on the desktop like in Windoze? Oh god no. I've been using xfce for over 2 years now and have seen it come on greatly, while still remaining lightweight, fast and easy to use. Olivier's done a great job bringing a CDEish interface to GNU/Linux, and keeping it portable - it was the first window manager we found that would compile on our alphas and run as a child of the ssh-agent back then, so I've really got a soft spot for it.
Everyone using the bloated Gnome or KDE that came with their distro should try it, just for a week. It's even better that AfterStep....
--Volrath50