The inside story to the new release of the popular GNU/Linux desktop.
How do you produce a major update of a popular desktop for GNU/Linux? Following the release of KDE 4.0 last week, I talked with Wade Olson, the press contact for KDE in North America, and a member of KDE e.V., the German non-profit organization that is the financial and legal arm of the project. Olson talked about the goals of the release, its highlights, what was left out, and where development of KDE is going next.
According to Olson, planning for KDE 4 began nearly two and a half years ago. About then, he says, "People realized that they were reaching the current capacity of the code base." While nothing was wrong with the KDE 3.x code, Olson says, "Any code base that has been used successfully and built upon for four or five years will start to show its age, and become patched and inelegant. Don't get me wrong - it's not like the code base has been thrown out and we've started from scratch. but this was an opportunity to do a significant refactoring."
Besides, the community was aware that a new version of Qt, the programming tool set used in KDE, would be due, and core libraries for the desktop would need to be rewritten to take advantage of it. Add the fact that the community was hoping to expand the use of the desktop beyond workstations and take into account the proliferation of laptops, handhelds, and mobile devices, and the time for change had clearly arrived.
The realization sparked an explosion of effort. Exact figures are hard to come by because of the informal nature of free software development and the fact that teams often committed their work as a whole rather than individually, but Olson estimates that in the last few months of development, some 250 developers were submitting up to 2500 code changes per week. When non-developers such as graphic designers, translators, and marketers are included, as many as 400 people were working on KDE on a daily basis during that time -- and even that does not include the developers working on independent projects like KOffice and amoroK, or the developers who liaised with KDE to incorporate the finished result in their distributions.
Improving the User Experience
Much of the work on KDE 4.0 concerned what the community calls "the pillars of KDE" -- the sub-systems through which KDE interacts with hardware and data. These sub-systems go by a bewildering set of names, including Solid, Phonon, Akonadi, Strigi, Sonnet, Decibel, and Plasma. Fortunately, part of the intent in KDE 4 was to abstract the information extracted by these sub-systems into user-friendly forms, so most of the benefits of these pillars are visible to KDE users only indirectly in the form of increased speed and performance.
However, just as important in KDE 4.0 were the efforts to reshape the look and feel of the desktop. Partly, this reshaping was due to a desire to help port KDE not only to other operating systems, but also to make it more usable on laptops, handhelds, and mobile devices to prepare for the future. "We can't any longer assume that everyone is going to have a 19 inch LCD monitor," Olson says.
But a large part of the reshaping, Olson says, was due to current fashions in desktop environments -- fashions shaped largely by Windows and Mac OS X, respectively the dominant desktop and the most critically acclaimed.
Olson notes that there is an "ebb and flow" in desktop designs. "If you go back to both KDE and GNOME in the late 90s," he says, people were complaining about how monochrome we were and that we were very Unix-y. Then Windows XP came out, and people were saying that we were drab, so we made a concerted effort to go to colors that were more vibrant. And you know? The next thing you know, people are complaining that we're too vibrant and too cartoonish."
In response to such complaints, KDE chose a default set of artwork called Oxygen that Olson characterizes as "more professional, more polished, and more photo-realistic. [The designers] went back to scratch and defined a color palette that was sensible, and literally built from the ground up."
However, despite the obvious influence of other desktops, Olson hopes that the pillars of KDE will help the KDE design to rise above its influences, and deliver superior graphics and performance comparable to those on Windows or OS X even on older desktops, or during intensive multimedia operations.
KDE 4.0 includes hundreds of new features, so singling out major ones is difficult. Olson suggests, though, that one of the best places to see what KDE 4 is all about are some of the small educational programs and games.
Many of them have been redesigned to take advantage of the scalable vector graphics display and enhanced rendering in KDE 4, making them what Olson calls "a canary in the coal mine" -- an indicator of what is about to happen in KDE design. "When you see these smaller applications having these super-sexy graphics and new icons and great performance, and how they are really more usable than their KDE3 counterparts, then that portends well for some of the larger applications that are coming down the pike," he says.
Another place to view the changes in KDE 4 is the standard utilities used by the operating system. When Konqueror, the KDE file manager, was first released in the late 1990s, the fashion was to consider files on the Internet the equivalent of network files, and to browse them in the same way as local files. Now, however, the fashion has shifted, prompting KDE to promote the use of Dolphin, a dedicated file manager, and to use Konqueror chiefly as a web browser.
That said, users can still use Konqueror for file management if they choose. "Konqueror's not going anywhere," Olson says. "It got a lot of love and attention in this release. Just look at the tool box alone, and you'll see that we've worked on usability improvements."
Konsole, the KDE command line window, has also benefited from an interface makeover -- to say nothing of new features such as a search history, split views, and enhanced scrolling and general speed. "It's crazy," Olson says, obviously bemused. "The idea of a basic Unix or AIX console has been around for so long, yet something so simple actually got a lot of attention. Obviously, there's still areas for innovation."
Still to come
Olson says that he expects KDE to receive some criticism because last week's release included only the basic desktop -- and, in many people's perception, fell short even there some times.
The problem is, once you stray beyond the educational programs, games, and utilities, many KDE programs are simply not ready for KDE 4. Some KDE-based programs, he says, were dependent on the pillars of KDE or the new libraries being relatively mature, and could not possibly have been released with the basic desktop. Still others have a release cycle that does not sync with KDE's. KOffice, for example, will not be releasing so much as the beta of its next release until later this month.
Still, now that the major release has been launched, KDE-based programs can start to catch up. Speaking unofficially, Olson anticipates that "Maybe some time this summer we'll have a 4.1 release, and by then all of the major players are going to have a release based on KDE 4 technology."
Yet even within the core of the new release some parts are unfinished. Although none of the release's major goals were abandoned, Olson suggests that, in individual modules, some plans may have quietly been dropped.
Perhaps the strongest is the objects center on the new Plasma desktop, and the areas in which it seems less advanced than its 3.x counterpart -- in particular, the lack of customization for the panel. However, Olson strongly defends such decisions.
"The Plasma community has been taking a bit of undue heat in my opinion," he says, "Because with its complexity, it really did have to wait for newer versions of QT and some [KDE libraries] to be done. And above and beyond that, it really did start from scratch."
Moreover, when compared to the desktop in earlier versions, Olson suggests, the Plasma desktop is "infinitely more flexible. And it's going to take a lot less heat when it comes to the control you have over the panels, the transparency of those panels, how cool it is with compositing effects and dealing with multi-head displays and different resolutions."
Olson also indicates that the new desktop will feature the ability to choose different use profiles at startup, and tight integration into Kiosk, a tool for controlling what users can do from their desktop.
Although KDE 4.0 is barely out the door, the project is already considering future improvements. Later this week, Google is scheduled to sponsor an official launch event, where the KDE community can not only meet with the press, but also plan future directions in an informal, Barcamp-like setting.
Still, Olson suggests, some directions are obvious already. Besides the details that were dropped to make the release, and the changes that were dependent upon a stable 4.0 environment, he says, "We still have to complete a lot of oxygen icons. We still have to work on the Oxygen look and feel [and] Plasma is still in its absolute infancy."
Other areas of improvement include enhanced work on VOIP and, possibly, the integration of Nepomuk, the semantic social desktop, into a future version of KDE.
KDE already runs on a number of Unix-based operating systems, but, as the new pillars mature, he expects to see increased work on porting KDE-based applications to Windows.
"It's not even a question of should we," he says. "Developers are moving forward on it. All the major KDE applications most likely will run on windows and Mac, natively and proficiently in the future." Recently, Olson says, he was able to install Marble, a new map display on Windows; he claims that, "It looked like a native Windows application, and ran as fast as a native Windows application."
KDE 4.0 is an important stage in the desktop's environment. But Olson stresses that, in the true free software tradition, it is simply part of the ongoing development process. "We are totally selling the fact that KDE 4.0 is the starting line, not the finishing line," he says. "Now we get to get rolling."