To most users, KDE 3 is obsolete, replaced two years ago by the KDE 4 series. Yet, many continue to lament the loss of KDE 3, and greeted enthusiastically the news earlier this year that a project called Trinity KDE had started in order "to keep the KDE 3.5 computing style alive, as well as polish off any rough edges that were present as of KDE 3.5.10."
Recently, I talked via email with Timothy Pearson about the project, its motivations, purposes, and plans.
A long time developer with Kubuntu, Ubuntu's KDE variant, Pearson describes himself as "an electrical engineer specializing in embedded systems and RF [Radio Frequency] by day, and an open source programmer by night."
Pearson first discovered free and open source software in 2001 as an alternative to Windows, but at first used it only for servers, judging the desktop as not ready for general use. Later, though, he discovered Kubuntu and KDE 3.5, "and was blown away by the powerful but user friendly interface, as well as the fast Debian packaging system. Shortly thereafter I replaced all my Red hat and Windows XP installations with Kubuntu, never looking back."
With such an attitude, Pearson was blindsided by the release of KDE 4.0 in January 2008.
"KDE 4 kind of snuck up on me," he writes. "I had assumed that the new software coming from KDE was going to be along the same lines as KDE 3.5. I tried using KDE 4 for a few days and just could not stand the interface; my productivity plummeted and I seriously considered going back to Windows. The only thing that kept me from doing that was the sheer expense of deploying Windows Server across multiple environments."
Pearson tried other desktops, "but nothing really satisfied my needs. This left me with one choice: to maintain KDE 3.5." That, in turn, forced Pearson into crash courses in assembling Debian packages and C++ applications development with the help of others in the Kubuntu community. Over the past two years, he has been maintaining KDE 3.5, and adding new features to the code base.
A Reason for It All
Asked why maintaining KDE 3.5 is worthwhile, Pearson replies, "KDE 3.5 is one of the very few desktop environments that offered a balance between speed and ease of use." By that, he means that it has something of the speed of the command line but is easier to use, and something of the convenience of interfaces like OS X but runs faster.
Pearson attributes this balance to the fact that "KDE 3.5 was built to emulate Windows XP, and therefore inherited that balanced interface."
To this base, Pearson continues, "The KDE developers then added a whole slew of new features that increased the power of the interface many fold, making an ideal environment for technical power users. Additionally, the desktop was fast, responsive, extremely configurable, and minimal enough that it was able to recede into the background when a different application was in use."
By contrast, Pearson characterizes the KDE 4 series as "closer to Mac OS X. It does not recede into the background willingly, and has lost much of the configurable that KDE 3.5 had.
"A perfect example of this is context menus and tree views; KDE 3.5 used these liberally and therefore a lot of very powerful functionality was available with one or two well-placed mouse clicks. KDE 4 apparently consider this confusing and/or cluttered, so instead the user has to wade through serial different dialogs before finally finding the option or task he or she was looking for."
As an example, Pearson cites changing desktop settings. "To change a desktop setting in KDE 3.5, right click anywhere on the desktop and click "Configure Desktop". Two mouse clicks. Under KDE4, you have to find and launch the System Settings application, then guess at the correct category for the desktop feature you want to configure, then finally you might be presented with the setting. In my experience, I was always choosing the wrong category, or the setting simply was not user-configurable like it was under KDE3.5."
The Critical Reception
Pearson notes that Trinity KDE has received mixed notices. "A lot of people absolutely love it," he says, "and a lot of people absolutely hate it. I have only had one person write to me and say he was in the middle, using both Trinity and KDE4."
One of the major criticisms of Pearson's efforts is that, like KDE 3.5, Trinity uses Qt3, a development framework that has since been replaced by Qt4. Pearson's response? "Yes, there are definite reasons to upgrade to Qt4. However, we don't need to throw the baby out with the bath water here; the old KDE3.5 interface can be left intact during that process.
Pearson proposes to overcome this problem, not by a massive rewriting of the KDE 3 code, but by the addition of a QT abstraction layer called TQt that will "isolate Trinity from future changes in the Qt libraries." Work on TQt is currently under way, and Pearson plans on adding more details on it soon to the project web site.
In response to the suggestion that Trinity is "static" -- that is, has more or less reached the point where it cannot be greatly enhanced without a major rewriting of the code -- Pearson's reply is, "It's supposed to be that way! Xfce is static by the same criteria, yet a large number of people use it and actually prefer it to KDE4/Gnome."
In fact, Pearson argues, many users prefer a desktop that does not change.
"Some users, myself included," he says, "prefer to set the desktop environment up a certain way and leave it alone. Over time I have found a type of muscle memory develops because certain visual elements have stayed in the same location for so long; this can get to a point where the action of launching a certain program or performing a certain task is nearly autonomous and therefore extremely fast."
While Pearson admits that DBUS might be more desirable, he asks, "Why not slowly convert DCOP enabled apps to DBUS? If that is too hard to do for all applications, then why not convert the DCOP library to use DBUS as a back end?"
"Usually there are ways around changes in backend libraries; they just require some thought and a little elbow grease to implement. Libraries do change over time, [but] a proper design should prevent this from being a major issue."
In other words, Pearson suggests that claims of KDE 3.5's obsolescence are, if not greatly exaggerated, then at least under-estimating the ability of the code to adapt and develop.
Pearson plans a number of changes to the code base he inherited. Behind the scenes, he plans for a number of abstraction layers like TQt, in order to make connecting Trinity to third party libraries easier and allow code to be more easily reused, which should help prevent bloat.
For features visible to users, Pearson lists three criteria: "1) Does it blend into the existing user interface? 2) Is it user configurable? 3) Can it be shut off and completely removed via a readily accessible user visible configuration option?"
"The main priority," Pearson says, "is fixing things that don't work properly, whether they were bugs inherited from KDE3.5.10, or new bugs introduced by third-party library or protocol changes."
However, these directions call for a considerable amount of work, and, with only about fifteen people involved in Trinity, these changes make take time. Like many other projects, Trinity's main need for additional volunteers to get involved in different aspects of its work.
An alternative, not a rival
"I am not bashing KDE 4," Pearson says. "I know a lot of people who consider it to be a very nice piece of software, and I think it's great that they found a desktop that they are happy with."
Pearson goes on to emphasize that, despite the common origins, "Trinity is an alternative desktop environment in the manner of Xfce and GNOME, not a competitor or replacement for KDE 4. I hope all of the desktop projects stay alive and thrive, as I consider one of the main advantages of Linux to be the choice available to the end user --including the choice to reuse software when anyone deems it necessary."
ALSO SEE: Living the Linux Lifestyle