Forking KDE 3: Trinity KDE's Timothy Pearson: Page 2

(Page 2 of 2)

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."

Yet another criticism of Trinity is that, so far, it continues to use DCOP for helping applications interact while KDE 4 has switched to DBUS instead.

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.

Looking ahead

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 Trinity project has already implemented a number of such features, including CalDAV support for KCalendar and CardDav support for KAddressBook, and revamped monitor switching and configuration.

"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

AND: Seven Current Issues on the Linux Desktop

Page 2 of 2

Previous Page
1 2

Tags: Linux, Linux desktop, Gnome, KDE, KDE 4

0 Comments (click to add your comment)
Comment and Contribute


(Maximum characters: 1200). You have characters left.