As promised KDE Dot News brings you the second part of the two-part interview about Kontact and Kolab. This part focuses on Kontact, the Personal Information Management suite for KDE made with the combination of KMail, KOrganizer, KAddressbook and other programmes.
As Kontact is the Kolab client on the KDE platform how did Kontact happen?
Which parties were involved and were there any sponsors involved?
Cornelius Schumacher: Kontact actually has a long history. It started as an experiment in 2000
under the name Twister, was reintroduced in 2002 as Kaplan and finally
started to become what it is today in 2003. Maybe the biggest single
step to make Kontact happen was Don Sanders porting KMail to provide
a KPart for integration in Kontact.
The nice thing about Kontact is that it is only a very thin integration
layer on top of the existing PIM applications which doesn't sacrifice
the ability of the application to run stand-alone. So most integration
is happening in the applications themselves and not in the Kontact
framework. Details about the technical and social aspects of
Kontact as an application integration framework can be found in the paper
I presented at the USENIX conference 2004.
What groupware servers does Kontact support?
Cornelius Schumacher: In addition to Kolab it supports eGroupware,
SUSE OpenExchange Server and more recently support has been added for the OpenGroupware server.
It also supports iCalendar over HTTP. That's what Apple iCal
uses. It's hardly groupware, but it's useful for a lot of nice things
(see e.g. http://www.icalshare.com).
Kontact now also supports Novell GroupWise. Thanks to the quality
of the KDE framework it took us only one week to implement the basic
There is also some basic support for MS Exchange. We will certainly see support for even more groupware servers in the future.
What happened to support for Exchange2000 calendering in Kontact?
Tobias Koenig: At the moment we have a halfway working solution for calendaring with Exchange2000. Since Ximian has released the source code of their Exchange connector it would be quite easy to write a connector for Kontact as well, but it seems no KDE developer is willing to do so at this moment.
Cornelius Schumacher: It is not missing much, so indeed if somebody would step up and take care of this code we would have Exchange support in Kontact in no time. For KDE 3.4 this has been rewritten with a cleaner code base and is ready for trying out.
Why did you choose to reuse existing applications like KOrganizer, KPilot,
KMail, KAddressbook, KNotes, KNode, etc .. for Kontact instead of building a new
application from scratch?
Tobias Koenig: KMail is the best Open Source e-mail program existing today and with KOrganizer and KAddressBook
we already had two other important parts of a PIM solution. So why should we start from scratch?
With KParts, XML-GUI and DCOP, KDE offers an incredibly cool framework which made it quite easy
to integrate these applications without throwing away existing and well tested code, so it was
clearly the way to go.
Cornelius Schumacher: Tobias is right. All these existing applications are great on their own.
They have healthy
code bases and developer communities. To throw this away for a new
application written from scratch would have cost us many years of
development effort. The KDE component technologies make it so easy
to integrate the applications there is no doubt that the Kontact
approach is the right way.
What kind of syncing technology is used now in Kontact? What happened to Kandy?
Tobias Koenig: For KDE 3.3 we introduced KitchenSync as a syncing framework for Kontact and every other
KDE application. KitchenSync is plugin based, so every developer can implement their own
plugin to add syncing support for new mobile devices.
Cornelius Schumacher: We already have KPilot, which does a really nice job synchronizing Palm OS
devices with KDE, and KitchenSync. KitchenSync is supposed to be the
future all-purpose syncing solution, but it still has a long way to go
before that becomes reality.
Tobias Koenig: The development of Kandy has nearly stopped, as soon as the KitchenSync API has been stabilised,
Kandy will be rewritten as a KitchenSync plugin.
Cornelius Schumacher: That's also the reason why I didn't spent much time on it as
a stand-alone application anymore. Some time ago I received a large patch for Kandy, So it looks
like it could get some life of its own again.
Are there any plans to integrate other syncing technologies so it can sync with
types of handhelds other than just Palm Pilots?
Tobias Koenig: Of course, there is already a half working plugin to sync devices with the Qtopia/OPIE environment and support for SyncML is also in progress.
Cornelius Schumacher: There might be some opportunities for
working together with other projects on some common syncing framework
(e.g. the OpenSync initiative on freedesktop.org), but it's hard to
keep track of what's happening in these areas. There are just too many
and too special projects.
How is Kitchensync progressing and how will it address syncing (in the future).
What possiblities does it offer?
Tobias Koenig: With the Qtopia/OPIE, MultiSync and SyncML plugins, we'll be able to sync nearly all kinds of
mobile devices. PIM data from Palm Pilots can be synchronized with the KDE desktop via KPilot,
but we plan to integrate it into KitchenSync for KDE 4.x.
Cornelius Schumacher: As KitchenSync is supposed to become a generic syncing framework which can
easily be extended with new plugins to support any specific device. The
KDE 3.3 release contains an initial version which is able to
synchronize addressbooks and calendars between KDE desktops. There is
more to come, but as syncing is a really hard and ugly problem it's not
progressing as fast as we all would like to see.
What do the Kolab and Kontact projects need the most now?
Tobias Koenig: We are always in need of developers and users for testing. Kontact needs a lot of usability improvements, with the help of
OpenUsability.org we are currently working on it, further help is always appreciated.
Cornelius Schumacher: Contributors. There are so many nice ideas which could be implemented,
if we only had some more people doing actual work. The KDE framework
makes it possible to do development in an extremely efficient way. It's
amazing to see how far we have come with Kontact when taking account
how few people we are and that most of the work is done in our
spare time. That's only made possible by the high quality of the
framework and the unique spirit of the KDE community. It's inspiring to
work on Kontact and it's also a lot of fun. Everybody is welcome to
join us and share the experience.
Bernhard Reiter: Our next challenge will be to build a commercial (Free Software) infrastructure behind Kolab to grow it in the market and go the next steps with development. This requires people to be fair and give back financially some of the value they get when deploying Kolab, especially in larger installations.
Where can people get more information about Kolab and Kontact?
Cornelius Schumacher: Point your browser to www.kontact.org and