5 March 2010, 16:42
Last weekend I was at the Krita sprint, to work with them on defining their product vision. And hey, while I was there anyway, I could also help them with some UI first aid. Krita could simply not continue without having a vision. Without a clear definition of what they are trying to achieve, the project was threatening to go nowhere, at an ever-slower pace.
Now, I would hate to see that happen. Similar to the Beatles and the Stones, the animosity between free/libre graphics projects is blown out of proportion by the fans. The Jagger, Richards, Lennon and McCartneys of GIMP and Krita get along just fine.
GIMP definitely does not try to be the graphics application for everyone. So there is plenty of room for other applications to address user needs that GIMP does not want to cover. And although GIMP, Krita and other apps may have quite a bit overlapping functionality, their product visions may be different enough to prevent them from being direct competitors.
Even then, I would not have been upset if a large overlap with GIMP had been the result of Krita’s vision. I was simply curious to find out what it was. So I offered my services and got to play Mr. Wolf for a weekend.
life is a beach
These days I have have some criteria for doing pro bono jobs like this. Is it going to be fun? Is my work going to be appreciated? Am I going to work with some great people? Do I look forward to the travel and the location? It better be good. The Krita sprint ticked all the boxes.
Hospitality was great and the location could not be farther opposite to ‘air conditioned conference room at the airport hotel.’ Working in the living room of an old house in the middle of the historical town centre is a treat. I had never been in Deventer, but it turned out to be almost an open‑air museum of a cute, old Dutch town.
hashing it out
Our vision session was on Saturday morning and it felt very much like when I started working with GIMP: OK, it’s a graphics application but what are they trying to achieve? The impact of this was demonstrated the night before, when the Krita team was discussing some of their UI problems and I realised that without a product vision I simply was not able to help them in a meaningful way.
So on that morning we sat down and I explained to them that I was there as the interaction consultant and not as the‐man‐from‐GIMP; that I always do this method at the beginning of all my projects, starting as a complete outsider; that it is their vision, because Krita is their life; but also that their vision has to be formulated through the eyes of users (they don’t care that Krita is written in C++, for instance).
Then I set them off with the three magic questions—what is it, who is it for and where is the value?—and moderated the session from there on. I made sure that we got definite answers on all the questions, even when having to make a choice was no fun. I also made them realise how much hard work there was involved with stating to support certain user needs.
Before I travelled to Deventer I was both anxious and curious about the Krita–KOffice situation: a paint app with natural brushes as part off an office suite? The discussion of this took its time, stretching our session beyond lunch.
Essentially, all I had to do was show them that there were only two options (make sense of Krita being part of KOffice, or leave) and insist that they did not dodge the question. It turned out that Krita was already on a path of severing ties with KOffice and we reflected that in the vision by not mentioning the latter at all.
putting it all together
After the session I wrote up the vision, short and sharp, I like it that way, so it can be used as a tool in the project. After useful feedback by the Krita team and a final adjustment, it was ready for prime time:
‘Krita is a KDE program for sketching and painting, offering an end–to–end solution for creating digital painting files from scratch by masters.
‘Fields of painting that Krita explicitly supports are concept art, creation of comics and textures for rendering.
‘Modelled on existing real‐world painting materials and workflows, Krita supports creative working by getting out of the way and with snappy response.’the Krita product vision, as written by ps
I am really happy how coherent their vision turned out to be. Funny enough, there is about zero overlap with the product vision of GIMP.
Krita’s maintainer, Boudewijn Rempt, did an excellent write‑up of the far reaching implications of this compact vision. After he published it, he remarked that he could feel how carefully the words had been chosen and placed by me. Yes: nothing is a coincidence in there, it all fits together like an intricate puzzle.
The product vision was immediately placed on the Krita website, signalling what was already going on at the sprint: thinking, designing and working in a new, clear context.
Suddenly there was a clear basis for deciding which plugins should be removed from the standard distribution and moved to a online repository of user‐installed options. The vector tools are receiving a hard look at the moment, now that the focus is so solidly on painting from scratch.
the Bonnie situation
With a product vision, I was able to help them with many a UI topic. We worked on the pop‑up palette; brush engine parameter input; the overall activity of setting up a brush, just right; brush presets, managing and using them; a strategy for dockers and dialogs on screens small and large.
I brainstormed UI ideas; rejected many bad UI solutions from a passel of other paint and pixel apps; made concrete solutions; outlined direction for big issues; connected the dots between related UI issues; concentrated on what it should feel like to work with Krita; I showed how even within the compact scope of the vision, plenty of diverse use has to be supported.
One thing I emphasised was to move away from ‘how would I like it’/input of a few users/looking at other apps for UI solutions. That is not the way to create UI, I’m afraid. Instead, the Krita guys should build up an understanding of the activity of many users that fit their vision and always make solutions for a hundred thousand of them.
It was interesting to see for me that solutions that I am working at for GIMP would not be fitting for Krita. This is not only a matter of having different visions—although it suffices. I noticed that also the different as‑is situation creates different context and leads to different UI solutions.
Wrapping up, I want to thank the Krita team for the great cooperation during the sprint weekend. At times it was quite intense, but always in a positive atmosphere. It is very gratifying for me to see in Boudewijn’s and Cyrille’s blog how they are charging ahead with their new‐found élan.
If you like to ask Peter one burning question and talk about it for ten minutes, then check out his available officehours.
What is Peter up to? See his /now page.