Hacker Public Radio

Your ideas, projects, opinions - podcasted.

New episodes Monday through Friday.


HPR4157: Talking with Halla about the past and future of Krita for its 25th birthday

Hosted by Trollercoaster on 2024-07-09 00:00:00
Download or Listen

For the occasion of 25 years of Krita and in preparation of Software Freedom Day in September 21st of this year, we wanted to talk with Halla, the lead maintainer of this great project.
We asked around and Arnoud stepped up and offered to visit Halla to ask some questions about the project's history and future.

The talk is also available as a video on the PeerTube instance of the Digital Freedom Foundation.
If you know what Software Freedom Day is, I'm confident that your heart warms up with fond memories.
If you don't know what it is, have a look at digitalfreedoms.org/sfd for more info.
Basically, it's a grassroots movement from local teams organizing events to tell others about the benefits and importance of software freedom.

If you would consider organizing Software Freedom Day where you live, don't hesitate to visit the blog on our site, and get some inspiration for what you could do.

With that said, let's listen to the interview between Arnoud and Halla.
Enjoy it!


Today we're interviewing Halla, who is the lead maintainer of Krita, to learn all about it and to hear where the project has been and where it's going.
Halla, to start us off, could you tell us a little bit about what Krita is?

Sure. I love telling people about Krita.
So Krita is a digital painting application.
It's meant to make art from scratch, both still images and animations.
So we've got a huge number of brush engines, color spaces for people who need to print and lots of features really focused at creating art from start.

For what kind of illustrations would you use Krita?

Pretty much everything. I've seen so many different artworks, different styles.
People are working on comics in Krita.
People are working with illustrations.
There are people who design those trade book card with Krita.
Games, I mean, whole animated games, like platform games.
It's used for all that sort of thing, for everything, in every style, in pretty much every country in the world.

Wow. Uh, are there any publications we might know about that have used images created in Krita?

There are so many! We got sent a copy of a book on American wild birds.
That was entirely done in Krita.

Wow, cool.
Talk a little bit about yourself. What role did you play in the creation of Krita?

This year Krita is 25 years old.
Which meant I wasn't there at the absolute beginning.

So, in 2003, my parents gave me for my birthday a really small graphics tablet, a Wacom Graphire.
And I wanted to use it to draw a map for a fantasy novel I was writing back then.
The novel never got finished, because of course I wanted to use Linux as my desktop operating system.
And I sort of couldn't get into GIMP, and I started looking around for an application other than GIMP that I could maybe improve or could maybe be good enough.

Well, I found Krita.
In 2003, it had already gone through three names: KImageShop. That didn't last long. Krayon. That didn't last long either. And it was finally called Krita.
It has also gone through three complete rewrites.
So when I started working on Krita in 2003, it didn't even have a brush tool.
You could open images, add images as layers, and move the layers around.
And that was everything.

So, it was a really good place to get started.
Except, of course, that it turns out that I'm not a genius.
I'm not even a computer scientist.
I mean, I'm a linguist.
And writing a good brush engine is pretty difficult.

So, I started blogging about how I was completely failing at creating a nice brush engine. And how is was failing.
That turned out to be a turning point for the project because people saw that: "Oh, there's someone working on it, and they're not making any progress, mmm, I will take a look as well." They started getting enthusiastic and pretty soon after 2004, we already had our fourth complete core rewrite.
So that's how I got started.

So how many people were involved in the Krita community by that time?

Mid 2004, it was about a dozen.
Krita was still part of KOffice, which was KDE's suite of productivity applications.
And KOffice developed that still, because they were porting from one document format to another document format.

But suddenly there was an application that we really wanted to release. And that's when KOffice got released again as well.
So it's a bit hard to say how many people are actually working on Krita because there were also some people working on the core libraries that every application used, but say a dozen.

And can you speak a little bit about how the community evolved since?

Yes. Until around 2006, we didn't really have a focus. Krita was a GIMP clone or a Photoshop clone. And, in 2006, David Revoy, a French artist who only uses free software, tried Krita, and he told us it's no good. While we thought we had quite a nice application by then.

Afterwards, we started taking this very seriously. So, when we have a sprint, we also invite artists.
We actually videotape the artists working with Krita.
And that's for the developers a really nice way of getting to know where the bottlenecks are for users.
So because we involved artists, our developer community also started to grow.

At some point of time, most growth came through Google Summer of Code, but those days are over.
That program is not doing a lot anymore. We've only got one student this year.
So that started the second phase. Let's make Krita good enough for David Revoy.

