Improving the export process in GIMP

While I have been working for days on the animation software for ZeMarmot, I wanted to “rest” my brain a little and came back to an old project of mine, which I should have implemented months ago.

So let’s get the troll out straight away: yes, this is about the split between save and export on GIMP. Now I was not there when the decision was taken, but I think it makes sense anyway. Saving is about “your work”, your process. XCF is — in such a view — not an image format, but a project format. It contains much more than the final visual image. Same as you would not save a “.mpeg“, “.avi” or “.mov” in blender, but a “.blend“, you don’t save a “.jpeg” or “.png” either, but a “.xcf” (another analogy for developers out there: “.blend” or “.xcf” can be compared to your source files — which is definitely what they are in a multimedia project — and the image or video formats as the compiled binary).

Yet I understand that some users have a hard time understanding this since there are nearly no difference in our GUI between saving and exporting.
save-export
What’s the difference, you’d ask? And you’d be right.

In the last 2 days, I refactored the whole GimpFileDialog code, which was completely mixing every concepts with hard-to-read if {} else {} statements inside a single class. GimpFileDialog became a generic parent class, containing only logics common to all file dialogs, and I added 3 specific children: GimpOpenDialog, GimpSaveDialog and GimpExportDialog.
This will allow us to do easily much more interesting graphical interfaces specific to each process.

As a proof of concept, I tested a “Scale at export” feature, which would allow to rescale images at export time, without touching the original. Who indeed never worked on some high resolution image, then needed to export it in lower resolution (to upload on some website, send through email or whatever…)? The current GUI would force to scale the original image, export it, then not forget to cancel the scale afterwards (if you forget, save and quit — for instance by habits — you are doomed: you just completely lost data and hours of high res work!).
Here for a UI test:
Scale for export in GIMP

Now before you tell anything: I know that the above screenshot does not look so nice, with a lot of wasted space on the right. I reused an existing widget (the same used in the “Scale Image” dialog, if you know GIMP well) and have not been trying to customize for this first version. The goal was mostly to test the new refactored code and we have some more thinking and discussion before actually adding these features (there are many more things that could be rethought to improve export, at deeper levels too).
The refactoring is now merged to master; the “Scale at export” isn’t yet though (feel free to test it on its git feature branch though, it’s functional).

Of course this is only the start of greater things. One may want to crop an image, change the color space (particularly if you were working in non sRGB), or even apply any GEGL operation before export (like “sharpen” after downscaling).
This should all be possible soon. Of course we’d have to work on the ideal UI to not clutter the export dialog. I will keep readers updated for when the next steps will occur.

I believe this is partially what some people would call a “Save for Web” feature, though I personally don’t like this naming since it is far too restrictive. You may want to change your exported image for far many more reasons that just “the web”.

Now I’ll be back to ZeMarmot (and I remind everyone who wants to support me to improve GIMP they can still support our Open Animation Film)!

The making of ZeMarmot: planning

Hi all,

Not many news, but you know, summer, exhausting crowdfunding, the dozen of Free Software meetings and events in summer… well it didn’t help! Anyway we are still there, and not dead. 🙂

July and August are a little out for Aryeom since she has to finish another project by end of August. As for I, I have been working on the design and spec of our custom software to manage Animation projects. I already had some C code back from June, but since I had been discussing with Konstantin Dmitriev (maintainer of Synfig and Morevna project…) about a possible collaboration, I may redo a new implementation from scratch anyway (Python maybe this time?…). I am also back working on GIMP, and the animation plugin. And of course, I am working on the movie script. I hope I will be able to tell you more about one of these topics soon.
Well that’s a lot, right!

We have been planning going into more visual ZeMarmot pre-production, with concept design, research and reference gathering from September. So in a month, we should be able to propose you cool images to chew on! 🙂
In the same time, we are discussing with AMMD and are meant to meet them in October about their first musical productions made for the movie. Really looking forward to it!

Also, even though the crowdfunding has officially stopped, Indiegogo allows successful campaigns to continue raising funds. So if you still want to fund ZeMarmot, be a part of its credits and/or get some cool goodies, you still can!
The way we see this, the funding should never stop: the more we get, the better will the movie be.

