KDE PIM Junior Jobs are opened!

Kontact Icon

Do you want to help us improve your favorite PIM suite but you were always scared by its size and complexity? Well, fear no more! We have collected a bunch of simple and isolated tasks in various parts of the PIM suite that require none or just very basic understanding of how the entire Kontact and Akonadi machinery works. We have documented them and we are prepared to guide you and help you to accomplish the tasks. Those are small simple tasks, but they will make many users (and PIM developers) very very happy.

I’m in! What do I need to know?

Just some C++ and maybe a bit of QML if you want to go for the QML tasks. We don’t expect you to know anything about Akonadi or how the entire PIM thing works as most of the tasks are pretty self-contained (although you can read up on the basic concepts and architecture if you are interested).

Cool, what do you offer?

We have tasks to improve the look of KAddressbook’s contact list, contact view, and contact editor. If you prefer working on KOrganizer, you can help us to make the event view look more modern. We would also like to improve the Account Wizard experience by porting it to QML and improving Gmail/Google Calendar and Contacts integration. Of course, the key part of Kontact is KMail and even there we have a few places that can be improved: we would like to improve the IMAP quota warning and add support for Autocrypt. And finally, you can also make life easier for other KDE PIM developers by improving our debugging tool, the Akonadi Console: we want to be able to save the output into JSON and load it again, alphabetically sort some of the lists, make working with the DB console a bit more comfortable and be able to restart Akonadi agents whenever we want to.

There’s also a very cool effort ongoing to allow integration between Kontact and MyCroft, the opensource voice assistant. For this, we need help improving a command line tool that’s used as a bridge between MyCroft and Kontact.

If you don’t know any programming but you would still like to help, we have some non-programming tasks as well! Sure! We are working on a new website for Kontact and we could use help with both design and writing content for it! We also need help improving our user documentation, cleaning and updating our wikis on community.kde.org and userbase.kde.org or cleaning up our bug tracker. If you want to help with any of that, get in touch with us on the kde-pim mailing list!

You can find the full list of junior jobs on Phabricator.

Haven’t found anything interesting? Don’t worry, we will keep adding more over the time, so just check the list every now and then. Or do you have your own idea how to improve KDE PIM and you just don’t know where to begin? Get in touch with us and we will help you!

Now how do I get started?

1) Get in touch with us 

To make sure several people won’t try to solve the same thing, it is the best to get in touch with the PIM community first so we can look at the single topics in more details. Some of the descriptions of the tasks are intentionally a bit vague as there are multiple ways how to approach or solve the problem. It’s always better to talk about the options first so that no time is wasted on approaches that won’t work.

2) Get your development environment set up

The KDE PIM community wiki contains articles on how to develop KDE PIM inside a Docker container. Alternatively, as most of the changes are pretty isolated, you should be able to compile just a single component from source against your distribution packages (you will just need to install some development packages first).

3) Pick a task

Pick one of the tasks linked above, or just look at all the junior job in Phabricator. They span different topics, different components and are of different complexity and size. If you find a particular task that you would like to work on, assign it to yourself and get working! If someone else already has the task assigned, you can ask if they maybe want some help, or just look for another task.

4) Get to work!

Fire up your favorite IDE and start working! If you need any help with the task – from finding the right repository and code, through getting the program compiled to being stuck on a bug or something not working – just ask us! You can ask in the Phabricator task or send an email to the kde-pim mailing list and some of the PIM devs will help you.

Also, don’t feel limited by the description of the tasks – feel free to do only part of the task, or do even more than what’s in the task description. If you think you have a better idea how to solve something, let us know in the Phabricator task.

I have the code, what’s next?

Awesome! Now it’s time to upload the code for review. You can use the arcanist command line tool, or you can just generate a diff and upload it manually via the web interface. Don’t worry if you don’t know whom to assign for review, Phabricator sends the notification the entire PIM team automatically.

3 thoughts on “KDE PIM Junior Jobs are opened!

  1. Diego

    Translated into English from my native language by DeepL. Forgive the possible nonsense.

    I hope a lot of people will join you. KDEPIM is accumulating pending improvements and dozens of very interesting suggestions and nice ideas that have not even been attempted due to a lack of personnel, so they are “collecting dust” at BKO and which we hope more volunteers could help implement.
    But that said, and I apologize for the ignorance but I left KDEPIM a few years ago (I loved it but my laptop with 4 GB of RAM that I can’t expand anymore simply couldn’t afford to dedicate more than 1 GB just for KDEPIM) and I’m not quite sure how it has continued to evolve, but Kube wasn’t the future successor to KDEPIM? If so, wouldn’t it be more productive to focus efforts on contributing to Kube, which seems lighter, more modern and visually clear than the Kontact suite? Or is the plan just to update Kontact and have it live with Kube when it is ready for daily use so users can choose between a “heavy” and powerful (Kontact) and a lighter and more limited (Kube) suite?

    One thing that I think is very important in Kontact, whatever its future, is a kind of “switch”. As I said before, for computers with less than 6 or 8 GB of RAM it is not affordable that KDEPIM will consume about 1,2 if you use your computer for more than just PIM tasks. Most people are not constantly in need of mail, calendar, etc. It should be possible to close the whole KDEPIM subsystem in a more agile way than typing “akonadictl stop”, and especially not to restart by itself whenever it wants (for example when using Krunner for a simple mathematical operation), nor is it necessary that if only Kmail is launched, with Akonadi previously turned off, the whole KDEPIM subsystem is put into operation and the contact books, calendars, Akregator news, etc. start to synchronize when I only want to read the mail. With a switch (or switches) in the form of a button, no need to type, which can be placed on the panel, KDEPIM will still be a mastodon, but at least the user could decide when he wants it to be active and when it is not or which parts and which not.


    • Hello Diego,

      Kube and Kontact have a slightly different audience – Kontact is aimed at power-users who require advanced features, so Kube is not really an replacement but an alternative to Kontact.

      Regarding Akonadi using a lot of memory and resources, you are absolutely correct that the way Akonadi behaves right now is not the most ideal. I hope that one day we will be able to reduce the resource usage and make Akonadi able to start and stop Akonadi automatically on demand. And that maybe you will be able to come back to Kontact one day :)

      • Diego

        Thank you for your kind answer. I will be aware of the developments (Thunderbird does his job well, but it is not comparable to Kontact, whom I miss). I hope that a good number of computer scientists and students will join you and get to make Kontact THE ultimate communications suite, hehe…


Comments are closed.