February 15, 2006

KDE 4 developers look toward new desktop possibilities

Author: Stephen Feller

Developers on the projects expected to make up the next major version of the K Desktop Environment (KDE) want KDE 4 to offer features and software interaction beyond what is available now, and better, easier access for users to their files and information. Among the ideas are universally available personal information and a desktop that is tailored for and responds to the things users do most.

Ian Geiser, a KDE developer and official US representative for the KDE project, says KDE 4 will most likely be released in late 2006, though internal debate could push the release back to early 2007. Developer Till Adam says developers are still trying to figure out the combined vision for KDE 4, and how everything fits together. "We don't know how these technologies will compliment and empower each other," Adam says, "but all of these initiatives represent a focus of activity. They are the articulation of a sense of direction of the various teams. We are forming an idea of where we are heading."

Better hardware integration

KDE 4 is expected to integrate better with the hardware it runs on because of Solid, a layer used by KDE applications to work with the underlying platform and hardware. The project also will provide an application programming interface (API) to allow applications to more easily work with different operating systems.

The major goal of the project, according to Solid's lead developer, Kevin Ottens, is for KDE to better detect and interact with hardware. Currently KDE correctly handles media such as CD-ROM and USB flash disks, but does not always pick up on some of the other things users plug into their computers, such as printers and network adapters. Previous KDE releases lacked such an interface layer; instead, developers configured applications individually to interact with users' hardware.

With Solid, Ottens says users should look forward to better network discovery and configuration, keeping the most recently used network in memory, and suggesting to users the best wireless network in range for use.

Ottens says Solid will solve many hardware issues facing KDE users. Some hardware still may not be recognized by Solid, or simply may not work as expected. A planned Solid Knowledge Base will collect user reports on hardware, both to guide other users in purchases and to show developers where problems are.

Integrating information

Personal information management (PIM) is another area being given plenty of attention, by projects such as Akonadi and KitchenSync. The Akonadi project is a framework to contain data and metadata for applications, according to project leader Till Adam, who also is KMail core developer on the KDE-PIM project, the team which is behind Akonadi.

Akonadi is based on the notion that information on the Internet and in email is often used in a variety of applications. The closest most users will get to Akonadi is through the applications they use, as developers link their applications to Akonadi. Adam says developers are attempting to use standards as much as possible so that most applications will be able to link to the Akonadi libraries.

He says Akonadi also likely would work with applications on other desktop environments, such as the GNOME project's Evolution email client, because developers on projects that involve personal information face the same problem of individually loading contact libraries and other data, and lack the ability to synchronize to data stored with other applications.

"That's why we are planning to make Akonadi as service-like as possible, to make it possible to share it with other players on the free desktop," Adam says. "We believe that in order for KDE 4 to be truly a step forward, we'll need to give people much better access to their data, in more flexible ways."

KDE 4 is to also offer users better access to data by way of KitchenSync, a comprehensive device synchronization application. KitchenSync will use Akonadi to more quickly gather and sync personal information, says Cornelius Schumacher, the project's leader.

According to Schumacher, KitchenSync, based on the OpenSync project, recently added support for out-of-process plugins to the software. Applications that require additional processes to access data from KitchenSync, such as the email client Thunderbird, will be able to use plugins to more easily get to information users need.

Extension of the user

Another interesting project, Plasma, aims to make the desktop bend to users' needs. Project lead Aaron Seigo says desktop software has fallen behind when it comes to interaction with users and making things easier and more accessible. "[We're] moving away from a static system that just kind of sits there ... to a more user-aware workspace. It's [about] trying to enable the desktop for the way people actually work."

The over-the-horizon idea is timelining, which Seigo says could be included with KDE 4 in some way, but will more likely develop over the next couple of KDE releases. The idea of timelining is that your computer recognizes the tasks you do most often, possibly even within the time frames you normally do them, and provides faster access to those applications and files.

Seigo also points to the increased use of panels and greater versatility of the desktop space in KDE 4. Rather than having to open multiple folders to gather files for specific projects, Seigo says the new desktop will use a series of panels that dock just off the side of the screen, and can be brought up with a click or mouse-over, to allow files to be grouped and accessed more easily than the traditional desktop icon and file menu systems.

Widgets brought front and center

Seigo says increased and easier availability of widgets is another part of making the desktop easier to use. Unlike Mac OS X, which requires widgets to be used in the dashboard space and then hidden when users are finished, Seigo wants to use the panel idea so that users can call up widgets and use them as other applications are also in use.

Many of these ideas have grown from the success of the KDE-Look community, which has led to SuperKaramba, Kicker, and KDesktop being shipped together, Seigo says. SuperKaramba has until now been a separate application to customize KDE, but has been embraced for the ideas it gives developers for KDE 4.

Seigo sees KDE moving toward a more extensible, customizable space, using these applications, scalable vector graphics (SVG), Trolltech's Qt development environment, and JavaScript tools for developers. Seigo said he expects a hosting space of some sort to be created that, much like KDE-Look, could host developer contributions to KDE, whether those contributions are widgets or another type of extension for the desktop.

According to Geiser, finding ways to make the environment extensible will be good for KDE and for its users in the same way that extensions to Firefox have helped to grow its popularity and usefulness. He says that offering software and an environment that supports more and newer technology will help motivate developers to create more feature-rich applications for KDE.

Attracting developers

Geiser says that by making KDE more of a modular system, where developers can create things for the desktop with an expanded array of tools, development will move faster.

The difference between past versions of KDE and version 4 can be compared to the leap in applications for Windows 3.1 and Windows 95, Geiser says. Microsoft's API change from Win16 to Win32 between releases was better for developers because it was easier to use. The ability for developers to add to and create for KDE, Geiser says, is almost as important as the work those involved with KDE itself do for the desktop environment.

Geiser called KDE a "complete platform" in the same way that the Mac OS or Windows Vista is one. As far as he sees it, it is the platform that users work with -- and making that more usable and extensible will bring more people to work with it.

"I think KDE has come to this idea that we solved the problem of the Linux desktop," Geiser says. "Now we have to create something developers can build on."

Click Here!