Oh by the way: thank you very very very much to all our current and coming funders! ZeMarmot movie will exist thanks to you!

See you soon.

Name dropping in the last hours of ZeMarmot crowdfunding

We had an awesome funding experience, but this is not finished. First because we still have a few hours left, so if you were planning on contributing and simply waiting for the last second, now is the time! Also because this is only the start of ZeMarmot adventure. With what we have funded, we are going to release the beginning of the movie in a few months, which we hope you will enjoy, then decide to continue supporting, financially or otherwise.

As of now we have 327 awesome funders from 36 countries, from smaller amounts to bigger ones (1000 €). Amongst our Silver Sponsors, 2 organizations officially support our project: apertus° (the first OpenHardware cinema camera makers) and Laboratorio Bambara (a research group on audiovisual art).
Our first ever Silver sponsor was Mike Linksvayer, former executive director of Creative Commons. We can also count Terry Hancock, Free Software Magazine columnist and director of the Open animation serie “Lunatics“, among our funders, and other contributors from well known Free Software or Free Knowledge projects: a long time GIMP developer, Simon Budig; a Mozilla employee, Xionox; a Creative Commons employee himself on a movie adventure too, Matt Lee; GCompris maintainer, Bruno Coudoin… And I’m sure I missed a lot of people.
Also several teachers from various universities, even a bookstore (À Livr’Ouvert) backing us officially, fellow artists, some using Free Software (like Tepee), people from the cinema industry (an executive producer for instance).

Of course the GIMP project has been supporting our project all along…
Screenshot from 2015-05-08 19:56:40
As well as Libre Graphics World, reference for Free Arts-related news…
LGW-screenshot
BlenderNation, linuxfr (French-speaking Free Software news), Framasoft, GIMPUsers, the VLC project, and so many others.
We were also featured in wider audience news website as Numera and Reflets, and even in television on TV5World, and twice on French FM radio.

Tristan Nitot (former president of Mozilla Europe, now Cozy Cloud Chief Product Officer), Free Software foundation, Creative Commons shared our project on various social networks or blogs.
Nitot-tweet
Ton Roosendaal, Blender Foundation chairman, called our initiative “a Libre movie project with the right spirit”.
ton-roosendaal-tweet
Now I’m just name-dropping. That’s because we were impressed by all this support. Yet let me be clear: you are all as important to us! Everyone of you. You show us that Libre Art, independent films and Free Software are cool and have a chance. Because seas are made of each drops.
We love you all.
Marmot Love

Animal figures in ZeMarmot

Wilber & Co. - Marmot encounter
Wilber & Co. – Marmot encounter (Creative Commons BY-SA)

Animal characters in our movie are in-between real animals and usual anthropomorphism that you would find in common animation films when animals are main characters.
So yes our Marmot wanders with a bindle on a stick. Yes he wears a bandana around the neck. But he does not speak! You won’t find any speaking animal in our movie (well unless we meet parrots maybe!). We even have a scene in our current script where Marmot will end up in a human city… as comfortable as a Marmot would be in a real city: not very!

This is a scriptwriting choice we made long ago, even when we were still thinking making ZeMarmot as a still comic. And though this was not a secret, this is — I think — the first time we reveal this here so clearly. This makes animation direction and music that much more important in our movie.

This is what inspired this “Wilber & Co.” joke. If you don’t know, “Wilber & Co.” is a regular comic strip we release in GIMP Magazine, drawn by Aryeom, script by both Aryeom and I. And if you don’t know even who is Wilber (or Tux), this is the mascot of GIMP, the awesome software for drawing and manipulating images we use and contribute to (and Tux is the mascot of the Linux Kernel which is also our Operating System core of choice).

I have now started again to work on ZeMarmot’s script, and while we won’t share too much details immediately, I thought it was interesting to expose some of our script choices. 🙂

Also in case you missed the news, ZeMarmot’s crowdfunding got extended by the platform so you are still encouraged to contribute if you wish to be part of an awesome 2D animation film under Creative Commons BY-SA/Free Art, made with Free Software and with a cool story (well I write it, of course it is cool :p)!
support-button-en