March 22, 2020

State of KPhotoAlbum

As promised on our mailing list back in April 2019, we are doing semi-regular updates on the state of KPhotoAlbum. To increase the visibility, from now on we also publish these reports on our project website.

So, what happened since the last update and how did we hold up?

Integrating KPhotoAlbum closer with the greater KDE community

So far, this goal is doing quite well. A visible indicator of this is the new website, which is not just good-looking, but visually in line with other KDE project websites.

On a personal note, I went to FOSDEM this year. Unfortunately, my time with other KDE people was very limited (to put it mildly), as I was occupied with FSFE topics. I did, however, say hello at the KDE booth, and was very touched by the warm welcome there. Bhushan immediately recognised me and handed me a KDE nametag, and I had a nice chat with Nicolas about some Purpose issue I was having.

KIPI Deprecation and Purpose Integration

KPhotoAlbum 5.6 was the first major version with support for the Purpose plugin framework, and the last major version to support the now unmaintained KIPI plugin interface.

The Purpose plugin framework is already supported by a number of applications, such as Spectacle and Gwenview. At this time, Purpose plugins are focused around sharing images with devices or web services.

At its prime, KIPI had quite an assortment of useful plugins. If there is a specific feature that you would like to implement as a Purpose plugin, contact us so that we can make it happen.

The Great Refactoring

As promised, this goal will stay with us for the years to come. Still, we would have liked to spend more time on refactoring KPhotoAlbum to reduce the technical debt of the codebase.

What’s New?

Geolocation Mapping

KPhotoAlbum 5.7 will see a complete rewrite of our map feature.

We have spent a good amount of work into replacing libkgeomap with Marble. By using Marble directly instead of depending on libkgeomap as a wrapper, we could both simplify the code for our map widget (one less layer of abstraction) and add new features to the map.

On the downside, as with every rewrite, there may be some new bugs that we haven’t found yet.


Sometimes, a graphical user interface won’t cut it. For that reason, Robert has contributed the kpa-filter and kpa-merge scripts for working with database files on the commandline.

Robert is working on a replacement for kpa-merge, called kpa-util. The new script will allow users to add tags to existing categories, and to tag images without the need for a graphical user interface.

KDE Community Goals

The KDE community has decided on three goals to focus on for the next couple of years.

We already have some ideas on how to improve KPhotoAlbum regarding the Consistency goal. If you have further suggestions and ideas we would love to hear them!

— Johannes