About 40 KDE developers met in Erlangen for three days last week
at a developers conference dubbed "KDE Two". There were two main
reasons for the KDE Two developers conference. The first, and
perhaps most important reason, was to speed up the decision making
process for the future of KDE. Meeting in person is much more
effective for long range planning than multiple lengthy email
messages. The other reason was to provide resources and a time for
extended hacking -- a place and time where the ideas discussed
could be implemented in code.
Quite a bit was discussed and implemented at the meeting. I will
attempt to describe in brief just a few of the major topics that
Torben Weis, the chief architect for the KDE Object Model (KOM)
and OpenParts, announced the "new and improved" next generation
OpenParts. The new approach to application or component embedding,
code named "Kanossa", uses shared libraries rather than CORBA. The
framework is only a few days old but has already shown itself to be
quite fast, very memory efficient, and more stable than the
The distributed nature of CORBA presented a few problems related
to concurrency, reliability, and performance. It was decided that
for application/GUI embedding, it made much more sense to use local
components. This embedding approach is similar to how ActiveX and
COM components are implemented in the Windows world and is likewise
as seamless to the user.
This approach will make embedding components in KDE much easier
to do. It should be possible, for instance, to embed an entire
Konqueror browser into an application with only a few lines of
code. The resulting embedded component will also be quite fast --
the user will not be able to tell the difference between it and a
"native" widget. In addition, its efficient use of memory should
prove popular to developer and user alike. Developers will
appreciate the fact that Kanossa uses much less resources while
compiling and users will love the fact that Kanossa based
applications are comparable in size to non-component apps.
The main consumer of OpenParts is the KDE office suite, KOffice.
Torben, Reginald Stadblauer, Matthias Elter, and others worked to
convert the entire suite to the new framework. KPresenter, KSpread,
KImageShop, and KChart are already ported with impressive gains in
speed and stability.
Matthias Ettrich and Preston Brown also worked feverishly
through the weekend to develop a lightweight message based IPC/RPC
mechanism for KDE -- one that can be used in addition to the
powerful KOM. The result was the Desktop Communication Protocol
(DCOP), based on the X11R6 standard library LibICE. It's goals
Very small memory footprint, enabling it to be linked to all
KDE applications with no performance hit
Fast, simple communication between distributed objects
but most of all
Unify existing KDE 1.x IPC protocols like kwmcom and hacks
using Xatoms and pid files in a consistent and intuitive
Initial benchmarks seem to indicate that DCOP will be a hit.
Comparisons between DCOP and MICO show an improvement of 40 - 100%
for speed and over 50% for memory. One test of 10,000 synchronous
RPC calls between distributed objects took 4.5 seconds in DCOP and
over 8 seconds using MICO. The DCOP result shows how efficient it
is: the practical limit for IPC/RPC calls between objects is often
shown to be about 3000 discrete calls per second. This performance
means that there should be no noticeable speed difference between
this protocol and the previous IPC hacks.
DCOP is now a work in progress and has not yet received the
"official blessing" of KDE. It does, however, look very
Rich Moore introduced the very impressive work he has done with
Java. He and Lars Knoll worked through the weekend to extend his
work. The result was two-fold:
Lars' new DOM-based HTML library (khtml-dom) now has support
for Java applets!
Any KDE application may now embed a Java applet with only a few
lines of code.
Rich's work is absolutely phenomenal! This means that KDE 2.0
will have a web browser with full Java capabilities. As a side
note, Rich also started a Java implementation of DCOP.
Stefan Westerfeld demonstrated aRts -- his next generation
network multimedia framework. aRts uses a very modular system of
CORBA components to achieve nearly limitless potential for
multimedia playing and manipulation. KDE 2.0 will use an optimized
subset of aRts to handle all audio playing. Future releases of KDE
will then use the more advanced video and audio/video manipulation
abilities available in aRts. The aRts server is incredible. It's
synthesis and filtering abilities are leagues ahead of anything yet
found on Unix. It will offer capabilities to KDE that have so far
been found only on OSes like Windows, BeOS, etc.
Waldo Bastian headed up a design study on a new system
configuration storage mechanism called the System Configuration
Cache (Sycoca). It is a lightweight database optimized for looking
up static system information. It permits concurrent read-only
access to multiple clients at once. This means that the lookup can
be very fast (in linear time) since no locking or transaction
operations are needed. The database will be created and updated
from human readable configuration files.
Sycoca will be used for "static" system information only.
Examples include the mimetype bindings and the
.desktop/servicetypes. Application specific data will not be stored
here as that data is subject to regular change.
Eric Bischoff, the KDE documentation project leader, detailed
some of the changes taking place with the documentation group. One
of the biggest changes is the move of all docs from the old
LinuxDoc format to the industry standard DocBook format. This
should allow for much greater control over the presentation of the
information. He also mentioned how there will soon be automatically
generated printable versions of KDE documents in postscript and/or
PDF. Finally, there is work between the documentation project and
many Linux distributions to ensure that all of the copious results
of their efforts be properly included in the distributions.
The meeting also made possible a change in the board for KDE
e.V. KDE e.V. is a non-profit legal entity (a "corporation") that
can act in the interests of KDE as well as maintain a bank account.
It was originally founded as a means for KDE to enter into a legal
agreement with Troll Tech with the FreeQt Foundation. It has since
taken on a further role as a place were donated monies could be
accepted and distributed.
Members of KDE e.V. met for a few hours for an annual meeting to
provide some direction to the board as well as elect a new board.
The new board is:
President: Kurt Granroth
Vice President: Chris SchlÃ¤ger
Treasurer: Mirko Sucker
Board Member: Preston Brown
Expect to see quite a bit from KDE e.V. in the coming
There were a number of other sessions that were of great
interest to KDE developers if not to general users. They included
such topics as user interface design, applications scripting,
session management, packaging, relations with Corel, and effects of
a KDE library cleanup. Information concerning these topics will
doubtlessly be filtering out as time goes by.
We would like to thank our many sponsors, without which our
conference would never had been able to happen. Special thanks go
to our primary sponsors, Caldera and SuSE. A full list of all
sponsors can be found at http://www.kde.org/kde-two.html
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.