Looong day! And lots of fun was had by all. The morning we did have the "Artist's Demo and Gripe Event". All artists present had roughly half an hour to work with Krita -- and they we allowed to complain to their heart's content. We have made a screencast of the painting process, as well as an audio recording of the discussions. Kubuntiac (a.k.a. Bugsbane) has promised to combine the two in a nice video!
And Bugsbane (a.k.a. Kubuntiac) was the first to give us a go. Contrary to his name, He also showed up the largest number of bugs, as if they were curiously attracted to him.

Animtim followed on, showing his way of using the sketchbrush to sketch and then ink a comic book character, and following up with the color fill. Bugsbane immediately begged Animtim for his sketch brush presets.

Silvio Heinrich's style isn't very suited to a short demo, since he tends to build up his images layer by layer, starting with grayscale, following up with more and more color layers in an almost painterly way:

David Revoy was the last artist to give us a demonstration of his way of working. He had to keep reminding himself not to merge layers -- there's not much need for that with Krita. But on the other hand, he had the largest number of niggles and problems. Some of which got solved this same evening.

One of the things we learned was that every artist has a highly individual way of working, and even for the artists each others workflow had a few surprised. And we have got a huge set of workflow issues, gripes, niggles and suggestions for improvement that Pentalis is now bringing into order. Then it's time to put them in bugzilla, set priorities and start working on Krita, the Next Level.
We spent the rest of the day discussing the plans for 2011, what the focus will be, what the developers who are still sponsored by Silvo Grosso (who joined us for the day!) will work on, what the future holds for exciting plans to bring Krita to the attention of artists anywhere -- and then it was hacking time!
(In case you missed it, the blog for yesterday appeared on valdyas.org)
Last week Lukas and Animtim gave a joint presentation on Krita at the 2011 Libre Graphics Meeting in Montreal. It was a great success! One of the people in the audience was Linux Weekly News Nathan Willis, who the same week published his take on the presentation. It's now freely readable, and well worth reading!
I've been wanting to sit down and write a little update on Krita all week -- but was too busy. And that while so much has been happening. The most exciting news are the four Google Summer of Code projects -- well, maybe more properly three, with one being shared with Calligra.
Dmitry Kazakov, who last year made Krita's projection update stack -- the bit that computes the final images from your layers -- multithreaded and determinitistic will work this year on making all the tools multithreaded and queued. This will make Krita even more responsive and even more importantly, much more stable.
Srikanth Tiyyagura will improve the resource handling in Calligra beyond all recognitions. Right now, handling resources is mostly a manual thing -- you can copy your patterns, gradients, brushes and presets to the right place in your .kde/share/apps/krita directory, and remove them manually. He will make adding new resources, deleting existing resources (or rather, hiding them), getting resources from a Get Hot New Stuff server. And then he will implement tagging (to be compatible with Gimp's resource tagging, and finally tagging of images to create a sketchbook interface for Krita. This will integrate with Nepomuk.
Bruno Morais Ferreira wants to add a new selection tool to Krita, using the SIOX algorithm. If time permits, he might also spend some time improving the existing selection tools. This neatly ties in with the work Dmitry is doing as a sponsored Krita developer together with Sven Langkamp on improving the actual selection data structures.
Siddharth Sharma has already started working on the PSD import/export filter work for his summer of code proposal. Since Adobe has opened up the specs for the CS version of photoshop, writing a psd filter no longer involves a lot of reverse engineering -- merely a little, since experience tells us that the spec seldom is very accurate or up to date. Okteta might yet see a great deal of use! The plan is to do both import and export!
Of course, this is not all: in a week, the Libre Graphics Meeting will be held in Montreal. Lukas Tvrdy will present the latest developments in Krita, Timothy Giet will give a workshop on drawing comics with Krita and Boudewijn will be around to give a personal introduction to Krita to any artist willing to listen and play -- and he will be giving a presentation on Krita to graphics professionals at the Saturday event.
And one week after the Libre Graphics Meeting, Krita developers and users from all over the world will get together in Amsterdam, where the Blender Institute has graciously made available a room for us to gather and discuss the next stage in Krita's development. We already have had some preliminary discussions with artists David Revoy and Timothy Giet which pointed us in one very clear direction: polish, polish, polish!
Code
Lukas Tvrdy pushed his improvements to the sketch brush to master. The sketch brush is very popular with artists, and these changes allow artists to associated sensors with properties like offset scale, density or line width. These sensors can be input from your tablet like pressure, but also randomness, speed, distance... The sketch brush already made for very lively lines, but it's even better now!
Srikanth Tiyyagura started working on fixing up the Krita dialog boxes. We were still using the old QGridLayout class to layout dialogs everywhere, but the newer QFormLayout is preferred because it adapts the layout of labers and input widgets to platform standards. It's not done yet, but when done, it will make Krita blend in much better with a Gnome desktop environment, for instance.
Geoffrey Song made it possible to compile Krita with an alternative compiler, Clang -- but more importantly, did some hefty optimization work in the ruler assistant and the circle mask generator. The latter is used every dab of every stroke with the circular autobrush to calculate the mask. Any performance improvement there translates directly to a better painting experience!
Cyrille Berger fixed a bug in our superslider's look and feel when using the Qt Curve style: this was done at the KDE UX Sprint. He also made it possible to save jpg and png files in directories with non-ascii names.
Silvio Heinrich spent a lot of effort on fixing Krita and pigment's composite operations and added a channel alpha lock option. Here we hit a conceptual difficulty. As Silvio explained:
Right now we are trying to maintain compatibility with Gimp and Photoshop but this two applications really behave different when it comes down to compositing. For compositing Photoshop uses some kind of weighted average (or whatever) to mix the source color into the resulting color and recalculates the alpha value accordingly when the destination color is semi transparent but Photoshop does this only for compositing while painting.
And you can disable this by locking the alpha channel in Photoshop. Gimp doesn't use this at all (besides the "Normal" blending mode"). Gimp behaves for all blending modes expect "Normal" like if the alpha channel is locked.
And now we are here with Krita.
Krita doesn't distinguish internally between compositing the brush strokes and layer composition (it uses the same code). To make it compatible to Photoshop I implemented the blending mode computations after the specs of Adobe. And since Krita doesn't distinguish between the two compositing types I only could bring this all together by adding the "disable alpha" button so that the user can choose what he/she prefers.
So now we have a new button in the layerbox that allow you to chose the blending behaviour you prefer. It took a bit of effort to get compatibility with old Krita files back. And then Silvio and Cyrille investigated a bug in using selections with 16 bit integer/channel colorspaces. Some good detectve work by Cyrille resulted in a fix by Silvio -- much needed, since more and more artists are discovering that working in 16 bit/integer rgba gives much nicer results!
Pierre Stirnweiss> fixed compilation of Krita with Microsoft Visual C++ -- one day we will get Krita packages on windows!
Dmitry Kazakov finally fixed a bunch of memory leaks before having to go into hiding because of a gruelling university assignment!
Envoi
See you soon! Give Krita a try and join the growing band of master users of Krita master! Let's end with a nice bit of art by André Vaz:

Nathan Willis has published the first review of Krita 2.3: Modern Art: A Look at Krita 2.3 . Well worth a read! Soon the first snapshot release of Calligra will be out, which will contain a Krita with heaps of new features, but as Nathan says: Krita 2.3 (now at revision 2.3.3) is well worth giving a try! Your distribution most likely packages it already.
Busy times ahead... We're working towards the first snapshot release of Calligra, which will be taken from git master. And git master already contains many delectable improvements over Krita 2.3.x... And the Calligra sprint in Berlin is coming up, as well as the Krita sprint in Amsterdam and Libre Graphics Meeting in Montreal. And then it's time for Akademy, again in Berlin.
Code
We had a couple of really nice contributions from newcomers in the past few weeks! Bug fixes and even some feature development.
Srikanth Tiyyagura implemented a long standing wish: the ability to split an image into a number of tiles. He's still working on refining his patch, but the first part has been committed. Srikanth has also been fixing bugs in the layerbox.
Valentin Cheillon fixed a bug in the filter dialog: the scrollwheel whould change the active filter instead of scroll through the list of filters. He's now looking into fixing some more bugs.
Geoffry Song improved a very important part of Krita: the smoothing of freehand lines. This is something that I already blogged about in 2004. Since then, many people have contributed improvements: Adrian Page, Cyrille Berger, Bart Coppens and many others. I guess the work is never done -- it is kind of a tough problem -- but with Geoffry's latest work we have something really nice.
Silvio Heinrich created a new "smudge" brush engine. Smudge between quotes because it's also a color mixing brush... And some iterations later, the speed is much improved! Already, David Revoy and Animtim have create create art with it:
Ryu by David Revoy

Ganesh by Animtim

Dmitry Kazakov, again sponsored by Silvio Grosso, has been working on fixing issues with really big images. While not perfect yet, the tile pooler is now useful again, even when using multi-layer images of about 10000x10000 pixels. The pooler mainly improves painting speed when starting a new stroke, and so is extremely important, even if it's a hidden feature.
Cyrille Berger has fixed a bug in the color profile handling in the pgn import/export code. He fixed bugs in tonemapping, improved the sensor handling, especially for brush footprint spacing
Marc Pegon fixed a bug in the transform tool: when scaling up/down an image using the transform tool from one of the corners when there is perspective, the corner now strictly 'follows' the mouse cursor.
Sven Langkamp merged the mypaint brush engine plugin into master, where it's available for every artist to test! He also fixed saving predefined (gimp-compatible) brushes: angle and scale were not saved, as well as locale problems in Krita brush presets. Sven made it possible to select different layers in different views on the same image: there's some fallout here, so please give the layer handling in the layer box a good test!
Lukáš Tvrdý has worked on improving the multihand tool some more: there's now support for an airbrush mode and you can mirror vertical, horizontal or both. He fixed the flickering of the experimental brush engine.
And more
Don't forget to checkout episode three of Wasted Mutants! And if you're in Montreal for the Libre Graphics Meeting, join Animtim in his Draw Comics With Krita workshop!
Soon it'll be time for the Libre Graphics Meeting again. Thanks to KDE e.V. sponsorship, Boudewijn, Lukas, Animtim and possibly also our webmaster, Bugsbane will attend! Animtim intends to give a workshop on painting comics with Krita (his third episode of Wasted Mutants is out!), Lukas a talk on the state of Krita, and I'll be around, ready to field any questions anyone might have!
The Libre Graphics Meeting is a completely unique conference in the free software world: it brings together developers from many projects, from GIMP to Krita, from MyPaint to Inkscape, from Scribus to F-Spot and many, many more. There are project presentations, lab sessions, workshops, meetings on interoperability... Last year, it was also attended by many artists and visionaries. The mix is totally invigorating!
The one thing that always bugs me, though, is how little attendance there is from graphics-related projects from the KDE worls. Come on! There should be people from Digikam, Gwenview, Kdenlive and so on. It's a really friendly, inspiring place! The Libre Graphics Meeting organization can also sponsor travel, which is why they have a yearly pledgie campaign, which I really recommend to you:


