digiKam

Professional Photo Management with the Power of Open Source

GSoC: Non-destructive image editing for digiKam

by Martin Klapetek

Hello to all the great KDE people and especially digiKam fans!

My full name is Martin Klapetek, but everyone calls me Marty and I can be found on most services like IM or IRC by the name mck182. I'm 22 and I'm from Czech republic and ever since I started with Linux, I immediately become a huge fan of KDE (3.5 back then). I'm a terrible musician (playing guitar, bass guitar, sometimes even piano [you don't want to be there]), promising art painter and hopefully-soon-to-be graduated college student with bachelor's degree in Computer Science.

I've been accepted to this year's Google Summer of Code with project to enable non-destructive image editing and image versioning for digiKam.

I'm very keen on taking photos and I've been using Google's Picasa for organizing the quantum of pictures I've taken. But the Linux version was more and more unusable lately for me, mainly because problems with multilibs (I'm running 64bit system and Picasa needs 32bit Qt libs and I'm using non-official-distro Qt packages, so there were some conflicts) and also because I hate it's wine-ish look & feel (& speed) and non-integrationess. So I've decided to use something more KDE fashioned and the sight was set on digiKam.

I like Picasa's possibility to edit your images in any way and then anytime you come back and feel like it's not good enough, you can simply reset the image to its original state and start over. This is the feature I'd like to bring to digiKam during this summer. This will go along with feature for having multiple versions with different modifications of one image and easily switching between them.

The non-destructive editing will work fully automated. Now when you do some changes eg. use some filters or adjust levels, you need to save your image first and if you just save, you lose the original. With the non-destructive editing, it will automatically create new version from the original and it will store all the changes there, all without bothering user about saving the image and without actually touching the original. Every time you switch to the original and start new modifications, it will create another version alongside with the first one. Each version will also be manually forkable to another new version.

That's in short my project for GSoC 2010. I'm very excited to finally do some real work for KDE and to contribute to the world of open source. I'm looking forward to work with the already-shown-to-be-awesome people from digiKam team and especially with Marcel Wiesweg, my mentor :)

I wish happy coding and lots of fun to all the accepted students. Let's make KDE proud of us :)

Marty

PS: More detailed posts will come when the real work will start ;)