The KDE Developers Conference ReportOct 10, 1999, 20:12 (51 Talkback[s])
(Other stories by Kurt Granroth)
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 emerged.
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 previous version.
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 were:
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 promising.
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:
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 months.
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