We also invited Peter Sicking to a print.
Peter Sicking is the guy who was involved in defining the mission statement for GIMP.
He sat down with us and asked us: "What do you really want to do?" Make Krita good for David Revoy.
That's a bit thin as a mission statement.
So we came up with we want to make Krita purely a painting application.
Sure, there are filters and other stuff, but if it's good for painting, it goes in.

So we started working on that and that took quite a long time to get there, especially because we were stupid.
We started doing a complete rewrite in 2007 of everything.
That was the fifth.
So, that continued, everyone was working on Krita as a hobby. Most people were still students, until our Slovak student, Lukáš, was working on his thesis.
And his thesis was brush engines for Krita.
And of course he got 10 out of 10 because he could show his professors that he had created real software that was used by real people all over the world.
And then he was like, okay, I'm almost done with university.
What should I do? If you guys can pay my rent, then I can work on Krita full time.
If not, I'm going to flip burgers.
So I ask him what his rent was. It was like 35 euros a month.
So I thought, well, let's do a fundraiser and we can pay you for, say, six months.
Six months turned into a year.
And after that, Lukas got a job at a different company, but it started sponsored development.

And that's been really important for the growth of our community, because by now there are six people working full time on Krita.
The second student we hired on graduation was Dmitry Kazakov, a Russian guy, and he's currently our lead developer.
So because we're all there, lots of volunteer developers can see that their patches and merge requests get reviewed, they get merged and that makes people happy.
So we have a really healthy mix right now of sponsors and volunteer developers.

That sounds great. You mentioned sprints a couple of times, can you tell us a little bit more about how that is organized?

In theory, we organize one big sprint a year.
Of course, it hasn't been possible.
Some people have had to flee Russia, for instance.
So visa problems are real problems.
And the way it mostly used to happen was I would invite everyone to Deventer, have some people sleep upstairs, in our spare bedrooms.
And the rest would go to Hotel Royale in Deventer, which has two big rooms on the top floor.

Then we'd go down in the cellar of the church. It's a 12th century cellar. Really roomy, and we would just do some hacking, then do a meeting.
And in the evenings, we would go out for dinner, and just get to know each other better.
One thing that I really miss about sprints, or rather not having sprints, is the time we would spend in my study over there.
Just, just a couple of us.
The rest would be hacking around.
And we would try to just go through the list of bug reports.
And for us, sprints are fun.
We also invite developers, artists, documentation writers.

Yeah, that sounds like a lot of fun.
So, if a new contributor would like to join Krita, what would be the typical on ramps that they could come into?

It used to be that people would mostly join us on IRC. Nowadays, we also have Matrix, because building Krita from scratch is not easy.
But we've got a great manual for that by now.
So either people join us on IRC and ask for help building Krita, and then maybe ask, do you know a nice bug or feature ish that I could start working on?

And then we, we'd help them with that.
But these days it's mostly people who out of the blue, post a merge request on KDE's GitLab instance.
And then we're "Oh, this person from Serbia, this person from Denmark, they have suddenly have a really nice patch!" And sometimes a patch needs to be improved.
Sometimes it can go in as is.
And then we try to get them, in our chat channel, because that's still the place where we have most development discussions.
And the mailing list is almost dead, but that holds for many mailing lists.
After that, once you've got three merge requests in Krita, merged into Krita, we will ask you: "Do you want to have a developer account, so you can review other people's work, merge it, get full access to everything?" And sometimes they are "Yes, I've always wanted that", and sometimes "I'm not really comfortable with that, I just want to send you more patches", and that's fine.

Sounds great.
In terms of features, are there any particular features of Krita that you're particularly proud of, or that sets Krita apart from other drawing programs?

Over the years, we had a number of firsts.
Like, before Adobe even knew that OpenGL existed, we had a hardware accelerated canvas implementation.
Then, about the same year, I think it was 2005, we implemented support for all kinds of color models.
Like CMYK, LAB, also painterly color models.
That's stuff that tries to mix spectral wavelengths to simulate the way paint mixes.

That feature is out because it never worked well enough.
Then we got, I think, a really nice way of doing animations.
Of course the brush engines are great.

Oh, and this is something that almost nobody knows, but we support painting in HDR.
So color values lower than zero and bigger than one, fully dynamic.

And the way we work with those images is compatible with the way Blender imports images.

So, you mentioned Blender, are there any other products that Krita works particularly well with, or that are nice complements to Krita?

Scribus. Scribus is a desktop publishing application, it's also free software.
Development is a bit slow at the moment, but it's really solid.
We used it for our 2006, I think it was 2006, Krita art book, for instance.
And Inkscape of course, as well.

Krita does have vector layers, and they are quite advanced, but still Inkscape is a really good complement.
Krita and Inkscape are the only applications that currently implement the W3C mesh gradient standard.

Cool, and in terms of current development, which features are you most excited about which are coming up?

