Tech Over Tea - The Era Of GIMP 3 Is Upon Us | Jehan
Episode Date: March 21, 2025The day has finally GIMP 3 is actually here, when we recorded this we were still in RC3 but either way Jehan is here to talk about the state of the project, why it to so long to get here and much more....==========Support The Channel==========► Patreon: https://www.patreon.com/brodierobertson► Paypal: https://www.paypal.me/BrodieRobertsonVideo► Amazon USA: https://amzn.to/3d5gykF► Other Methods: https://cointr.ee/brodierobertson==========Guest Links==========Website: https://www.gimp.org/Release Notes: https://www.gimp.org/release-notes/gimp-3.0.html==========Support The Show==========► Patreon: https://www.patreon.com/brodierobertson► Paypal: https://www.paypal.me/BrodieRobertsonVideo► Amazon USA: https://amzn.to/3d5gykF► Other Methods: https://cointr.ee/brodierobertson=========Video Platforms==========🎥 YouTube: https://www.youtube.com/channel/UCBq5p-xOla8xhnrbhu8AIAg=========Audio Release=========🎵 RSS: https://anchor.fm/s/149fd51c/podcast/rss🎵 Apple Podcast:https://podcasts.apple.com/us/podcast/tech-over-tea/id1501727953🎵 Spotify: https://open.spotify.com/show/3IfFpfzlLo7OPsEnl4gbdM🎵 Google Podcast: https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy8xNDlmZDUxYy9wb2RjYXN0L3Jzcw==🎵 Anchor: https://anchor.fm/tech-over-tea==========Social Media==========🎤 Discord:https://discord.gg/PkMRVn9🐦 Twitter: https://twitter.com/TechOverTeaShow📷 Instagram: https://www.instagram.com/techovertea/🌐 Mastodon:https://mastodon.social/web/accounts/1093345==========Credits==========🎨 Channel Art:All my art has was created by Supercozmanhttps://twitter.com/Supercozmanhttps://www.instagram.com/supercozman_draws/DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase we may receive a small commission or other compensation.
Transcript
Discussion (0)
Good morning, good day, and good evening.
I'm as always your host, Brodie Robertson.
Um, your camera is constantly going in and out of focus.
So, uh, we'll see.
Yeah, we'll see what happens there.
Um, anyway, most people have probably heard of GIMP, but most people are also aware
that, you know, getting GIMP 3 out has taken quite a long time.
So today we have someone very heavily involved in the project who, you know, is here to talk about why it's taken so long,
what is coming with the new version, and basically just get us up to speed on the project.
How about you introduce yourself?
So hello, my name is Jérôme. And so I'm one of the two maintenance of GIMP.
And yeah, basically that's it.
Actually, I've gotten involved in GIMP
by working with an artist who, well, first time we tried GIMP by working with an artist.
Well, first time we tried GIMP, I mean, I don't know if it was exactly the first time
or not the first time, like GIMP would just crash
on like unplugging tablets, this kind of stuff.
So yeah, because it was GTK2 doesn't have any hotplug
and it was GTK2 doesn't have any hotplug.
It was crashing and well, it still doesn't have hotplug, but now it doesn't crash
because that's one of the fixes I did back then.
And yeah, so like, and at some point
we started to do like animation film project.
And that's how we got even more involved.
The more we went.
So yeah, the more I hacked on GIMP.
So how long have you been involved in the project?
I started, my first patch was 2012.
Okay.
So quite a while 2012. Okay. So.
It's quite a while now.
Yeah.
Sorry.
This is the first patch.
Yeah.
Now it's just the first patch is like,
like most developers first patch,
it was like, I think,
I think it was like an icon change.
Like I think it was on the playback animation,
playback small plugin, which is kind of crappy,
but that's only what you had.
And I wanted when you click play, it changed, I think, to pause icon or back play icon when you pause.
So very small patch, but then it was just a start.
Right. So obviously the project has changed quite a bit over these years.
Before we get to Gimp 3, which is obviously a big toolkit change, lots of really cool
changes coming in, just in the time that you've been involved in, was it already Gimp 2 when you
got involved or had not swapped into that yet?
got involved or had not swapped into that yet? Yeah, I think GIMP 2 has been like...
I think they got pretty quickly at GIMP 2.
I cannot tell you exactly what date, but it was long...
Because when I started, actually GIMP 8 was just released a few months before.
GIMP 8.0.
Because it was 2012, Gimp 8.
So, and I can tell you since when Gimp 2 started, but I think many years before this.
Oh, okay.
No, I just had a look at their release list.
2004 was Gimp 2.
Wow.
It has been quite a while, hasn't it?
Yeah.
So...
Yeah, just like, because I know there have been like a bunch of articles like that took
like 20 years or even 30 years from zero to three and everything. But actually a lot have happened because GIMP 2,
they were like actually the minor point version
between GIMP 2.6 and 2.8 was a lot of big changes
on 2.8 and 2.10 also.
So it's unlike, and since 2.10, we have like policy change.
And since 2010, we have policy change.
Also, we accepted the features in micro point releases.
So every 2010 version, like 2010.2, 2010.4, and everything, they all had very fancy new features.
It's not like it actually took 10 years
until nothing happened in between.
It's like a lot of stuff happened.
Right.
Whilst there hasn't been a toolkit rewrite,
there's been a lot of additional features added,
even though the toolkit rewrite has
been something that's kind of needed to happen for a while.
Yeah.
So basically, the toolkit rewrite had to happen. for a while. Yeah, so, yeah.
So basically the toolkit rewrite had to happen,
but it's also like, actually kind of,
depending on how you see it,
it was kind of already half there, even like,
I don't know, but like many, many years ago,
because we already had a GIMP Street build in a branch.
I mean, a GIMP Street, a build with GDKS Street.
Right, right.
Well, simply there were a lot of deprecated functions,
so the build was like full of warnings and everything,
because we're using deprecated functions
and there were various issues.
And so, yeah, we wanted to clean code.
And also like there's a second stuff,
which is like, we cannot say like,
oh, we just focus on GTKS3 and nothing happened
because then everybody who wants to implement
fancy cool features, they get depressed or whatever.
Like, what am I doing?
I just do crappy toolkit code.
Toolkit code is like, it's very boring stuff.
It's sometimes really depressing because it's like,
you are working for possibly months and so that at the end you hope
to get the same state as you were before basically. Right, right. Yeah, the idea is you're porting it
and trying not to regress features which I'm sure someone enjoys doing but it's not, you know,
working on exciting new features
like you know now we have non-destructive editing there's the
whole space invasion stuff that's been done you've got all of these gaggle
filters like that's the exciting stuff that really you know I can see why
people would enjoy doing that yeah yeah definitely like it's Actually, I think this last few years, I was one doing most of the boring
GTK port because other new contributors, they usually don't come and try to do this because
try to do this because it's normal. And it's kind of me as a maintainer,
well, we have at some point to go some stuff go forward.
So like the last big stuff I think which happened
was the whole GTK action,
which is basically the shortcuts and everything
and all what we call actions.
It's all like, all yeah, stuff or actions
which can be mapped to a shortcut basically.
So, and they were like GTK,
they had this concept GTK actions,
but they like, they moved it to,
well, no, they deleted it,
but there was a concept of deaction after this,
which was in a Jlib library.
And, but when they did this,
like basically a lot of features disappear
because since it was UI based,
but Jlib is just, it's not,
it's more all over the library.
So like basically like I don't remember what like probably
names even actions could not have like I mean I don't remember like a lot of
stuff disappeared so basically I had to re-implement a GIMP action, basically, all the action and that kind of stuff.
And redo all the also whole menus
when they were handled and everything.
And that's one of the annoying stuff for GTK 4
because it looks like they are going more and more
in this direction of saying that menus
are basically not interesting,
which kind of we disagree.
are basically not interesting, which we disagree.
So when I look at the GTK3 to GTK4 tutorial stuff,
I'm thinking, okay, that looks, I have not tried yet, but that looks like a lot of the stuff
which I spent months potting,
I will have to redo them again
because again, broke stuff in the wall.
Apparently, I don't know, I cannot say for sure,
but because there are a lot of stuff about menus
that is appearing and everything in the tutorial.
So I'll replace by other stuff
and I'm not sure if it will be good for us, we will see.
I definitely do want to talk more
about the GTK 4 stuff afterwards,
but just so people have an understanding
of sort of the kind of stuff that's changed.
I mean, it might be hard to think of
because it has been so long,
but what's something people might recognize that works now, but maybe just back when you were
getting involved just wasn't there? How much has the project really changed over this time?
Sorry, it just there was a bit where kind of false.
I was asking about over the time you've been involved in the project, what's something that
maybe people will recognise that has changed over that period? What's some... I know it's been a
while since you've been involved in the... a long time, but yeah, how much has the project really
changed over these years? Well, technically or non-technically?
Whatever comes to mind, something that I think that maybe people don't know
would be interesting to talk about.
Okay.
Because that's a non-technically part of something I said, I mentioned before,
for instance, the fact that we have a lot more release with features now.
Or me, that was something very important
that actually I started push it, I don't remember,
like just one or two years after I started contributing,
which is like, there were already this like huge span
of time where people would have just bug fixes releases,
but like four years.
And so we started with 2.10
because we knew when 2.10 was released
that it would again be quite some time
before game three will be released. So that was in 2018.
Yeah, exactly.
So then we said, okay, that's something
we started to be pushed before,
but then we said like, now this has,
at least now at micro point releases,
we will not do only bug fixes,
but also real features.
I think that's a huge change
because also like even for how Kim posts per se
because even though there is a lot of development,
people don't see it as well.
I mean, I've been, I mean,
I still see, read this kind of stuff right now,
but I think before it was even more like,
like Kim development was dead basically.
Everybody, even though a lot of was happening, but people will use
their home, they have bug fixes.
They think that nothing's happening.
So that's kind of stuff.
And I guess if a lot of work is being done in that, you know, 2.99
branch, that development branch, it's not things that people are generally
going to be seeing in the packages that are available on their distro.
So even though a lot of work is being done to get GIMP 3 ready, it can seem like
kind of nothing's really happened for a while. Especially when the latest, you know,
there might be a long period of time between different point releases that are available for
the 2.10 branch. Okay, sorry.
There was no phrase, but I'm not sure.
Sorry.
It's my English.
No, no, sorry, sorry.
I was saying that as you're doing a lot of work
in the development branch for three,
it might seem like nothing's happening
because most of the work is in that location.
But with the 2.10, even though things might be happening,
there's a long time between those point releases.
So it can seem to users when they just get a package
on the distro that kind of nothing is happening.
Oh, but actually 2.10 was like,
there were just like maybe three months between releases.
Like in the last maybe two years, they were more...
The span was longer and maybe even six or maybe more than six months.
Because we, yeah, like the last few years, like we really kind of focused more and more on Game 3 and got less features and everything.
Backported less features, I mean, but for the first maybe four years or something,
there were a lot of 2.10 releases, actually, where there were really a lot of development
side by side. And basically everything which we could easily backport to the version 2 series, we did basically.
Now even if it's very easy, we don't care too much about the 2 series, but for many
years actually, there were really side-by-side development quite active on both sides.
So, yeah, and that was important because we saw that people at least would see that something was
happening and even for developers because it's not only for people but for developers,
they give a patch and some very nice features and nobody sees it for many
years.
That's also something which maybe doesn't lot on, like trying to be very like to make developer wants
to stay around.
Like, and so like for me, one of the very big, yeah,
thing is like to have a nice community and everything.
Actually, one of my like stuff, which I like to say is like, Gimp is not just free software, it's community free everything. Actually, one of my stuff which I like to say is like Gimp is not just free software, it's community free software.
So that's something I really like because for me it's not, and you know, enjoying it.
And yeah, like I heard someone say like something is kind of like your friendly neighborhood.
And since then I reuse this sentence again a few times.
It's kind of like a friendly international neighborhood. So that's also something which I worked a lot to make it for GIMP.
Yeah, make it happen.
I think that's an interesting direction to go down.
It might be hard to guess an exact number, but how many people do you think are actively working on GIMP right now?
It depends on how your content, but...
I mean, they're like...
They're like, I would say like, they're like handful like, oh wait, I can't see.
Maybe five, five, six people were like really doing a regularly, but, you know, not maybe they won't
be there for a few months and then they come back or, but they're still regular contributors,
but like, and when they come, they just do one patch,
and they drop one patch, and like up, and they go back, and so yeah, it's how you count them,
so yeah, it's really different.
Like, say, if somebody was...
Oh, no, I'm sorry.
No, no, just, and so yeah, and then there is like some kind of tale of people just dropping one patch
and never coming back.
So yeah, sorry, go ahead.
No, I was going to say, if somebody was interested in GIMP, they like the project and they want
to go and do their first patch or they want to get involved in the project and help out
in some way, what would be the best way they could
go ahead and do so? Is there maybe some discussion place they can go to to start meeting people
and learn what they can work on? Or how would you direct people?
Well, if there is one discussion place, it's the Tracker GitLab or GitLab Tracker. And and even then we have a few repositories,
is the main one for code,
but like now we have one for UX discussions
because we thought it was nicer
if they were not like just lost inside the,
you know, the fixes and everything.
It was nicer for them to have like a dedicated place
to discussing about UX.
And I think in the end, I mean,
at least that's how I work
and that's how I started contributing to GIMP
but also like a whole bunch of software is like more like,
usually I think when you have a
problem with a software you just grab the code and just try to fix it and then you throw a patch
and then you see how people react and then you try to discuss from there. I mean I think that's
the most rewarding stuff because actually all the patch I've done in my life it was like basically for me,
you know. So, well, not anymore with GIMP because I'm the maintenance, I do also a lot of stuff,
not for me, but at least when I start, you know, like it's, I have a bug or I need a feature or
something like, and then like, I just fix it
and I give a patch and like after this discussion may come
and after you have to be patient anyway.
I mean, as anyone I had patches
which were never integrated in projects
and sometimes not even because people don't like it,
there were patches where nobody ever answers.
And then it's kind of my role also to nicely ping,
yes, this is my patch around, could you look at it?
And sometimes I do it when I really care,
but sometimes myself, I have a lot more high priority stuff
and that's life.
And then I just forget about it.
Maybe at some point I will get back to this and I just forget myself.
And I think there's also like a lot of this, which for newcomers,
they need also to get the vibe of this is like it's not end of the world,
not to have a batch accepted. And basically, I think it's, yeah, when, and then when they
have something they really want, they can discuss it. And even if people disagree with
them, then nicely, it's the important nicely, it's to try to convince the others. For instance, as a nightmare,
I am in game, I have the role to be the one saying, I don't look right, for instance, and
doesn't actually mean that it's wrong. It may mean that people will need to convince me, for instance. And I do the same when I
go to, I still do it regularly, I go to other trackers and I have a patch and I'm told that
I know it's not good or something or we don't want this feature and I have to convince them.
And that's, I think, my advice to people
who want to contribute to give, just do it.
And actually, we don't bite.
So we are quite welcoming.
Sometimes we may not answer immediately,
but that's also like,
they can ping nicely and they can, and everything can, we can discuss and everything and
just, just basically just, just do it as your great advice. I like that.
Yeah. So I want to touch on the most important question that I'm sure you've been asked many, many,
many times.
Why has Gimp 3 taken so long?
Well, it has taken quite a few years, but there are also a lot of kind of weird, weird of content in in my opinion at least. For instance, I was saying earlier, some people
say, oh yeah, 30 years to get to GIMP 3. Basically, they count GIMP 2.0, which was, you said, I think, in 2004, right? Yes. And so you say like 2004 to 2025 to make one release, but as I say, it's not one release,
a lot of happen.
And even this, you can like some people will say, oh, we first heard about like GIMP 3
and everything like 15 years ago or something like that.
But like when you actually look at the repository as a branch, a GIMP3 branch, I think it's
I may, but it's around there.
I may say something stupid, but I think it was around 2012, it started to branch out.
So, which means about the time when GIMP 2.8 was released.
And actually, and when you count the number of commits, basically, I'm not going to give a number
because I will probably ruin, but it's very few commits.
I mean, comparatively to what happened after,
between like basically this time
and 2018 when we really started to work on GIMP 3 after 210 release. So like,
they were like basically, it was like they were basically at this point, it was the state I was talking about where the GIMP would build
with GTK3.
So the work before 2010 was just, well, I mean, not 10 commits, but like, I don't remember,
but like a few dozen or whatever, like to make the code work on GTK3 but actually the real work
really the bigger part of the work was to 2018 so it's still a lot of years 2018 to 2025, but it's not like, like some people will say like it took like 15
years or 20 years or whatever. So and then so still why 2018 to 2025? Well, it's a lot
of work and basically and we wanted like there were a lot a few blockers when we had like basically
when we had like warnings like thousands of warnings I mean for us it was not acceptable
so people would say like hey it works you have a gtk3 build of course, people don't see the warnings because they don't combine.
But for us, we wanted to not release with all the warnings. That's why some of the stuff like the
GTK action, Gimp action call, which took a few months of work and everything, and that kind of
stuff which nobody was actually working on, really on. Basically nobody wanted to work on this.
So most of us were doing other stuff, basically.
Forgiveness, but I mean, we were implementing nice features
and cool stuff.
And then at some point, yeah, but then we still need
to do this and then we do this.
And then after we do something else.
we do this and then we do this. And then after we do something else.
So yeah, I like, okay, yeah, there was also this API.
API was, so it's not something very visible
to like the end user, but it's very important.
GIMP, so it's kind of a platform also
because we have plugins and everything.
And so we have an API, libgimp.
And we actually were quite strict about our API to be stable.
So basically it means once a plugin made in GIMP 3.0, made for GIMP 3.0,
has been made, it should still work for like 3.25, 3.26. So basically, right, there may be deprecations going on.
So when they will build a deprecation,
they will build it for GIMP 3.26,
it may be have a bunch of deprecated warnings,
but it will still build and it will still work.
So this kind of stuff.
So it means that, and since we changed quite a lot of stuff,
GIMP 3 API is not compatible with GIMP2.
We wanted to get it right,
because we brought everything already.
We don't want to break stuff again.
If possible, maybe GIMP4 can be still compatible
with GIMP3, I mean the API, if we did it right.
So yeah, that's something which really wanted to,
we wanted to, that took a lot of time,
that's not as visible, nobody,
I mean, except plugin developers, nobody sees this,
but it's, yeah, that's the kind of stuff
where I spent a lot of money.
I was like just checking every function and thinking, is it the best way or is it the
best logic and everything?
And maybe you should rename it somewhere, something else.
Or of course, not only this, there are problems we knew about and then we needed to fix them
in the API.
Yeah, a lot of this kind of stuff.
So as for stuff that's more visible to the user, were things like the space invasion work and
non-destructive editing and the improvements to multi-layer selection, things like that,
was that always the intention to bring that along with the first release of GIMP 3? Or is that something
that got added into the plan later on? So, space invasion, yes.
For anyone who's not aware of what space invasion is, sorry, I've been using that term. For anyone
who doesn't know what that actually means, can you just do a brief explanation for what? I like to do space invasion. I also, I can explain a bit what it is,
but it's actually something which probably not visible.
I mean, it's very visible to people who care,
but it's not visible to most people.
The ones who just want to do a quick edits.
Basically space invasion is like to be able to work
with any color spaces and everything and like for,
and do it right, correct mathematics basically.
And so it started like, it actually started maybe like 2010, I mean, like, many
years ago, and like, actually, it was added in bits in every version of GIMP. So it's
like continuous effort. It's not GIMP 3 has space invasion. They were also in GIMP 8 to 8 and GIMP to 10.
And in every small micro release,
maybe they were like fix about basically color correctness.
And so this one was always planned,
but it's kind of like basically long-term stuff.
It's just, it's adding CMYK as a core image format, not just for export, but like
an image format which you can work within GIMP, will be part of space innovation. So
it's not in GIMP, but when we will add this, that's kind of stuff
which we consider part of space invasion. So non-destructive effects. No, that was planned
for 3.2. Actually that was the whole stuff, like there was a whole, you know, like,
3.0 is about GTK3 and 3.2 is about lay effects.
Basically.
Right.
So, and we, so we had this contributor,
one of the main contributors now.
contributor, one ofise, same person.
So this person did a lot of very cool stuff
and one of them was on the Google Summer of Code,
they work on completing the UI part of Fourier Effects.
So it was not perfect since we are still fixing stuff,
but it's also working progress.
And at some point we saw that it was kind of good enough
to be like, oh yeah, we could stick to the plan
and go for three, three, two,
or we could just say it's just too cool to just kind of delay
this just because it was a plan made by some guys 10 years ago.
Right, right.
Basically.
So we managed it.
And now since then, we still to this day,
like I was just this morning looking at some code,
we are fixing stuff around this because a lot of,
basically it's a lot of assumption in code that,
because the code was already there,
it's also Gecko engine, the UI was already there. It's also Gaggle engine. The UI was not there.
And, but like until now, basically,
so code was like you made an effect
and it was already a node about our layer.
And, but the assumption was that it was going to be matched.
Or whatever you do,
either you can send your effect or you match match it and then it's inside the layer. But then this assumption is not right anymore. So that's why now we have a bunch of
places where you're clearly, oh yeah, okay, we didn't think about this here because of course
there was not supposed to be a layer effect
not about above this.
And so, yeah, this was not planned
but it's just, yeah, it's just how things go.
And yeah, I think it's kind of good illustration
of what I was saying earlier about like just do it.
And like, and it's also again,
our administration or the community parts,
community sites, because we do plans
because it's also for us,
plans is mostly for us actually.
It's because it helps us to organize.
But our plants are not like rocks.
That kind of stuff is like company way of doing stuff,
because they have thousands thousands of people and the
organization needs to be maybe a bit stricter basically. You know, you kind of just, not everybody
can like just do random stuff or maybe, actually maybe in, I don't see why, maybe in companies it
could also be more flexible like this. But you know, for know, for us, we're just a
bunch of people and everything. And like, our roadmaps, for
instance, they're like, they basically just reflect what
currently active developers are interested in. They're not like,
actually like, promise or, or real and basically a lot of items in the roadmap cool like either
disappear tomorrow if like a contributor so contributor wanted to work on this disappear
or like new roadmap items can't appear basically and that's that's what happened for the non-destructive editing, because this contributor wanted to work on this,
made this project on this, and it was a success.
So I just changed plans, basically.
And that's how things go, flexible development.
I've been using GIMP3 since, I think around RC1.
So it's been a while at this point.
And as someone who used it a lot, all of my thumbnails are made with GIMP.
I am so very happy that we have non-destructive editing and the
improvements to multi-layers, like where you can actually select more than one layer now and, you know,
move them around, group them together.
Cause before for anyone, for anyone who's using GIMP 2.10 still,
if you want to handle multi-layers, you have to put them into layer groups.
And it works, but it's, it's not convenient.
Just being able to click things and, you you know Move them around like you can in a lot of other tools
it makes it so it really does optimize my workflow a lot and
The non-destructive editing is very nice because now I can very easily reuse things
I don't have to make previously what I would do is I'd make a copy of the layer and then make it invisible and
It worked right, but it's just
Extra steps that I never wanted to do now if I make a mistake
I can just turn off the effect or I can change the settings of it. It's great. I love it
Yeah, like one of the big, big thing about non-destructive editing, also it's based on
the Gaggle engine, right?
And Gaggle operations, so filters, we call them Gaggle operations, they are themselves
kind of, I mean, Gaggle comes with a whole bunch
of default filters.
And that's what all the ones we have in Gimbal default,
but also we can, they can also be considered
as plugins of Gaggle.
So anyone can also like implement their own filters.
And that's one of the huge stuff is that,
like, I think it's basically, we have basically a potentially infinite numbers of filters that
people can save in the images. Anyone can create filters for non-destructive usage.
for non-destructive usage. And yeah, that's, yeah, that's, I think it's,
it's big, big parts of the, for me.
Because, yes, there's also, one of the things
I've been working on, kind of on and off,
but mostly off lately, but I want to get back to this,
is I want to bring back like an extension platform for Gimp.
Basically, you used to have what we call the Gimp Registration,
but it died.
It was basically a kind of forum
where people just upload the plugin and everything.
Basically, it died many years ago
because nobody was really caring for it. And so they were
spammed and bad stuff, or whatever, you know. And probably also, nobody would update the platform
vulnerabilities and everything. And, but basically, I want to bring this back eventually. And what I want is like when you go in Firefox
and you search for plugins and you install in one click,
that's an uninstall in one click and update in one click.
That's the kind of stuff I want to do for Gimp.
And then people will be able to install plugins,
install filters, icon, scenes,
brushes, you know, like people who like make package
of their brushes.
So unlike with instead of like trying like,
that's the old way, basically a lot of stuff in Gimp.
There are a lot of stuff, very kind of very high quality.
And we also have like a bunch of stuff sometimes
you see that, well, what's this doing here?
You know, like kind of,
I can't completely see why it's, what it's doing here.
It's basically back then, like it was like a small project
and like everybody was just contributing
and you know, we'll accept everything.
But now, nowadays, actually like some people say, oh, I get my plugin, get away.
I say, oh, like, maybe we should think if really like this plugin for a very specific
use case is good for like the general use case and people will have like menus with
hundreds of plugins.
Right, right, right.
Yeah, you get into a problem.
You can't ship every single thing.
Otherwise you run into a UX nightmare.
There's just too much to sort through.
Exactly.
So, but it doesn't mean that the use case is bad or that the plugin is bad.
And that's why I want like this kind of platform.
Like I want people to be able to like say, I have this plugin for my fancy use case.
And it's not a generic use case, so it
doesn't make sense to be shipped with Gimp, call Gimp.
But it doesn't really make sense for people
to be able to upload it and for other people
to be able to search for it and install it in one click. And yeah, this kind of stuff. And with some community review, of course, like to avoid,
of course, as much as possible, you know, bad actors. And yes, that's something I've been planning for years and I will get back to finish this soon I hope.
And as Pauline, you were talking earlier about the multi-selection.
That's actually something which the artist I work with, Ariel, that's something, so she's also a contributor, right? And so she has been getting,
since 2012 also, to like meeting, game meeting and everything. And she will like, several times she
will say, oh, I need to have like multi-sessions. And like, she was like, oh, like, you know,
sessions and she was like, you know, nagging people, especially my comment now, Mitch.
And sometimes I said, okay, let's do something about this. And I think it took me like six months of work, you know, because it's actually similar to like non-destructive editing.
It's basically code, the whole code is expected
one layer selected at one point.
So everywhere where there will be this kind of basically
only thing about layers, we have to have like the code about,
so what happens when they are like several layers?
What do we want to do?
We want like, so can we forbid this?
Forbid can be like a proper answer, forbid the feature.
Or it can be, well, if you have several layers selected,
we say like, then we can do this.
Or like, but basically whatever the answer is,
it needs to be adapted in code.
So that was like, that's why it took so many months,
like six months, I think.
And like, I think in six months, I did like,
I didn't know, it took me six months,
but actually I had even like tried this
in the past few years, a few times.
And I think I had like thrown away at least two
or three attempts of implementing this correctly.
And the last one was the right one
and it took me like many months but I finally got it and it's like
and yeah I think it's a game changer like some people will say like I know sometimes I see
some people will say like oh it's basic and everything and it's true but the point that I
think basically if from the start multi-selection had been allowed. Then it would not have been a big deal
because simply each time you add a new feature,
you say, okay, what happens when there's one layer selected?
What happens when there's two layers selected?
But then there was all, every past developers
would only think about what happens
when there's one layer selected.
And then basically I had to re-implement
the whole feature set. So in the one of the things I did. Right. And said, well, basically I had to re-implement the whole feature set.
Yeah, there was basically like 20 plus years of
assuming single layers and everything.
So everything that involved layers had to be redone.
Exactly. Not redone.
Oh, not redone, but expanded.
Yeah, expanded.
So, yes.
You bring up the, um, the, the Gaggle plugins before.
That's another thing that I think is, is really cool.
And I've been using, um, things like the, the inner glow and stuff like that
before it was part of, um, Gimp like it it is now back on on 2.10 when it was just like a
separate set of plugins and that's another thing that really
really improved my workflow because again there were you can you can put a glow around anything
by manually doing it you know increasing the selection and then doing like a feather
it was not good to do it though.
It was really annoying.
So just being out and say, okay, I want to glow.
I just all of these things.
Again, it, it makes it so much easier to work having those plug-ins.
These are basic ones.
I'm sure there are a lot more complex things that you could be doing that I
personally don't have a use case for, but I'm sure somebody are a lot more complex things that you could be doing that I personally don't have a use case for
but I'm sure
somebody else out there does
and that that is why I think I think that
That that extension platform idea is a really good idea because this is what like KDE has this with their extensions
Gnome has this with their extensions and right now getting extensions
It's sort of a matter of finding
some random GitHub account or GitLab account,
and maybe you'll be able to find it,
but there's just no easy way to search for them.
Yeah. Yeah.
Yeah, I agree.
That's why I want to do this.
And actually, I just wrote last week, I think.
I'm not finished, but I've already did a good part of it,
some tutorials for the Gimp3 API for plugins,
but also for making Giga filters.
And I do hope that...
Oh, did we lose him?
Did I disconnect?
What happened here?
Um...
Oh?
Oh, we lost him.
Hello?
Hello? You hear me?
Yeah, I can hear you fine. I don't know. One of us disconnected there. I'm not sure what happened.
Oh, yeah. Yep. Okay, so I was saying...
Extensions. and I was saying like, I just wrote, I started writing
and I did good part of it, like tutorials for people
for the Gimp V3 API for plugins,
but also a tutorial for like making Giggle or Cheaters.
And I said something I want to promote because actually, it's quite, I mean, Gaggle
filters, it's C on me. So it can be a bit more involved than plugins, which can be in
C, but can also be in Python or other languages. But it's really, it's not very difficult for someone who is a bit technical
who wants to dive in. And like, you can make very, yeah, a lot of fancy stuff with filters when people
have ideas. And so I do hope that a lot of people will jump on this train and will implement filters. And when we have this
extension platform up, yeah, I do hope to see a lot of very interesting stuff being uploaded there. And I do think it's really is a feature like to have like basically a very active
third-party developers ecosystem
rather than having, I mean, it's important of course that we have a lot of developers
within GIMP and Giga and everything.
But I do believe that it's also important
that there's like this whole ecosystem.
Yeah.
So-
I think one of the problems previously with extensions is
for users trying to install them,
it was, you kind of had to work out
where things went yourself.
But one of the things I noticed in the roadmap ages ago is this idea of these,
uh, Gex files.
And so I guess that the idea there was a, like a universal format for doing
these extensions just so they're easier to install.
Yeah.
I, it's also Gex file is part of the extension platform.
It's a format.
file is part of the extension platform. It's a format. Basically it's
actually it's already implemented. It's just hidden because we don't have the platform. So you can actually already right now with the GIMP3 you have, if you have a Gix file,
you can actually drag and drop on it and it can install the extension already.
But my idea is like, I don't even want just this,
that's for like more like the plugin developer side.
They will make the GX file, but they will upload it.
But for the users, I don't even want them
to have a file to handle.
I want them to click a file to handle. I want them to click a button to search. I want
a fancy filter for making a metal or like texture or whatever and they say like metal texture
filters and like they get a list of stuff and like they can look at descriptions, pictures.
Oh this one looks nice and click and then it's installed
and then you can play the filter,
it's what they wanted or not.
And that's kind of stuff I want.
So you'd like to have a plugin store like built into GIMP.
So you could see like Unity and things like that
have where you can just browse all the plugins
that are available and just say, I want that one,
I want that one, just click install.
Exactly.
That's what I want to analyze.
And you can also handle versions,
like when they update the filter or the plugin or whatever,
then you could also have the updated one in your game.
But basically not exactly what you were saying,
not have to deal yourself with files.
You know, like where do I put it?
And also like, oh, it has to like very common stuff
is that especially with Python script or whatever.
It's like, they put it and it doesn't work
because it also have to be executable.
So, I must also, okay, so this kind of stuff, you know, like, there's a kind of stuff which
we don't think is like the best UX, right?
I agree. So, yeah.
So, yeah, it's just like really like Firefox
or this kind of stuff.
Like you can search, you have tried keywords and so,
and the Jax file is part of it,
but for most people, they will never see it.
Even if it's basically they will download the Jax file
but Gimp will download it, Gimp will install it.
And the Jax file is basically a container
with metadata file, basically.
So the container is basically a zip
and the inside is metadata file,
which gives a plugin of whatever name
and description and the auto name and of course it will say,
what am I?
So I'm a filter, filter is in this folder
or I'm a plugin and I'm a set of brushes.
So it's, yeah, the GEx format is a container over the files type of data we currently have in GOOP.
Awesome. Well, that makes it a lot easier for that. I'm very curious to see what comes out of this platform and obviously, you know, it's still gonna be a while until there is a sort of
development community around these plugins.
But I think by providing those tools
and providing good documentation of how to use them,
GIMP is a great tool.
And I think there's a lot of things
people would like to do with it.
It's just, there wasn't really that environment there to allow for that to really happen for those plugin developers.
Well, to be honest, they are quite a bit, but you have to look for them.
Sure. Yeah, that's the annoying thing that like you're saying like you have to go to some GitLab
repository hidden somewhere like also have to also like this is a whole question of do you trust
this guy or this person like because so that's and that's one of the big challenge of this project because I hope we will have also a
community on the admin side, a moderator side, because without this it won't work.
So basically, while like brushes, like data sets like this
won't be like can be uploaded directly, anything which is executable code
will have to go through review.
And so we hope, I mean, I have already a few people in mind
in our community who do great plugin
and I do hope they will accept to be like
given some moderate rights and help us to review stuff.
And so that's one of the big challenges
because if actually, if we have a lot of plugin developers
but no moderators, then it doesn't mean anything
because no plugin will go up.
So yeah, that's something.
But that's, yeah, that's been a long, long,
many years project.
Actually, a lot of on game sites, a bunch of a lot of it is mostly implemented as a proof of concept.
I even actually have already some small dialogue where you can see your extensions,
activate them, deactivate them.
That's one of the principles.
So when you have extension, you can also not only
install, update or uninstall, but you can also
deactivate them so you can keep some extensions,
but just deactivate them to not have them in the UI
and so have a smaller UI.
And so a lot of, technically a lot of it is quite easy.
A lot of it is already implemented too. The hard part will be like to get the whole ecosystem
really going on and like following and yeah, we'll see how it goes. One of the problems that has kind of existed with plugins with GIMP is because
it, the GIMP two branch has been around for so long, Python two and distros
dropping Python two like many years ago now.
So that aspect of plugin development basically couldn't have been done for a very long time on Gimp2.
Which aspect? Because of Python 2.
So, well, yeah, some people could still have done Python 2 scripts, but yeah. Python 2 is like... We wished we had dropped it earlier. It came
with... Basically, the change came with GIMP 3. We didn't have the, because basically we have Python 3, Python 2 actually in support in
the World Game 2 series is just like scriptful, which is like manually made wrapper binding,
manually made binding, right? In GIMP 3, we use a G object introspection,
which is a project basically
automatically processing libraries
with an audition and everything,
and I'm creating bindings.
So it's, well, it's a lot less work. I just work to implement this,
but now that it's done,
we don't have any basically manual part
in the Python binding.
So it's all done automatically.
So that's good.
Good and like, so yeah, the Python
tool building before was very different to all manual stuff. And actually it was
kind of un-maintained for many years. So they're like bugs because the person who
as a contributor who mostly implemented it was not around lately when it happened, it's like,
but that means that there were a lot of bugs,
like, oh, this is, this, and like,
they will report but they are just laying around
because nobody wants to,
was interested into really looking at that code.
So I'm very happy with GeoJet introspection and not having to look at any manual code,
like just all automatic generated. Yeah, that's also why it was just not like,
we could not like back, I mean, maybe we could, but it would have been a big project, but backport,
maybe we could, but it would have been a big project, but backport, the Python 3 bending into, they are very different systems. That's why it would have been a huge project to backport.
Yeah, support of Python 3. So one of the big changes that came,
although that's coming with Python 3 3 is now it's because it's
moved to GTK 3 native Wayland support in GIMP.
Yeah.
Uh, but that was a relationship with Python 3?
Sorry?
You said there was a relationship with Python 3?
Did I, sorry, did I, did I misspeak there?
Um, sorry, I might I misspeak there?
Sorry, I might I might have misspoke sorry
Okay, no, maybe I said I thought I said GTK 3 maybe I maybe I miss
You started with Python 3 and It is Okay, sorry. Sorry, sorry. So yeah, it is...
Yeah, it's with GTK3.
We have well-known support.
So that's great.
Because, yeah, we don't have it.
Well, we still have a lot of issues and I mean regular issues like so actually
we asked just before the earth history for GTK release GTK3 release which they nicely did
and just today I think it was today I think I made a report asking if they could
make one already a new one because we already have like two nasty bugs in GTS3 which got
fixed and would be nice to have a release where one was,
I think all platforms, but one was specific to Welland again, and I think it was like,
yeah, I think it was like a point of rats issues.
So, you know, some people will say that they want
sometimes like the pointer will be hungry rats
or they have to kill Gimp basically.
And yeah, so it's still, Welland is still very much a walk in progress.
And I'm guessing even when we release Gimp 3, people will have more issues with Gimp on Welland
than they will have with GIMP on X11. But it's there and it's very cool because, well,
whether I think whether we want it or not,
it's clearly what the ecosystem is going towards.
So, well, you may have people who like North Welland
because there's a lot of drama around it.
Well, we, yeah, that's, I mean, people may like or not well on because a lot of drama around it.
I mean, we also have a lot of grief sometimes with some of the choices, but well, it's
that's the game. That's people, it's going in this direction. So we just have to
implement things and if something doesn't go as we want it, we try to discuss to make it go as we want.
Yeah, I've been using Gibb3 on Wayland
basically the entire time I've been using it.
And at least from my experience,
I haven't noticed anything that seems odd,
but you make a good point there.
As soon as you start having more people trying it out, once you
once you actually say, this is the stable release,
that's when you're gonna get people really trying it, and there's gonna be people with weird hardware configurations or
doing just weird things in their system,
finding bugs that nobody uses. That's sort of always the problem.
You can only test so many things and you can only test things that you have.
So the second someone tries something weird, who knows what's going to happen?
Actually, there's one very, very easy way if you want to, to really kill
your nice, deepience in Welland.
It's go multi-window mode.
I hadn't even thought of that. Yeah, okay.
And save your config folder before you do this. Because like this, basically, because basically we have this whole code about saving Windows position and everything,
but Welland doesn't allow this.
So they are working on protocols for this, they are like at least one, but I think there were several reports.
There's three of them, there's three protocols at least. At least last time I checked.
Yeah yeah and they like discussions and people fighting and everything and so I don't know what
they will choose but at least for now like the point is that GTK gives us bogus data, basically, bogus positions or whatever.
So basically a very simple stuff you can do is that you go to multi-window mode
and you put your windows how you want, right? And you go back to single window mode
and also the code tables will be on the left.
And no way, like because I have not checked the code
but I'm pretty sure that without checking
I'm pretty sure that it's probably because
our code must get position zero
for every windows basically.
Yeah, yeah.
That's my guess because since I know that well
doesn't support for the whole positioning and everything.
That's the kind of stuff where, yeah, they will
and not a single window mode is probably more used, I guess,
but I know there are still various use of multi-window mode and which is actually something
which I want to work on someday because I don't want two modes, I want one mode which can do
everything. Basically, right now if you want
two images side by side, you have to go in multi-window mode. But I want to be able to drag the tab
of an image into its own window. Like you do for your browser, you can drag a tab and have
two windows. I would like that. Yes. Okay. I agree with you. That would be very useful.
two windows, right? I would like that. Yes. Okay. I agree with you. That would be very useful.
So yeah, I want basically like this no silly one single window mode, multi-window mode. I just want
one normal mode and you can grab two cables out, in, image out, in, and that's it basically.
That's one of my future plans. But yeah, that's the kind of stuff which is well on right now. Actually the wall positioning and size stuff got a lot better.
But I still have some times where like you do some stuff and like the window can grow a little bigger than your screen.
I had like a few issues like I think when I don't remember but like and
but it's still a lot better because like one or three years ago, like GIMP was like
kind of really broken on Welland and it just got fixed by itself so we didn't change anything in
our code, it just got fixed in either GTKS side or the virus Welland compositor.
Compositor or... So, yeah, things are still...
Yeah, issues still happen a bit.
Yeah, the window placement thing...
I followed that protocol from the very start.
I don't understand why there are people that don't want it.
It...
Like, I...
It's one of those things where I
Get why they they think that it's a bad idea and most applications do operate in a single window mode
But it's a thing you can do on Windows. It's a thing you can do on x11
I assume you can do it on Mac.
I don't know.
I haven't done much Mac development.
Why does Waylon need to be the one thing where you don't have this very standard feature?
Yeah.
Also, like, even if you work in single window modes, there's like at least one use case,
which is not an edge use case,
where you have even like in single window mode,
you have to have several windows
is when you work with multiple monitors.
Because you spread,
if you want to spread GIMP on multiple monitors,
it means at least two windows, right?
So that's typically when people organize your GIMP, you want
it to get back the same way.
That would be nice, yes.
So wish right now won't work on Wellon.
And yeah, I think it's kind of, I don't know why they will refuse this.
I think, I'm guessing, they will eventually agree to something.
We'll see what shape it will take, but it may take some time
and a lot of back and forth and a lot of discussions
and yeah, it is a bit tiring.
I try sometimes to get into some of these discussions
but there are so many people and sometimes so many,
get into some of these discussions, but there are so many people and
like so sometimes
so many ways so much
Conflict also it's hard. Yeah, I'm not I'm not really into conflicts. So I
Mean some people really start struts struts struts strife. Yeah. Yeah. I've seen a lot of them. There's a lot of people that really enjoy the arguments.
Yeah, but me, it's just exhausting me.
So yeah, like I've said a few stuff
in the color management report.
Some points, and then I didn't follow much. I think it got matched, right? the color management report at some point
that then I didn't follow much. I think it got matched, right?
Yes, color management did emerge, yes.
Yeah, so that's good because that was also
one of the big issue for software like us.
I think the difference between that one
and window positioning is with color management,
everyone agreed it's a good idea.
It's just they had disagreements about how with window positioning, there's a lot of people who
don't want it at all. So at least if you can agree that we want it, you can argue about the
implementation. And that's the important part. If you want to argue about the implementation,
progress is being made. But if you have people that are just blocking it at the start, you know,
it... Yeah. But actually, color management was like, not that all everybody, I mean,
globally, of course, people want color management. Sure, sure. But they were like, also like,
there are a lot of discussion with like sometimes like they were part of Python.
I'm not sure.
So I've not followed too much lately,
but there was this part where like basically
they were not interested into implementing
into implementing the calibration part,
characterization part in the protocol. So basically the whole color management protocol
is only about once you calibrate it, your display,
then you can have the right colors.
But then the question is, but how do I go to Windows?
Do I go to X11?
Then I make my ICC profile and then I can go back
to Wayland and then I can use it.
So like, and so at some point they say that
they wanted to like this, maybe it should be a portal. But I think I read something not too long ago about and saying that maybe after all, maybe it can be a protocol about characterization
of display.
Because basically, the characterization
has this whole concept, which is like, well, you
have to bypass any color management, basically.
Because you know you have this engine on your screen and then you want your screen to get
like just not like the lights on
and no color management involvement, right?
Because you want to have the raw light to compute. So there was this
whole stuff, but so I don't know how it will go and I should look at it eventually. And
I wonder if now, because even if it's been merged, if this part is the first part, actually
it's not even the second part. If
the first part doesn't exist yet, it means, okay, now you can have color management, but
you still need to characterize your display, but you cannot do it with one, which is but yeah, things go forward, but it does take time.
Sure.
Yeah.
Yeah.
So maybe this is a big thing for some people, but I don't know.
With GIMP 3, there was the redesign of Wilbur, which I'm sure there was a lot of discussion about exactly how it
was gonna be changed how much to change it whether even continue with Wilbur or
do something else entirely how did that process go because I like the new Wilbur
design I did like the old one as well but the new one is certainly, it's a nice change.
So well, the process was kind of very, very fluid, because it's not really like a corporate process. Right, right. It's more like, well, at some point,
like many years ago, we said like,
oh, maybe we should have a new logo.
And an updated one.
And like, at some point, so Ariom,, Ariane, the same artist, she decided to work on it, but she wanted
to work to get as much feedback as possible as all the other core contributors. So, one of the big
other core contributors. So one of the big parts in it was during the Wheelbar week in 2001. What was it? I think... Wheelbar week, let's see. Yeah, Wheelbar week is one of our events where we invite all the contributors. Ah, okay.
And then, so this time was a real-world weekend.
We did it at Blender Foundation.
Ah, is that 2023?
There's a...
Yeah.
Okay, yeah.
Yeah, there's a blog post here
and there's a picture of the Blender headquarters.
So I assume this is the one.
Yeah, yeah, So that's it. We blend the foundation,
lent us a room to do our high-fest basically.
And we stayed for a week and yeah.
And so for this, like for the whole week,
I am will sit down with a few contributors interested.
They should get feedback and she drew like, I don't know how many dozens of wheelbars.
And actually after this, she took a bit of rest, but like after this she looked at again all the wheelbars and she
She she didn't like what she did
so she read it again and
we're still taking into account the virus feedbacks because like we have in the community a lot of people with a lot of
Experience in vice stuff like experience in printing
and experience in colors also and everything.
And so we have a wide idea.
So what does it say also like still like,
that let's still be careful about committee,
committee like based decisions, basically.
Like designed by committee.
Basically.
Oh, yeah, designed by committee.
Yeah, yeah.
Like basically, so it was like she took everybody's feedback,
but also kind of put her home design and everything in this for it to not look boring.
Because I think what she did at some point, she said, oh, maybe it's a bit boring.
And like she, yeah. And that's the idea was really like to have some recognizability of the character or something modern but like we can say actually it works
because we were showing at LibreFix meeting, I think it was the last, to some other designer,
Wilbur and at first she didn't realize it was a new Wilbur.
And then we compared it, ah yeah, all right.
So actually that worked well,
because even though they are quite different,
like they say Wilbur is still Wilbur,
and if they don't think too much about it and everything,
they don't really necessarily realize it's a new design,
which was exactly the intended effect.
So it was like, it was like very, it was, it just,
it's again, one contributor working on the stuff.
I'm like, and that's what we want.
We don't really want to like,
to make it like a corporate logic or whatever,
or this meeting.
She did meetings, but she wanted it,
but more in a friendly way,
and not like, yeah, we need to have
to hire a design company,
some project do this,
it's this stuff, but we don't, we're not interested in this
kind of, yeah, it's just gameplay is basically what the
contributors make of it. It's, it's really like, the community
makes it, it's really, that's, that's a whole point for me.
Yeah, when I found out there was a new Wilberts, someone had sent like the community makes it. It's really, that's a whole point for me. Yeah.
When I found out there was a new Wilbur, someone had sent me the new
Wilbur basically as soon as it got merged into the project.
And I'm very happy that you guys went with a very similar design
because I could imagine, you know, there's probably some people who would
have been interested in doing some, you know, very, you know, you've seen plenty
of modern abstract logos and, you know, if that's the vibe you want to go for,
that's cool, but I'm happy that you guys kept the sort of tradition going. It's a much more modern design but it's still recognisably Wilbur.
You still know how you got from that original logo to where you are now.
Yeah, yeah but that was, I know Alia Morris, it was very important to her and she, yeah it's like
also there are a lot of people if would tell us
or just drop with like, oh, how do you have a mascot?
Is it like a kid's software or something like that?
But it's like, yeah, we like it.
It's fun.
But it's like, again, like we don't care.
I mean, it doesn't actually change the software.
I mean, we don't care if some people,
some people are just against fun.
Yeah, yeah, that's a good way to put it.
Yeah, so yeah, we wanted to keep the fun stuff.
So our mascot, we got used to it and we enjoy it.
It's like now it's part of the whole project basically.
And so Alia was always saying like she,
because we also know that we have several contributors
who have been there for like,
I think 97 contributors have been there for longer.
So basically not only the start because since I think in 1995, but then it was only the
two autos.
So for them, there are a lot of things which are very important because it was like a huge part of their life.
So what we don't want is we come and just like kind of everything is trash and like just let's start from scratch
and all the old people just leave us alone and go to retirement please.
It's not one-liners.
So for us, really, and for all the current contributors,
it's important to keep it like a friendly community. And I know Alain was always saying, if someone doesn't like some kind of changes, we must
discuss everything.
So she really wanted to have the feedback and to know how to do something which people
still appreciate.
Yeah.
So, that's not really a goal, go on.
No, no.
As I said, I'm very happy that this is the direction that you guys took it.
One thing that I didn't want to break up, I completely forgot about it before.
When you're talking about
How long it's taken gimp? I think part of the thing that has made it feel like it's taken such a long time
especially for people on the outside is there have been a
Number of predictions for when things will be ready because I know the latest one was
was it
there was a Libre art thing last year where
that was assumed to be when the release was going to be.
Yeah, we kind of I mean, that's on me.
I mean, okay, that's that's one of the things which I kind of, when we don't say anything,
like people think the project is dead or everything. So I'm like, I was saying earlier that
plans and everything, usually they are mostly for us. But I try to kind of be more transparent.
We say, oh, we hope, we try to plan for this.
And we did.
We did.
Then we realized there is a lot of stuff which are not ready.
And it's not just GIMP.
I mean, I worked in many, not many, but several companies
before.
And it's just like software development, you know,
like I'm not sure if like many,
many software developers can say that they are,
well, like they never have any delay
in the planning for a project, you know, right?
Like, I think every project I've worked on in a company, they have like a month delay and
often sometimes they are like six months of delay and then suddenly some manager kills the project,
I have this kind of stuff. I mean it's just software development. So when,
So when... Actually, no, I don't want to give dates anymore, because each time I did, people take it as a promise.
Even though I write explicitly, this is not a promise.
I write it, but after this virus media outlets and everything,
say, oh, yes, they promised it and they broke their promise.
Like how dare they, you know, but it's like something I'm like, okay, so should I kind of
tell people a bit about how we work or should I just keep it for myself, but then they will complain that we are not transparent and all that the project is dead
or that it's, so yeah, that's the previous plans
was a real plan and we were hoping that it could happen
but then it just, you know, software development.
So that's basically it, you know.
This is the problem the guys over at System76
have recently run into as well with the Cosmic Desktop.
Carl, the CEO over there, said that the beta would be out now.
We're in Alpha 6. The beta is not going to be out for at least another two or three months and
you know, then he said there would be two releases this year after the beta.
I think the good... I see that the, the, the point you're making there about.
Letting people know things are happening, but at the end of the day, you have,
you have two options.
You either have it's done when it's done or the way a lot of video games do
things, which is release it completely unfinished and then deal with it later.
Yeah, well, our project is definitely done when it's done.
But yeah, when actually it's more when I was giving days, it's more like when I think more like trying to
trying to, to follow self first also, like trying to give us like some kind of deadline to look forward to and like to say, oh, let's, I think I won't do this as much because I did try this like a few times and I did see that a lot of people took it like we just broke our promise and like nothing happens.
And just the other day I was reading some threading, some forum where some people
say, Oh, is game dead?
No, development is happening.
And yeah, so, but yeah, I think, yeah, probably I will just from now on, we just go with,
it's done, it's done.
Yeah, I've, I've certainly gotten excited when I hear
that a date's coming up where thing,
you know, it's supposed to be ready.
I've made videos about it in the past.
I'm not disappointed, yeah, I'm disappointed obviously
that it didn't fully get done, sure,
but like I'm not angry at the project.
I'm using, as I've said, I'm using the RC build right now.
I'm seeing things progress,
even though it isn't tagged as you know
GIMP3. I think in the state it's in I'm not going to say for everyone but for most people
I would say it's pretty good to go and just use the RC. Most things now that we're in RC3 yes?
Yeah yeah yeah most things obviously you're still getting bug fixes done, but most things are pretty, pretty good now.
And if, if you're really excited for Gimp 3 and you want to try it,
I can say at least for me that the
development branch hasn't caused me any problems in at least,
at least six months.
And maybe if you're doing something different than what I do, you might run into some problems.
And if you do, hey, you can report some problems.
But I can say as someone who uses it basically every day, it's worked well for me.
Well, that's good.
That's why we started ASCIS.
Because we think we are very, very close to release.
And yeah, I mean, we cannot officially say to people,
we still say like it's still a development version.
And so using it at your own risk and everything.
But I mean, we also, like for the Mammoth Animation project,
we have been using development version of GIMP since forever. So it's, yeah, it's possible and it's good that it works well.
And actually, we are very close to the final GIMP series now,
so very, very close.
So I think...
I'm very tempted to ask you if you think it's going to be this year,
but I don't think you want to think it's going to be this year, but
I don't think you want to say what's going to happen this year.
Actually, internally we have a date, but actually it's internal, but you can't even find it,
because it's public. So... But yeah, I won't say it now. Good plan, good plan.
So, but yeah, I won't say it now. Good plan, good plan.
But yeah.
So earlier you talked about GTK 4 and issues with menus, I believe you were saying.
So of course people are going to ask, hey, GTK 3 is, you know, however old GTK 3 is now
GTK 4 has been out, I want to say at least for four or five years, something like that.
So there's always those questions of, okay, well, why even bother with going to GTK 3 and why not go to GTK 4 instead?
Well, it's just going directly to GTK4. You mean from GTK2 to 4 directly.
That's what you say, right?
I guess so, yeah.
If you were to do that, I assume the porting process would be different.
I think it would have been possible, but add two years, I think, to the release or something.
That's basically it. It's not, I mean, like people cannot just,
it's not going to GTK2 to GTK4 and thinking it would take the same time.
It took us so long to go to GTK2 to GTK3.
I've not tried it, so I cannot really say for sure anything I have, but I doubt that it would have been, we would have taken
the same time basically, or even that it would have been faster or something like that.
I'm pretty sure that if we had tried to do this, it would just have taken a few more
years basically. So, and this is, this is one thing also about the GTK,
which is like, for a lot of technical people,
they're all into like, oh, GTK,
or I'm looking at my package on my computer
and Kimpy is the only one using GTK 2,
I want to remove this package, like it matters, right?
But, you know, like, go, seriously,
go now to like photograph forum,
like pixels.us for instance,
which is like the main free software
photography forum community.
And like nobody speaks about GTK,
they don't care, they don't know what GTK is, you know?
Like when I try to explain to Ariane what is GTK
and like she understands that she doesn't really understand
or probably she doesn't care, you know?
Actually people who actually use the software
don't care about this.
Like a lot of people, they say,
oh yeah, it's basically the same.
When they look at GTK2, it has kind of modern look, right? But what's the whole point? So
we know there are some points like well-known, or we have much better like hot plug we were saying about, so for input devices, and there are a lot of nice stuff.
But like, okay, there is this kind of stuff,
but like, there is no like,
it's like people, they care a lot less
about the GTK2 to GTK3,
and they care about like non-destructive editing or
being able to select multiple layers basically. So I think like a lot of people like on Linux forums
or whatever they just don't get it because they probably just use GIMP every once in a while to make a rotation and a crop and that's it.
And for them, what matters is that GTK2 package can go away.
Which is kind of, you have to read like, oh yeah, Gimp is the only one using GTK2, Python 2 and everything.
And yeah, Python 2 and GTK2 are both different packages.
It's good if we can get rid of them and everything.
But at the end of the day, it's not what...
I chose the one who will use Gimbal or Kel the most of all.
Yeah, I think that's good.
Sorry, go on.
No, and as a developer, it's a very boring job.
So yeah.
Yeah, no, I think that's a good point.
The people actually using it, you could continue using GTK2 until the end of time.
If at some point, these features that are coming in GIMP 3, like the non-destructive editing, like the multi-layer selection, if it was decided,
hey, we just, you know, you decided to never do GTK 3 and those features were
just done in the GTK 2 version, no one would actually care.
Like, yeah, the distro packages and the, the people who are like, you know,
they have some sort of programming background would care, but the artists actually using the tool.
Like no, no one actually cares.
Right.
And you think about a tool like Photoshop, no one, no one knows or cares what toolkit that's using.
It's probably some internal toolkit.
I I've no idea.
I assume it's an internal toolkit they have at this point, But all that matters is what does the tool actually do for me? And also, I guess you
can argue the UI and UX as well. Yes. But the main thing is, can I conveniently do the
things that I want to do? That I think is a good way to put it. Yeah, but definitely. So there are still improvements, like I
was saying, like, well, answer, but you don't have to say to,
but maybe like we call them imagine like, smoother
improvements were basically, well, which will be like
continuing GTK 2, but like GTK3 will break this thing.
Actually, even when I was saying that our API for Gimp, for plugins,
we broke it completely with Gimp3 But like I've experienced so much pain like trying to port from one from GTK2
to GTK3 that at some point I even wondered, I mean it was too late, same as it's too late for GTK.
So why, like, so I see how much pain it is, but plugins is usually a lot smaller. So it's more piece of code like one or two files or so.
But still I'm thinking like, okay, for GIMP 4, if I can, now my thinking is that if I
can, I want to not break the API.
So it will be, well, maybe we will remove some function.
So we'll deprecate them, remove them,
but like try to be as smooth as possible,
giving people time and everything
and not completely change the objects of stuff.
and not completely change the logic of stuff.
And I think it kind of matters for platform.
And I wish that the GTK project will break a bit less stuff like that they do.
Like because I got started with GTK4, so I cannot say, but when I looked at the
whole part about menus and everything, I said, I just worked on this, I spent so many months
on this, is it breaking it again? Maybe it won't be as bad as I think, I don't know. But for now, it's a bit scary when I read this part in the tutorial.
And yeah, maybe, I think like when you make an API for other to use,
like stability should be important.
Right.
Now, one thing that I couldn't do this episode without asking you about,
because I know someone's going to joke about, and people like to joke about this,
it's, hey, why does GIMP not have a shape tool?
I'm sure you've heard plenty of comments about that over the years.
It's a reoccurring thing that constantly comes up.
I think at this point it's a meme.
It is a meme, yes.
It's small, it's small, I mean, yeah.
And well, so it's coming because-
I know it's on the road. We have.
Yeah, yeah, because actually, okay.
So the whole thing actually,
that's also one of the big differences when you look at the forum for techies and the forum for photographers.
And if you go on some Linux forum, you will have these kinds of comments.
If you go on pixels.us or whatever, these kind of forums, all the people using games, they will answer on our pixels.us or whatever, like these kind of forums, all the people using GIMP, they will answer on our behalf.
Because they say, but why don't you use Inkscape?
Because at the point when we do, like, when actually,
when you do, when like GIMP is a raster editor.
So we care about pixels and everything,
and filters and raster.
So shape is really something, it's more vector stuff.
So now it's good to have a bit of mix.
And actually we are planning to have vector layers.
There is like a branch already with working vector layers.
I mean, it needs a lot of work, I'm sure.
Right, for anyone who hasn't worked with vectors,
with Gimp right now, you import the vector
and then it will just raster,
like render as a raster for whatever size you want it at.
Yeah, yeah, right.
I mean, you can also, these are also the pass tools,
so you can also import vectors into pass,
but like pass, they don't have colors.
They don't have a pass.
You can use them after this, for instance,
to like stroke a pass,
but then it becomes also raster at this point, right?
So vector layers will be like basically having pass
and say, ah, my pass now give me a color, give me a width,
and maybe even like other fancy textures
or whatever like on the side.
And then if later,
it's like non-destructive editing for filters, right?
If I want, oh, like if I drop my path,
and later, oh, I think I wanted my, like if I drop my path, and I think I want it like this, then I have to undo or
delete or whatever.
If I merge it with something else, it's bad.
But if it's a vector layer, which you say, oh, it's my path and my path has this, and
I want to change it a bit and just move one point, and then couple point, and the render changes.
So that's something which is worked on.
We have a branch about this,
which is actually like a branch based on code,
which was started at GSOC from before my time.
So like from 10, 15 years ago, and 15 or something.
I don't know.
But from like one of the oldest, because actually, GIMP didn't participate in GSOC for like Google
SouthCode for like, for many, many years.
And we only started again like three years ago, I think.
And so it's against CMIK students who, and before him, Jacob,
Jacob started to work on this branch,
all very old branch at the CMIK students also to cover.
And so we have something kind of already working,
even though it needs a lot more work.
So when we will have this, we'll have vector layers,
and then it will make sense to have a shape tool,
which will create basically vector data,
because right now, really, making a shape tool,
which makes like a circle in raster,
I mean, that's just crappy, you know,
like you have a circle and then it's like merging to your pixels.
And then you want to change your circle.
You cannot like, when do you want shapes?
When you want shapes, maybe you make rectangles
to hide something or you want to design stuff
above an image or this kind of, and or you want to design stuff above an image,
and then you move to tweak, you know. It's the kind of stuff you do with Inkscape,
which is also a great software. So Gimp is not becoming a vector software. We'll have
bits of vector, but when people will want to do very complicated vector stuff, we say,
I still go to Inkscape. We have a bit because it helps more because everybody wants to do once
in a while a bit of mix of concepts. Same as Inkscape also has some restock capabilities.
So that's it, the shape tool is, I mean, and seriously,
you the same question goes on like illustration, photography forum and everything.
You look everybody's answers, basically say,
you're just using the wrong tool, man.
If you ask me, that's about it.
So it's again, like some Linux forum or whatever. For them it's a good troll to make.
Right, right.
Okay, so I guess the thing we can end off on is if you had infinite time, infinite resources
and there was something you could add to GIMP
that isn't in it right now, what would you like to add?
One thing?
Preferably something that we've not talked about already.
It has to be one thing?
Yeah, you can talk about it.
If you want to say multiple things, go right ahead.
Well, there's a lot of, actually a lot of stuff which are put in the run map.
But they are, well, since we do animations, there is something which I've worked a lot on is
well, animation tools in GIMP code.
And actually I have code for this and so on. So, and I would like to finish this.
I've, that's again, some kind of code,
which I've actually, I've had like,
I started with doing plugins,
I have at least two or three plugins,
which I threw away, which we use for times
and I threw them away and like
at some point I also made some code, but I'm not completely happy with my stuff and yet so
I'm kind of a perfectionist also. So that's definitely something if I would have a very cool animation tool finished soon, I would love it.
I'm working on it and if we had a lot of resources to do this, I would love it.
Actually, this also comes with...
Actually, this also comes with, that's also another point, we want to update our format, file format, in our XCF.
And for me, I think it's a really important part because I want a format where we can
load more easily piece only of the image.
Because if your image, sorry, which is not image,
more project, if your project is like animated sequence,
you probably don't want to load the whole file into memory
at once.
Because, well, it's hundreds of, no, not hundreds, thousands of
images, and then you kill your memory, right? Right. Right now, our format is not really...
I tried to make some code already where to load only parts of the image
at one point and everything.
And it's possible, but I think at some point
we want to have a better format.
And there were a lot of project also,
like a lot of discussion about
which could be done together about the format
where we could store
directly GiggleBuffers.
So that would make not only saving, loading and saving a lot
faster, but even saving, we could have near instant saving.
like even saving, like we could have near instance saving. And like, you know, like they were,
because if we basically, right now,
we have to save the whole thing at once.
Right.
But if we have like a format more like basically a package
of several files and like,
and the layers are directly giggle buffers
in its raw format.
So for instance, it's much faster to do
because it's a raw format of Gaggle,
which has support for saving on disk.
But also we could save parts,
like you just edited a layer,
you select another layer, so you just, you just edited a layer, you select another layer,
so you could just quickly save this one layer.
You just, right?
So you could like very quickly,
like have a constant saving system basically.
Because right now,
the main problem with a constant saving, why we cannot implement this,
is that many people don't see this, but people make a huge work with GIMP.
They have hundreds of layers, and they hit Ctrl S and it takes 20 seconds.
it hit control S and it takes 20 seconds. Right.
So you cannot like have like
you are painting something or suddenly like,
oh, it's saved by itself.
And then you get stuck, right?
So that's why right now we cannot have
this kind of stuff in a, in a code.
But if we had something where was a safe
could be like incremental and very fast
and everything, then we could have constant saving. You work on one layer, the other one
is saving during this time and everything. So, yeah. Having a new format will go, we improve a lot of things like this for animation too,
for, you know, like animation is also like,
also we could also have multi-page, like, you know, like,
you have a few formats with multi-page concepts.
So animation is like multi-frame,
but there's also a multi-page concept, right?
And right now what we do is like,
we consider the page as layers.
We say, okay, let's say that every layer is one page
and then you can export as PDFs, something like that.
And we could have a real concept of this.
That's the whole kind of stuff
which I've been thinking a lot about.
And yeah. stuff which I've been thinking a lot about.
Yeah.
There's another stuff which is kind of close also,
is a macro system.
Because, so actually with game three already,
we improved a lot the API.
And one of the thing which did is we have now So actually with GIMP 3 already, we improved a lot the API.
And one of the things which did is we have now
like automatic concept of like saving the...
So like a plugin is like, it's also like a procedure,
a function basically.
For GIMP calls this procedure.
And when you call it interactively,
you call it with basically default arguments
or last use arguments and stuff like that.
So when you notice when you call a plugin,
usually now it has the last arguments you used
are already saved.
So now, we generate UI now for plugin,
we have this infrastructure.
So the UI when people like edit stuff
and automatically save the new arguments of your procedure. So it's told Kim tells this,
which can interactively, it means you can reuse it for last use. But also for macros, it means
that Kim also knows how to like every plugin you use, it knows how to reproduce it without showing the dialog.
Previously, we had already this for the effects.
When you load an effect, you have this small stuff where you can look at the previous time you run it.
So it's saying we already have this for effect. We have this for now plugins in Game Stream.
And the only thing which is missing now
is on canvas tool usage, basically.
We need to store all this kind of information.
And once we have basically these three main components
of what can you do with an image of GamePist,
like do stuff on canvas directly, do plugins or do effects.
When we have this all,
then it will be like very up-socate to implant macros.
Just like when you say,
oh, no, start recording please and stop recording.
And then it will just have stored everything which you did
and you can redo it for,
and then you can do batch processing
and whatever within game directly.
Like, I'll just play this macro of this 20s images.
Or even like, since it's all like kind of programmatic too,
you can also like,
like put your macro into a script
and then edit your scripts or say you want to redo
a whole drawing and then you just multiply
all the dimensions by four and then it creates a drawing,
but non-destructively without, which is without,
with the right dimension without needing to scale because scale is destructive.
Even if it's scaled up or scaled down, I mean, scale up, scale down, maybe it will blot,
scale down, I mean, scale up, scale down, it will gloss,
any scale is distracting, but you can say, oh, like you call like kind of programmatically
save your drawing and make it after this redrawn,
on any size, kind of model like vector.
It's not vector, but it's, yeah,
it will be like a script basically playing.
So that's the kind of stuff also.
I have a lot of projects.
I also have projects for, yeah, yeah.
Maybe I speak too much.
I don't know.
No, no, that sounds very exciting to me.
So with my thumbnails, what I do is I do like a gross selection on the text.
I put like a black line around it.
I put a drop shadow around it and I rotate it.
Just being able to do that in one click.
Again, another thing.
I would love that.
That would be amazing.
So, repeat what?
So with my thumbnails, what I do is with the text on them,
I do a selection on them, on the text.
I do a grow on that selection.
I then fill in that selection with a color.
I put a drop shadow on it and I rotate all of the text like by a couple of degree.
So it's sort of on an angle in the thumbnail. And having that as a recorded macro,
and I can just have that just done
without having to think about it,
because it's the same on every thumbnail.
Being able to do that would be amazing.
That's exactly what macros are for, this kind of stuff.
Just repetitive tasks.
And until now, you can already do this,
but now you have to write basically a small plugin.
Sure. Yeah, yeah, yeah.
Basically, but the macros-
I probably should just do that.
I probably should just go ahead and write the plugin.
I do this so much.
I've probably wasted so much time.
I could have just learned how to write a plugin by now.
Yeah. So, but for sure, macros is like the easy way to make a plugin.
Yeah. Yeah. The user, sort of the user-facing way to do so.
Yeah, exactly. So, and actually what, yeah, and actually the macro is like,
definitely will be like also not only this, but you could also transform it into
code because it's programmatic. So and after this you could edit it to code which is kind
of best of both worlds.
Well unless there's anything else you wanted to touch on, I think that's a great place
to end off the episode.
Is there anything that we hadn't talked about that you really wanted to bring up?
Um, no, not really. Well, maybe, I don't know, maybe there was this like this one feature also we were working I want to
improve that export better export because this whole thing about you know when you work on you do some stuff on export, but you don't want to do them on the main myth.
Typically, you may scale or you may even crop stuff
because sometimes you do one single image,
but you want to export it differently.
You may want just to export them to crop or to scale or to make some filters and everything.
And that's also the kind of stuff where I have had plans for a long time, like to basically record some kind of...
I don't know how you call it, like you say, oh, this image, and you could even have several exports,
kind of, models or whatever.
You say, oh, this image, I want to export it like this, like this, like this.
And then when you hit export, it will export several images and do the stuff for you without touching the original image.
And yeah, that's also the kind of people I want to, I think it will really, really make
life a lot easier for a lot of people.
And yeah, so.
Completely unimportant question.
I've just spotted it there for a while.
Is that a picture of a Kiwi on that board back there?
Like the yellow. Yeah, sorry.
That's a Mozilla, Mozilla New Zealand.
Ah, okay. Okay.
Yeah, yeah, sorry. It's been, it's been to my line of sight for the past two hours.
I just... I had to... I had to ask about it.
Are you in New Zealand?
No, I'm Australia.
Ah, okay, okay. I actually lived in New Zealand for a year.
You know, working holiday visas.
Ah, yep, yep, yep.
You have a lot, I know, in Australia too, in New Zealand.
And yeah, so yeah, it was memory from Mozilla, Mozilla New Zealand.
I don't know if it's still there but...
Well, I think this was a really good episode.
I had a lot of fun here.
I'm very happy we finally found the time to do this.
Just so people know, I think the email thread we have is like 13 emails back and forth just trying to find out when a date's gonna happen,
me forgetting to email back and trying to rearrange something. But I'm glad we finally got to do this.
Yeah, me too. It was fun.
So if people want to get involved in GIMP, where can they go?
What's the best place to go to?
Well, the bug tracker, GitLab.
And also if they want to discuss with us directly, it's ISE.
It's gimp.op.sl gim.org slash discuss, I think. Is all of that available on the GIMP website somewhere? Yeah, yeah. It's gim.org
slash I think, discuss.html. GIMP.diskurs.html.
And where does they have a bunch of forums
and even a matrix channel and everything.
I do others also do like your answers on the forum
and everything also.
But if you really want to get a lot closer,
it's IRC is the best, basically.
It's IRC where we are all the time,
so you can discuss and people are very welcome
to come and discuss and contribute and yeah.
Awesome.
Okay, so my main channel is Brody Robertson.
I do Linux videos there six-ish days a week.
I've got the gaming channel, Brody on Games.
Right now I'm streaming Final Fantasy Origin
and End of Magnolia.
Also the React channel, Brody Robertson Reacts.
Check that out if you want to just see clips there.
If you're watching the audio version edition,
find the video version on YouTube at tech over
T if you'd like to find the audio version
It's on pretty much every podcast platform search tech over T and you will find it
I'll give you the final word. What do you want to say? How do you want to sign off the episode?
I never tell anyone they're doing this so it's always fun to see what they say. Oh
Okay I have no idea. Well, it was fun. And well, I can't wait to like, just look
at my project is GIMP, look at GIMP.org and there is also The Mammoth, our movie.
Yeah, we didn't really talk about that, did we? I completely forgot to bring that up.
Yeah, because it was an interview about GIMP. But if someday you want to discuss about
Mammoth, maybe when we finally release this short film, I'd be happy to come back and we can discuss with the director, with Arjan.
Awesome, yeah. I'd love to do that.
Yeah, we can discuss like about Libart and yeah, Libart and working with Free Software and
she will have a lot of like angry rents against free software.
So yeah, so that's not easy all the time.
But yeah, so that's our projects.
And in any case, it was a cool interview.