A quick update about the mirror painting feature in GIMP. I have regularly people reminding me, and you are right about doing so! But know that It is not forgotten. Simply my life has been a little going on many directions lately, with moving back to my home country after about 5 years on the road (and still not fully stable), trying to manage a non-profit for Libre Art in Paris (you’ll hear very soon about it!), and various projects.
Yet the mirror-painting project is not dead. I simply know that GIMP 2.10 is not to be out just yet, so there is no need to hurry right now, while there are much more pressing things for me to do. Also be assured, with the platform I used, I don’t get the money until it is done, which I think is a good thing.
Anyway I’ll give more news about it soon, I hope. But you’ll likely hear about other projects before.
See you soon!
A small news about a project I have been following for quite some time, and even participating a little, though not as much as I would have wanted unfortunately. Have you heard about the apertus° project? Well that’s an OpenHardware project, whose goal is to make a real and professional cinema camera.
Apertus° is running a crowdfunding campaign right now, just a few days to close in, and we really hope everyone interested would make this story happen!
To know more about the project, read below.
Apertus° was born from a community of hardware hackers around the Elphel Cameras. Elphel cameras are themselves OpenHardware, and using Free Software, which makes them awesome already by definition. But they are clearly rather made for technical projects: science projects, and such. One of the most famous projects based on an Elphel Camera is their usage for Google Street View.
Several people in the cinema business liked the idea and hacked something from these, but that was not enough. After all, why wouldn’t it be possible to have a real professional-quality cinema camera fully OpenHardware? This is how the apertus° project, community, non-profit entity and even small company came to life. Notice the ° in the title? This is for “openness”, where usually companies and people would set a ™ for Trademark, a clear position taken against all the restrictions most companies would like to set on everything and everyone.
We know about small scale OpenHardware projects (well they may be high scale in diffusion, but the hardware itself is small), like the now-famous Raspberry Pi or the ColorHug. But this is another level.
Of course you will say there are a lot of other huge and awesome hardware crowdfunded nowaydays, but you are basically funding for people to make proprietary product and a company without real control of what will happen after. You get your perks, but then what? OpenHardware is a complete different story. You are building a future where you have the control. This is not just about this specific object, a camera or whatever this is. This is also about sharing and spreading knowledge, not being considered as a walking wallet and an idiot. Because now it is a camera. Later it can be your fridge, your whole computer, from the motherboard to graphics card, your car maybe even, and why not your whole house! In a world where we are renting more and more, where every object is now a black box that you are forbidden to open (or your warranty is told to “expire” prematurely), where even car dealers can’t fix your car, with proprietary electronics, anymore, this could be a refreshing change of pace.
Let’s take back what we were supposed to own, one object at a time!
So now, if you are not interested at all about filming yourself, I understand you wouldn’t fund the bigger perks, but what about stickers or a t-shirt to show your support for the project?
And if you are interested into filming, well, consider funding for your own OpenHardware camera! I can tell you, I reserved my own camera by funding long ago. 🙂
Have you heard of the Project Gooseberry? Well this is the last animation movie project by the Blender Foundation. You may have heard of their previous Open Projects: “Elephant Dreams“, “Big Buck Bunny” (and the brother game “Yo Frankie“), “Sintel” and “Tears of Steel“. Mostly short movies and one video game. Well the project Gooseberry is the last project of the family. Basically the concept is easy: the project’s finale result, as well as all its raw data, is released under a Creative Commons attribution license, as were all previous projects. These movies are free as one can get.
And this time, they want to go even one step further, as they are attempting a feature-length movie, which is huge. If the project succeeds — and with the Foundation’s track record, I’m sure it will — this would be a very important milestone for Open Cinema, as well as for Free Software (since one of the goal is also to improve the Blender 3D software).
Anyway we funded as a bronze sponsor. There are only 3 days left, and they have not reached yet the funding target. Thus if you like these kinds of projects, dear readers, I would really suggest to go and fund as well! And some day, we will make our own big project, and we really hope you will fund us this day too. 🙂
Our (late) report in 3 words: it was great!
Our experience in an image:
So there are obviously two sides to it, right? First one, the talks! Second, the fun!
The Known Topics
Well many interesting talks. I was looking forward the talks related to color management (Chris Murphy and Richard Hughes), because that’s a topic I’m trying to understand (though with great difficulty); I appreciated the Magic Lantern presentation, which was already installed on my own Canon DSLR camera, a project I’m following more or less closely; as well as the Entangle one, for tethered camera control, and which we have tried lately for stop-motion animations in particular (actually I had already contributed a few patch to the project and did encourage its maintainer to present it to LGM); and many others. But these are projects I already knew of, more or less. The great part is always discovering new projects!
The Right Way to do a Workshop!
In this “unknown project” category, my big favorite was Steve Conklin, first for his “Knitting machine hacking” talk, but even more for his corresponding workshop about “The basics of reverse engineering: How and Why?“. Well he prepared some home-made hardware, two cards plugged together, one with sensors and joystick; the other with some digital display, and the goal of the game was to understand how the card with sensors would work and the kind of data it can send, then remove it, plug our computers instead directly to the display card, and send the discovered commands.
Let me tell you: you won’t magically be able to reverse engineer your knitting machine directly after this workshop, but it gives a very good idea of the kind of work involved. And this was very enjoyable. Every workshop should be as well prepared.
Then another interesting project I discovered was Natron, a compositing software, graph-based, mainly developed in a research context. One of its main selling point was that it was able to use any OpenFX plugins. If I got it correctly, OpenFX is a Free Software, which works only on Windows, with a huge set of plugins, most of them developed by third party and proprietary. The Natron developers therefore regretted that we missed on the opportunity and their compositing software was there to fill the gap. The demo was great and it looked promising.
I only regretted the fact that I felt they could have contributed to improve Blender instead, by giving it the ability to use OpenFX plugins as node operations. Their main argument was unfortunately a misunderstood license issue, which was not a real issue. There is no law against using proprietary plugins on a GPL software on the user side. As long as you don’t distribute them, a user getting access to the software and the plugins separately is perfectly allowed to run them together.
Moreover there exists also this trick implemented by many software to diminish even more any risk: any plugin engine should be developed in a separate process, and this particular process is licensed differently, under a more flexible license, for instance LGPL.
Well it’s ok. It’s still an interesting software, and hopefully development will be going further. Let’s keep an eye on it!
A workshop intrigued me, as well as many of the other GIMP and GEGL developers: “GEGL is not GIMP – creating graphic applications with GEGL”. Someone, named Manuel Quiñones, that we never heard about was using GEGL for a 2D animation software named xsheet. Of course that was to intrigue us and so we went to his workshop.
Well one good point for GEGL is that, when people totally unrelated to a project start using it, it’s a good sign it reaches a stable status. And that helps improve the library itself.
Also more personally, this obviously grabs our interest because we also do 2D animation. It turned out the software was definitely not in any usable state yet. It was just a skeleton of what it could become in the future. But this is still interesting to see new experiments to do 2D animation on Linux. We’ll keep an eye on it.
LGM is every year the occasion for a GIMP meeting, and so was this year, though I feel we did not discuss even half of what was planned, which saddens me. Well we discussed quite a lengthy bit about the relationship between developers and designers. I won’t detail this part.
We still managed to list the remaining major checkpoints to deal with in order to be able to release GIMP 2.10, which is a good step forwards.
Also another part I am happy we discussed, though we did not get time to go deep enough, was the release process. And in particular I was proposing to pass to a rolling release system, at some point in the future. The fact is that we often have features, ready for years, in our development tree. Yet these features are blocked in the grand scheme of the major/minor release system.
Well what about being able to release single features, or even a single bug fix, if needed be?! The good news is that this idea seemed to have been globally well received. The bad news is that we probably won’t get to it until at least GIMP 3.0. And that’s a long long time in the future. So the discussion just happens to be pushed back to later for re-discussion.
The main problem is that before the GTK+ 3 port (happening for GIMP 3), having rolling release would mean developing things both for GTK+ 2 and GTK+ 3. Well I personally don’t mind. I think that in most cases, the overhead would not be that huge. But most were not ready to take the step forward. In any case, I still hope this will happen some day. I will keep pushing. 🙂
Well no that’s not a project name. This is a photographer, Patrick David, major GIMP user. He was definitely everywhere this year, taking photos with strange DIY apparels, using salad spinners (or similar) and university whiteboards to make light his own. We went to a photo walk with him, the day before the talks started, and Aryeom went to his workshop.
It is definitely interesting to see someone enjoying one’s art so much. And so he deserved well his own point in my report. 🙂
Leipzig’s Museum of the Printing Arts
The day before the actual event starts, we went to the Museum of the Printing Arts, and that was very cool. I recommend this visit to anyone passing through this town.
A very interesting fact was that the various machines were actually working and in use, by any locale artist wishing to try one’s art with older printing technics. Just too bad we did not stay longer, Aryeom has really wanted to try lithography for a very long time now.
I wonder if such access to old printing machines exist in other cities, and in particular in Paris. Anyone knows?
The first day of talks ended with a movie night, and this was the occasion for visioning various short films under Free licenses in a cinema. And there were definitely interesting films, many made — it would seem — in school context.
I would like to find again these films though. Unfortunately I cannot find the list of projected movies anywhere on the LGM website, and the organizers don’t seem to answer my many emails. ;-( If anyone reading this has this list, I would really appreciate you copying it in the comments. 🙂
For helping the GIMP project, Aryeom had this awesome idea to paint an actual Wilber — nothing digital, with actual acrylic paint on canvas — and to auction it, donating all the money to the GIMP project. Well we could have organized this better, but we still had nearly a dozen bids and the paint got sold to a nice locale fellow living in Leipzig.
We unfortunately have no good picture of the paint, but here is one that Michael Schumacher took before it was sold.
Note: if you ever follow us, you might have recognized that this was inspired by a digital painting that Aryeom did earlier on GIMP.
And the most important for the last! The food! Well we had a lot of bier, some schnaps, and some sausages, obviously. A lot of potatoes cooked in all sorts of manner!
One of the highlight of the stay was definitely Auerbachs Keller, a historic very old restaurant that Goethe used to go to, and which is featured in his famous Faust play. Well there are actually two restaurants, one small and expensive and a big, more like a family canteen, cheap, but just as awesome. Just go to the cheap one. It’s definitely worth it. 🙂
And to end the two week in a firework, we found a place where they would serve Schweinshaxe, a typical Bavarian cuisine. Well that was not completely locale then, but for some compelling reason, Aryeom really wanted to try this, and the awesome fellows of the GIMP team searched and found a very nice restaurant.
So here is a small animated Schweinshaxe (the one Aryeom ate! Well I helped her at the end… :p) to end this on a tasty note:
Same as last year, we will be present at the Libre Graphics Meeting, 2014 edition. This time, the event will be held at Leipzig, in Germany, from April 2 to 5, and once again, we are sponsored by GIMP to be present.
GIMP is one of the main sponsors, but for the event to continue to exist, it needs you. I would advise anyone in capacity to help to participate to the crowdfunding. Basically let’s say it this way: if you use any Free Software for graphics, be it blender, FontForge, GIMP, Inkscape, Krita, LibreOffice, MyPaint, Scribus… anything which has a graphics component, well if you have the nickel to spare, helping the Libre Graphics Meeting helps you back. This awesome meeting allows contributors of all these incredible Free Software to gather, discuss the future of graphics and Free Software, coordinate, and release awesomeness.
Also if you are around, don’t hesitate to come in. Participation is free of charge, and this year again, the program definitely looks promising again. We may update more later! 🙂
Three weeks ago, we announced GIMP 2.8.8 and today we are announcing already a new version 2.8.10!
A few major issues, in particular on OSX, were the reason for this quick bugfix rate. Though personally I hope we’ll keep a fast pace, at least faster than it used to be! 🙂
P.S.: if you don’t understand the joke in the small comic above, maybe that means you have not seen the old Karate Kid movie, the one from 1984. Yes that’s a joke for elderlies, I know. 😛
Just a half off-topic. “Half” because that’s not about a Studio Girin production, but this is still about a former project of Aryeom Han, that you may know by now as our Art Director. “Grandma Ocean” was her finale project at Sangmyung University, along with Kang Hui-jin.
“Grandma Ocean” is an 5-minute animated documentary, telling the story of Haenyo. Haenyo are diver-fisherwomen in Jeju Island, south of South Korea. These people are an important cultural piece of Jeju and Korean history.
Well this short movie has been in quite many festivals already. And it will be presented again during the Korean Film Festival in Paris, happening between 29th of October and 5th of November 2013. Unfortunately Aryeom cannot be present at the event, because in New Zealand right now.
So if you happen to be in Paris next week, and in particular on Saturday 2nd of November, don’t hesitate to get tickets to go and watch it in the “Shortcuts #2” section. Then tell us what you thought in comments. 🙂
Actual coding has not started yet. But the design and the implementation has been discussed quite a bit with various people of the GIMP team, and outside the team. Here is the evolution.
Destructive “Multi-Brush” or Non-Destructive Filter Layer?
On IRC, we discussed if it could not make sense to use the GEGL mirror operation for this non-destructive real time mirroring. Well it does, but I believe it is a different workflow. This too will be definitely possible when we will achieve our GEGL port, which should be followed soon by the implementation of effect layers (a topic I am also highly interested in and will probably work on as well soon if this funding succeeds). But that would be for a workflow where we want perfect symmetry all the time on the layer, since we can’t deactivate mirroring temporarily on a layer (or rather: we can, but then we lose the whole mirroring result). Thus if we want to add asymmetrical imperfections, it means to either paint them on separate layers (which may be considered very inconvenient and ugly workflow by many painters), or apply the layer, which in the end is the same, but is also a worflow breaker. So I prefer to stay on a simple destructive workflow, made for painters.
Also it would be a problem for my generic code design (see below). But of course, my position may still evolve if I can find a good easy workflow by still using GEGL operations.
In some (hopefully close) future, users will have likely both options though. And that’s good!
Generic Design: tiling, “multi-brush”, etc.
Many people asked me about tiling. I also heard about, and tested, the multi-brush feature in Krita, mandalas and such, which is basically a generic evolution of mirroring.
Some mathematician even asked me about more complicated mathematical transformations: hyperbolic, homographic, and whatever else you want. Well it all made me think a lot.
I wanted to do something generic from the start, but it is always very enlightening to hear all the crazy — yet incredible — ideas that users have. Ideas you never thought about when you first imagine the tool. So I have decided I will try to go even more generic than my initial idea. If I get funded, I will work on a good design to propose a very good level of genericness, at least in the plugin API. That means that the tip of the iceberg, in the UI, will likely only be mirrors. But I want to propose an API for people to write down their own transformations, that you will be able to share as plugins. This way, it should be possible to do easy tiling, “multi-brush” (multi-rotations at regular intervals of your drawing) or whatever complicated mathematical transformation you have in mind. Not sure yet how easy it will be, and maybe there will be complications. But I will do my best.
Usability and UI Design
I am more and more interested into tying the transformations to an image, rather than only to the tool, like you saw in the demo. Tying to the tool is a nice simple idea, but is very limited in terms of features, I believe.
One of the main issues I see with the tool option implementation, is that when you close your image, you lose your mirror axis. It is ok if the mirror is basic horizontal/vertical at the image median, or if you do one-shot speed-painted images. But what about long term projects with some mirror at a specific angle and specific coordinates?
Also what if you want more than 2 mirrors at a time? You will want to be able to manage them, maybe even name them, use one on some layer, but a different one on another, and such. So we could imagine a small dock for transformations, similar to what we have for layers, channels, etc.
The following is a design that someone showed me for guides. Well that would be different, but you can get an idea of what I mean:
And since we want a generic design, you may want to manage also your homebrew transformations (tiling, etc.). Such could be done in this dock too.
Of course we still want to be able to easily create, move, rotate and destroy these transformations for basic or one-shot usage, without ever opening the dock. I believe both use case could be handled beautifully.
Moreover lately we heard rumors that our UI guru may be back very soon. If so, the GUI may benefit from his input and designs.
Funding started extremely well, with about 20% in the first day or so. But now, 3 weeks later, we are only at 52% of the amount required.
On one hand, I am a little disappointed. Some people ask us to crowdfund all the time and assure us that GIMP would fund millions of dollar if they wanted, but I can’t even fund 2000 EUR. Anyway it’s not finished just yet. I have about 10 more days in my planning, so let’s hope I make it! 🙂
On the other hand, I also blame myself because I definitely suck at marketing. I did quite well the first week, following many discussions everywhere, but it was also so exhausting that I kind of tried to do anything but promote my project afterwards! So now, after a few people asked me, here was my status report.
Interested by the feature? You can still fund the project if you like it! 🙂
Many people brought up the idea lately of crowdfunding to improve GIMP. Well I decided to give it a try. This funding initiative is an experiment for me to verify the viability of crowdfunding for features in Free Software.
I am a capable developer, with an experience track (see below), part of GIMP’s core team. If this is funded, I will implement this feature and make it to the GIMP main code.
implementing a mirror/symmetry painting feature into GIMP.
GIMP is one of the main multi-usage, multi-platform (Windows, OSX, Linux, BSD…) image processing tool. On the painting side though, it lacks some common features. One of them is the ability to draw in symmetry mode in real time.
In order to have a drawing with perfect symmetry, currently the painter needs to either draw very simple forms, use some filter/plugin, or duplicate/flip layers. These are by far less practical and intuitive than seeing one’s symmetrical drawing coming to life in real time as you draw.
I have met some artist who uses vertical mirrors in other software for instance to quickly sketch characters at first stages of design when time is worth more than arts. I could also easily imagine it would greatly simplify creation of symmetrical designs (logos, etc.) using complicated forms and drawing.
And probably many more example. For instance the original drawing in the below video. The painter Aryeom Han used my first (unstable and far from perfect) implementation test to draw a lake reflection, later modified with scaling, gradient and the warp tool to give it a watery feel.
The crowdfunding starts on Monday, 16th of September. I hope it to be finished in about a month. Once I will finally start on the feature, I am planning for the implementation to be finished in a few weeks (the feature will need to be reviewed by peers to hit the branch, which may take more time, but I will attend to it being released eventually).
my latter implementation had symmetry modes as tool options. I am testing other possible implementations as well though. For instance it may make more sense to tie symmetry axis to an image. Not fixed yet.
there should be actions (shortcuts) to enable/disable symmetry fast.
the basic idea is to have at least, and easily available, the basic 3 symmetry modes (horizontal, vertical, central), which you can use separately or in any combination. Lately I have been wondering if I could not go even more generic by allowing to rotate symmetry axis into any angle. I may not implement it (I may though if the funding has a huge success), but if possible I will at least try to make a generic system which would allow this in the future.
the symmetry axis or center could be displayed (or hidden).
axis/center can be moved across the canvas by simple drag’n drop in the same way as guides are.
I have a current usable work in progress as shown by the video and the screenshots. But now the real work will begin to make it solid and reliable.
Disclaimers about what to expect
I will listen to comments.
It is planned for main GIMP integration. This won’t be againsome new fork, doomed to be unmaintained and disappear after a few years. This is “lasting, durable and solid” feature.
The current proposition may change in the course of the development. I can’t promise how the finale version will be *exactly* because it requires discussion and approval from my peer developers from the GIMP team. I am not alone to decide.
Being a whole new feature, it won’t be expected to be released until GIMP 2.10 gets out (no release date yet from our team), and even later if the project could not be funded or for any other reason I don’t control. Nevertheless as soon as patches will be out, everyone is welcome to compile the project from the development branch in advance. Note that if some people are really waiting for such a feature and the project gets an awesome funding, I may try and provide unofficial binaries, so that you don’t need to compile yourself.
Depending on the success of the funding, I may implement more advanced options related to this feature.
I will give news on the advancement of the feature on the Studio Girin page.
I will give news on the advancement of the feature on the Studio Girin news page (basically this blog where you are right now! :-)).
I am a core GIMP developer, freelance, working mostly with a specific painter. I have been part of the last 2 bugfix versions (2.8.4 and 2.8.6) and an active part of the next big release too (2.10). You can have a look at my current GIMP involvement at Ohloh or on GIMP bug tracker.
Non exhaustive list of features/bug fixes I already developped for GIMP:
XDG support of GIMP in the incoming version (config files under $XDG_CONFIG_HOME);
Configuration now saved in the Roaming Application Data folder on Windows;
support of Freedesktop’s Thumbnail Management Standard;
several UI improvements and UI bug fixes;
several bad crash fixes (notably the annoying crash when you unplug a graphic tablet! Since GTK+ 2.24.19, this should not be a problem anymore!);
improvement of the language list for localization (all language name are self-localized);
several improvements already integrated to the Animation Playback plugin (ability to scroll and zoom, refresh, frame disposal selection, step-back, shortcuts…);
even more work in progress on the Animation Playback plugin (which I now maintain) to make it a really useful plugin for 2D animators out there;
I contribute to various other projects, as you can see on this Ohloh page (though some are not listed, in particular all those which still use CVS or svn, hence patch authorship is lost. For instance I had a few bug fixes for blender, etc.).
If the funding is successful, I will continue to propose other features, for GIMP mainly, but probably also for other software I use. I currently work as freelance, and working as a “crowd-freelancer” would be an awesome position if possible. I would love being able to live by working on Free Software and make the world a nicer place. Wouldn’t you?
So even if this feature request is not your favorite, I would say that you may still gain from a successful funding if it makes me continue to work on advanced features for GIMP, maybe even full time? Of course I will continue to contribute in the core team anyway even with a failed funding, but there is just so much you can do when you are unemployed.
A non-exhaustive list of features I am interested in (and might propose to develop in the future as crowd-funded projects) are for instance: make the animation-playback an awesome tool for all-purpose animation makers, macros, unlimited-sized layers, “linking” external images as layers (close to the Smart Object concept, but closer to Blender’s linked objects, which is, I think, more powerful), non-destructive editing, select several layers at once to do bulk changes, improve export options (for instance down-scale at export time without touching the original), and many more.
Also if this works well, this would be a good precedent for other freelance developers to attempt to work this way and improve GIMP (or other Free and Open Source Software) even more. I think that’s win-win! 😀
Finally know that I don’t only work on GIMP, but also with GIMP, or in particular with the nice painter who drew the “rabbit near a lake” in the video, and we aim at producing comics and animations, all using Free Software, and under Free Art licenses (CC by-sa). So funding me is also funding Free Art, just in case you need more incentives!
In the latest news, we rebooted a long time project of mine with Aryeom. No animation this time, but a comic I have on my heart! You will find it at http://zemarmot.net. I actually used to draw there, but well… truth is I can’t draw! Also I was just to lazy, with like 1 strip every “never”.
So now we set a real schedule, with two new strips a week, every Monday and Thursday, and Aryeom will draw. We are only in the very start, merely posing the background of the character and only 4 strips so far. Basically it will be about a Marmot, but not any marmot! A very lazy one, I would even say professional lazy!
I hope you’ll enjoy!