Roadmap for Kolab 3.1 - iRony included

A few weeks ago we released a brand new major version of Kolab. The feedback we received was overwhelming and we are truly happy that we see more and more people who are taking control of the cloud and escape the monopoly with Kolab 3. It is great to have such an amazing community that encourages and supports our work while providing helpful and constructive feedback to make Kolab even more awesome.

All this positive feedback and the best wishes from the community motivate us a great deal to put an extra amount of work into what will become Kolab 3.1. This does not mean that we will be able to do everything ourselves. More code contributions from the community are not only very welcome, but also necessary to meet our goals. We have announced that we aim for a 6 month release cycle and we do our best to achieve this, but we will need your help! If you see anything you could help out with, please let us know! Nonetheless, some developers have already started work on Kolab 3.1 and I think it is about time to let you know what they have planned for it.

The biggest and most exciting thing on our roadmap is also the one people have asked us for most. It is *drumroll* CalDAV and CardDAV support. Currently, you can access your calendars and your contacts using native Kolab clients, several connectors or ActiveSync.

In the future you will also be able to connect applications that are based upon CalDAV and CardDAV, such as the native Mac applications. But of course CalDAV and CardDAV have also achieved some traction with other clients. While the way in which many servers implement them is turning it into single client data hub, Kolab will continue its 'five platforms, one groupware' approach and be making sure to implement it in ways that will enable the full heterogeneous client environment.

As usual, we will not reinvent the wheel where the Free Software community already has a good answer and will integrate ourselves with the upstream to be able to contribute in the most useful way. So for our implementation of  CalDAV and CardDAV support, we will be using SabreDAV and connect it to our Kolab backend. It has been decided that these new groupware access protocol layers are going to be called iRony. First source code has already hit our new upstream git repository. We would like to see "pull requests".

Kolab 3.1 File mockup
Mockup of file access from within the webclient

Another often-sought feature is integration with file storage, such as ownCloud, and as you know we have been in close touch with the ownCloud community. But we also got requests for other file backends, and our users expect the same large LDAP based set of secure capabilities for this feature they expect for everything else. So we have started work on a Kolab component that seamlessly integrates into our web interface and allows componentized usage in other web applications.

This middleware allows for multiple backends, and for reference we will provide a simple file storage based on IMAP to demonstrate how this all works. After this work is completed, it will be trivial to integrate Kolab with ownCloud, Dropbox or any other service, remaining true to the Kolab design principle of having multiple options to address any functional requirement of a Kolab server. On the left you can see a mockup of how we currently envision the integration into our webclient that embeds Roundcube.

Another feature we have planned is probably only interesting for very large installations, because there the Kolab webclient currently does not display address books with ten thousand and more contacts very nicely. We will improve this UI and enable folding of contact groups for better overview. Also on our list are improved database schema upgrades that should happen in an automated fashion and currently still require some manual intervention. Since we want to make administrators' lives as easy as possible, we will invest some work here.

If we find ourselves with some spare time before the Kolab 3.1 release is planned, we might also work on some nice UI interfaces for (managed) resources such as cars, projectors, meeting rooms, etc. Some people are also interested in implementing ActiveSync policy frameworks and features such as remotely wiping mobile devices if they are lost. If you like to work with us on these features or if you have an idea for something new and exciting, please write to the Kolab development mailing list and let us know. We will be very happy to get you started. The more people are helping, the more legendary Kolab 3.1 will be! :)