Skip to content

Akademy 2025

Saturday, 20 September 2025  |  Volker Krause

A week ago I attended the 2025 edition of KDE Akademy in Berlin, Germany.

Akademy

Akademy 2025 group photo, by Andy Betts.
Photo by Andy Betts

Akademy is a week of hanging out with old and new friends that also happens to have two days of presentations and multiple days of BoFs attached to it.

It was slightly weird hearing from public administration/public agencies in their talks how important digital sovereignty and public funding for FOSS are, it’s not like we haven’t been telling them for years and it’s them rather than us who are in a position to really change this. Anyway, I’d consider that a sign of success.

You’ll find a couple of reports about Akademy on Planet KDE already, I’ll focus on a few things I was involved in below.

Topics

Emergency and weather alerts

On Saturday I presented our work on free and open infrastructure for receiving emergency and weather alerts. My main goal was to collect input on how this should eventually be integrated client-side.

The plan there is now to have a module in Plasma’s System Settings to manage areas of interest and keep the current stand-alone app prototype as the thing that opens when receiving push notifications. We can then gradually expand that to have more things (such as Itinerary) manage relevant areas.

With more people installing the current prototype and the venue Wi-Fi being a bit flaky at times we also managed to identify an issue in our current push notification infrastructure, namely an unfortunate interaction between KDE’s UnifiedPush server and Qt’s broken HTTP2 implementation in 6.9.1.

Push-based alerts weren’t the only thing though, we also got a chance to test cell broadcast alerts during the week. Since last year the Linux Mobile stack has made big improvements there, receiving cell broadcasts now just works, including wakeup from suspend and Unicode decoding. We now merely miss Plasma Mobile UI for this.

Fairphone with phosh showing a cell broadcast popup.
Simulated cell broadcast with Unicode characters on a Linux phone.

On Thursday we then got a chance to test both of this in action, as Akademy once more coincided with Germany’s nation-wide alert infrastructure test.

Notification popup with highest urgency and the test alert message.
Plasma Desktop notification for the nation-wide test alert.

This worked flawlessly both for cell broadcasts and push notification, for the latter easily within the one minute latency the system is designed for.

Application windows showing a map of the affected area and additional information for the alert.
Details for the test alert.

Itinerary

And while my own (non-)travel to Akademy was very boring this year, others did provide ideas, test cases and merge requests:

Sensitive test documents

A challenge when working on the travel document extractor is that this often requires access to actual booking documents for development and testing. Those are donated by people, and full of their personal information. The current historically grown “trust me” approach without documented rules is far from ideal, and makes the people holding those documents single points of failures.

There had been several ideas already on how to improve this, but what I had missed until discussions during Akademy is that e.g. the Poppler and Okular team has exactly the same problem.

So rather than coming up with something for just Itinerary we’ll now look at a more general solution for this. Probably worth its own post eventually.

Notification configuration

While we have a cross-platform API for showing notifications we lack a way for application to show the platform-specific notification configuration dialog for themselves. That’s relevant on platforms where the presentation of notifications is controlled by the platform rather than the app itself (such as KDE’s Plasma or Android).

This isn’t particularly hard to implement when running in a Plasma host system, but it’s a bit more challenging for applications inside a Flatpak containment:

  • The notification configuration needs to see the application’s notifyrc file, either by the Flatpak exporting that or by Plasma looking into installed Flatpaks for this.
  • The application needs a way to open the corresponding configuration page. On the host this can be done by launching kcmshell with the right arguments, inside a Flatpak we’d probably need some kind of URL scheme for this.

Moving KMime to KDE Frameworks

I’d finally like to get the moving of PIM libraries back to KDE Frameworks going again. Being under Framework’s API stability guarantees would simplify a few things.

For this we now at least have a basic agreement that this should be done and what API details should be reviewed and possibly cleaned up beforehand. The biggest remaining task however is porting to the new API documentation infrastructure, which we’ll have to do for all other non-Frameworks libraries as well. Help very much welcome.

Flatpak and Flathub

There were also a couple of discussions around our own distribution of applications. There’s still some historic artifacts like external distributors having a one week lead time for getting access to release tarballs, while our own packaging can only start at the moment of the public announcement (and then takes a couple of days).

Albert kindly showed me how the automatic update monitoring infrastructure for Flatpak works. I could directly apply that for the Itinerary Flatpak (which thus will eventually have all features enabled on Flathub as well). Even more interesting though was discussing how that could be integrated with Craft so we can use that for our packages on all other platforms as well.

And finally I learned how I could log into Flathub to see validation errors for apps I’m responsible for. That’s very useful as so far I only hear about those by chance in random pastebins shared in unrelated chat channels. Well, in theory at least, as that doesn’t seem to actually work for my account unfortunately.

More events

Akademy was just the start into the autumn conference season for me, with the Open Transport Community Conference, the CAP Implementation Workshop 2025 and 39C3 still to come, next to the KDE PIM sprint in Paris and an OSM Hack Weekend or two.