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.
12 Tips for KDE Users
KDE vs. GNOME: Is One Better?
KDE 4 and 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."