February 26, 2007

New KDE 4 preview shows progress

Author: Joe 'Zonker' Brockmeier

On Friday, the KDE Project released the third in a series of development previews for the upcoming KDE 4.0 release. Dubbed "Kludge," the 3.80.3 release includes the Sonnet language library, the new Dolphin file manager, and the Solid hardware library.

Packages for Kludge are already available for Kubuntu Edgy and openSUSE, and source is available from the KDE Web site. The release is not meant for end users, but aimed at programmers who want to assist with KDE 4 development, and porting or developing applications to KDE 4. Kludge is still incomplete and seriously buggy, and unlikely to be usable for day-to-day work for some time.

Despite some initial erroneous reports, Dolphin's appearance does not herald the demise of Konqueror. Konqueror will continue to be available in KDE 4, and Dolphin will be available as a less complex file manager. KDE developer Aaron Seigo corrected the early reports on his blog. "The plan right now is for Dolphin to become the file manager that gets launched from the default panel buttons and by apps requesting to launch a file manager.... Konqueror is a power user's application that cannot be fully replaced by something like Dolphin (and vice versa). They have different use cases and different target audiences."

Solid

As for the Solid library, KDE developer Will Stephenson describes it as "the system of hardware interfaces in KDE 4." Stephenson says that Solid exists because of "a demand from a wide range of desktop applications to talk to a hardware, and ... the growth of KDE."

Over the lifetime of the KDE 3.x branch, Stephenson says that Linux gained support for "a range of hardware that user applications needed to interact with." In the past, Stephenson notes that the support for this hardware was "rare or had terrible driver support," which meant that "each KDE 3 application tended to develop its own interfaces to this hardware."

This, says Stephenson, "isn't the KDE way of doing things." Instead, he says that the project prefers to provide libraries that all apps can use -- an approach that provides code that's more stable and uses less memory. KDE 4 addresses the problem with Solid. "Solid provides a gathering point for all the hardware code in KDE 4, with a set of well-designed, documented, library-quality interfaces to hardware."

Stephenson says that the core work on Solid is done, and the next step is to adapt code written for KDE 3, "like the removable media framework and KNetworkManager," and to write documentation for other developers. "The API documentation is already in pretty good shape. We're also starting on folding the webcam code from Kopete into Solid so that it is available to more apps."

Multi-platform KDE

The other motivator for an abstracted hardware interface is the expansion of KDE beyond Linux and other *nix OSes. Another feature in the Kludge release is improved support for KDE 4 on Windows and Mac OS X. That may seem an odd concept to some users, but Seigo says that there is "a large amount of demand for KDE technology on these platforms, particularly from those who want to develop software.

"KDE helps solve two big issues for many people trying to write modern desktop applications: portability and open source tools. For instance, there are many applications whose biggest hurdle to being cross-platform is the lack of a lightweight, highly capable, open, easily embeddable HTML component. Internet Explorer, Gecko, Opera -- they all fail on one or more of those requirements. The result is these apps sit marooned on Windows. KDE 4 will start to solve these problems."

By making it easy to port applications to proprietary platforms, Seigo says that KDE developers are trying to encourage "a surge in people writing open source applications, or applications that rely on open source. In the software world, it's all about the developers and in particular their numbers."

However, Seigo says that there is "no intention" to port the entire KDE shell to Windows or Mac OS X. "This is in part because a window manager such as KWin simply has no purpose to play there, and in part because we are still also primarily interested in creating a holistic experience for the user that revolves around Free software.... While many of our powerful and popular applications will find their way to Windows and Mac OS, we still see the workspace and the improved integration it offers as the 'value add' we provide on Free operating systems."

Timeline and future snapshots

The preview releases have been slow in coming so far, but Seigo says that the KDE Project will be releasing snapshots more regularly now because "we now have a better release team strategy in place and because development is simply in an easier-to-snapshot place. From the context of the 'little steam engine who could' story, we've finally reached the top of the mountain."

Stephenson agrees that KDE 4 development is accelerating "now that the core library porting and cleaning up is mostly done and people are able to put time into updating documentation and tutorials. For a long time there was so much flux in the base libraries that keeping up with them was a full-time job. Most application authors prefer not to have to troubleshoot kdelibs as well as their own code, so now that the libraries have settled down, the number of developers available to work on KDE 4 has really increased."

Seigo says that the project has "hit a nice stride now, one that we struggled to achieve in the early days of KDE 4," but cautions that it's not "a trivial project."

"This is similar in scope to KDE 2 development, and as such is not as breezy an affair as, say, KDE 3 was. The effort required has been, and continues to be, greater. Once 4.0 is out the door then it is, as they say, all downhill from there, and we will enter easier development cycles from there on out through the KDE 4 series."

So, when will 4.0 be out the door? There's no definite date, but Stephenson says that "you'll see generally usable packages starting to appear after Akademy [in early July], with the distributions starting to deliver previews after that, followed by a 4.0." Seigo didn't give a hard date, but says that the project is still committed to delivering KDE 4.0 by the end of 2007.

KDE developers are looking to the future with KDE 4, but Seigo says that they will also continue to tend to the existing stable release while KDE 4 is under development and for some time after the 4.0 release is out. "There will be another 3.5.x release coming, probably in mid/late spring 2007. As long as there are useful bug fixes and feature adds, 3.5 will continue to be produced.

"There are many companies that have support contracts to fulfill that revolve around KDE 3 installations. Since many companies, governments, and schools only upgrade their systems on a conservative schedule ranging anywhere from 3-7 years, there really is no other option that matches the reality of the market other than to continue 3.5 for those who are using it."

Instead of abruptly ending support for KDE 3.5.x, Seigo says that the 3.5 branch will "naturally phase itself out" as KDE 4 is adopted. "This is one of the beautiful aspects of Free software: unlike Microsoft and how they now have to push Vista and discourage use of their older products regardless of what that means for their downstream markets, the users and downstream industry gets to decide how long KDE 3 remains."

However, Seigo says that KDE 4 will be "the primary focus" for the KDE Project. "This ensures a future path for our growing user base and downstream industry partners, whenever they are ready to take it. Of course, the early adopters and enthusiast crowds are happy to be able to jump on KDE 4 today.

"Everybody gets what they want -- doubly so if they put a little back in."

Click Here!