Archive for March, 2010

Krita Hackfest 2010

March 12, 2010

Last saturday I came back from the Krita Hackfest 2010, after being eight days in Deventer. It was a really long, intense and amazing sprint.

The sprint started on friday when almost the whole Krita team came together. It was nice to see everyone again and also meet with Vera, Adam and Peter who I haven’t met before. We also got some lovely Krita t-shirts.

Creating a vision

The biggest part of Saturday was the vision session. Even though Krita existed for quite a long time it never really had a vision. Over time and with different developer teams the overall direction of Krita changed from being a GIMP replacement into a more painting oriented application. As a result we now have a vision (Peter, Boudewijn and Cyrille blogged about it) which focusses Krita on being a sketching and painting application.

It was quite surprising how many comments the blog posts triggered. They covered the whole range from “Pure awesomeness” to “very disappointed”. I think it shows that on hand the Krita is going into the right direction, but there is also some interest in a Krita based photo manipulation application. Fortunately almost everything in Krita is a plugin, so photo oriented features can continue as plugins even when they are not part of the main Krita package. Depending on developer interest there might even be another application based on Krita technology in the future. Once the switch to git is done it should also be easier to maintain these things.


As Boudewijn already wrote in this weeks Last week in Krita we spend the rest of the week on improving stability and performance. We also implemented several usability improvements that we discussed during the weekend.

I spend Sunday evening and Monday morning on replacing the old algorithm for brush outline. Now the brush outline works correctly even when zoomed and is a bit faster when moving the cursor. The code is now shared with the selection visualization too.

After that I continued with the paintop cleanup. Creating a new paintop in Krita is now very easy. A simple paintop needs only two classes (settings widget and the paintop itself) and Lukáš demonstrated that you can write a new paintop in few of minutes. Besides the cleanup I continued the work on the paintop presets, which can now show images that are cut out from the new scratchpad that Boudewijn created. The screenshot below shows the preset chooser with the scratchpad. Cyrille also did some nice work to reduce the size of the presets, so that they are mostly just a few kilobyte big even with the preview image.

Another cool things that we got out of the discussion on the weekend was the design for a new slider to replace KDoubleNumInput with a tablet friendly widget. After Boudewijn blogged about it Justin Noel created a very nice widget for us. After doing some small adjustments like double and exponential support the slider is now being integrated into Krita.

Visiting the Durian team

On thursday we visited the Durian team in Amsterdam. This was one of my highlights in this sprint. Ton Roosendaal showed us the Blender Institute, which was much bigger than I had expected. We attended one of the weekly meetings where every artist and developer show the work in the last week. In about two hours we saw some really amazing stuff like the the face of main character Sintel and some early dragon scences. I’m sure that the final movie will be fantastic. After that we went to a nice Thai restaurant nearby, where we had lots of inspiring discussions.

If you are interested in digital painting another DVD might be interesting: David Revoy, who does the concept art for Durian, creates a training course that can be pre-ordered from the Blender shop (Preview here).


The sprint was so much fun and such a nice time. My biggest thanks go to Boudewijn, Irina and their family for the amazing work they put into this sprint. Many thanks also to the Durian team for the opportunity to have a look at their work. Good luck with the rest of your project! And of course to KDE e.V and the community which made this sprint possible.