What's coming up is the port of Qt6, new version of our development library.
That's going to really eat development time.
But again, we've got some volunteers who already started working on that.

I'm not sure I'm really excited about it, but, but we have to investigate it. We are looking into AI assisted inking.
So you would train Krita on the way you would normally ink your sketches.
And then Krita should be able to semi-automatically ink your sketches for you.
Because for many artists inking is a bit of a boring step, because when you're doing inking, you're often really, really careful.
And that means that the lines are a bit, often a bit deader compared to the sketch, um, Trying to use AI to assist with that is something we are investigating.

We are working on that together with Intel because Intel is one of our corporate sponsors.
But we are also doing all kinds of projects with Intel. Like, Intel also worked with us on that HDR feature, for instance.

Oh, and text. That's, that's important as well. Volterra has been working on that.
The text shape and the text tool, like the object that contains text on canvas and the tool that modifies it are of course two different projects.
This will implement full SVG to text including CSS, ligatures, font features and everything.
And she's already implemented it.
And the text shape itself, it can do vertical text, like for Chinese or Japanese.

It can do Ruby, which is the furigana, the small, text that in Japanese you put next to the kanji, the Chinese derived characters, so you know how to pronounce them.
And she's now working on the UI, and, and it's something we've wanted to start working on, uh, years ago already, I think it was 2017.

Actually, I was working on that, but then I was distracted by the Dutch tax office which wanted to have money.
And I had to do difficult stuff and hire accountants and so on.
And it's not easy being a manager.

So that's the two big things that are coming, hopefully: The experimental assisted inking an a super deluxe text tool.

Cool.
So what does your release schedule look like? Do you have set dates or is it ready when it's ready?

Ready when it's ready, but it's often ready.
If our infrastructure is working correctly, then we typically do a bugfix release every two months.

There have been years when we did one every month, but that was just eating up too much of our time. We try to have one or two full feature releases a year as well.
Of course, we moved from Jenkins as our binary factory platform to GitLab CI.
And that means we haven't been able to do a release for six months because so many bits needed fixing, bits were broken.
The whole pipeline had to be rewritten.
But that's done now.
So we just released 5.2.3 beta 1. And we hope to do the 5.3 pretty soon, which is a bug fix release.
And 5.3 will be a feature release again.
I think we've got almost enough features in there. We're only waiting for the text tool to be completed.

That sounds great.
In terms of, uh, volunteers, are there any areas that you would really appreciate someone helping out and looking into things?

Android experts, because our Android expert started at a very difficult university and doesn't have any spare time anymore.
And Android is, is a difficult platform.
Platform itself, the libraries, it changes all the time.

We do have a UX designer, Scott Petrovic, but more help there would also be welcome.

And for the rest, it's actually mostly not what we wish to be done, but what volunteers wish to do and most work is welcome.

Sounds great. On the topic of platforms, which platforms does Krita support right now?

That's Linux.
We prefer our own binary builds in AppImage format because we have to patch a lot of the libraries that Krita depends on.
Windows, MacOS, Android.
If and when iPadOS gets opened up, we might port to iOS.
But both for iOS and Android, Oh, we also support Chrome OS, but that's Android.
For iPadOS and Android, so tablet form factor, we really want to optimize our user interface for touch and for that we need to have the port to Qt6 done.
So that's going to take some time.

Sounds like there's a lot of exciting things coming.
I think that's all I have for you today. So I'd like to really thank you for taking the time to speak to us.

It was a pleasure. Um, is there any things we haven't covered that you would like to, uh, talk about?

Oh, I want to brag a bit.

Go for it.

Because we have about 7 million users.
That's quite a lot.
I mean, I used to do commercial software development.
And most of the companies we worked for never ever released.
So that makes it so much more fun to work on.

Yeah, that's genuinely amazing.
Awesome. Thank you very much.

Thank you, too.

HPR Comments


Kevin O'Brien says: I loved the show

RE: hpr4157::2024-07-09 Talking with Halla about the past and future of Krita for its 25th birthday by Trollercoaster
00:22:20 Listen in ogg, spx, or mp3 format.
It was great hearing more about Krita. That is one of the packages I like to use. If anyone wants to see what you can do with it, check out the Webcomic Pepper and Carrot, by David Revoy

Mastodon Comments


Ken Fallon (PA7KEN, G5KEN)

@hpr

Krita is celebrating its 25 birthday. Let's celebrate this together on Software Freedom Day!

Today on the #HackerPublicRadio #Community #Podcast

#HPR ❤️ #CreativeCommons

hackerpublicradio.org/eps/hpr4



More Information...


Copyright Information

Unless otherwise stated, our shows are released under a Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.

The HPR Website Design is released to the Public Domain.