Wednesday, 24 February 2010

Batch Processing and GIMP

Albany Senior High School has a blog focussing on Open Source. It's mostly a collection of short articles along the lines of "look what I found". I was particularly interested in the graphics posts, which hope to address perceived shortcomings in GIMP - the huge GNU Image Manipulation Program.

Batch processing, where you want to do the same thing to many images, comes up a lot in discussions about the GIMP. After a short introduction to Phatch it was interesting to read the comments where a program called Irfanview was praised. This was a surprise, but it highlights a common misunderstanding between Windows and Free Software users.

IrfanView is not Open Source, nor is it Free Software. The zero-cost version is licensed to restrict sharing the software, and you cannot use it as part of a business unless you purchase a business license. That is what "personal and non-commercial use only" means.

GIMP does have a batch process mode, and a script-fu console, just to help with repeated operations. If you don't like that, there is ImageMagick, which can be used in scripts alongside common file manipulation commands and other script languages. These two approaches are more powerful and flexible than Phatch, a point made on the phatch website. However, they also require commandline use.

Part of GIMP design philosophy is that users will create plugins for wanted features - particularly for things that are scriptable, like batch processing or panorama creation. Not everyone can script, or wants to, though.

Part of the Free Software philosophy is that users will share their programs. This means that popular functions are often available as plugins from your GNU/Linux repository (windows users will have to hunt online). It is worth firing up synaptic or yum-extender and having a look.

Ubuntu/debian have a batch processor, which works much like phatch, included in the gimp-plugin-registry package. A panorama editor (subject of another post) called Pandora is in a seperate package.

Windows users are used to a system where, when a program does not do what they want, there is no way to make it. This means that they give up quickly and go hunt for another program, usually some boutique freeware app. This is understandable because proprietary software is not only closed source, but is often monolithic and self-contained.

This is not uniformly the case - non-free programs like Maya include plugin interfaces so users can manipulate the parts of the program that matter to them and not to the vendor. For similar reasons, software media players are skinnable. These programs are amongst the most popular today, which shows that users want to be able to control their computing experience, even if it is just to paint the screen a different color. The enthusiasm for unlocking closed platforms like the iPod (via Rockbox) shows that this desire to control extends beyond the user interface.

Free software, by contrast, is modular in nature. This allows users and programmers to work just on the bits that interest them. It also means that popular agglomerations like GIMP and are highly extendable. If the basic install does not do something that is the sort of thing you'd expect to do with it, then the odds are good that someone with the ability has also noticed and written a plugin to fill the gap. Experienced GNU/Linux users become accustomed to looking through the repositories for extensions and libraries before they go look for an alternative.

The sharable nature of Free Software also means that a good idea that appeares in one program quickly migrates to others. This is why you find a few large projects with huge complexity while there are a lot of highly limited projects whose design philosophy is to stay as light as possible. But there is little or nothing in between!

In the non-free world there is a spectrum between the ultra-pro apps and the basic ones. So it is possible to find a program which fills your need and just your need in many cases. This happens because the vendors want to maximise revenue. Adobe does not want to sell you photoshop pro when you are happy with less, and they can charge you again if you decide, later, that you want to upgrade.

The result is the range of licensing options, and supporting technology, which software freedom proponents call "scams" or "antifeatures". It looks like a program has been tailored to your needs, but computers are not like suits: what the vendors have done is hobbled their programs in the hope that they will make more money by segmenting marketplace. If a working-stiff suit was exactly the CEO edition, only the tailor had sewn up the pockets (and made unpicking the stitches illegal) just so it could be sold at a lower price, you'd not be far off what the proprietary software industry has been doing.

Adobe could sell their full-featured Photoshop for the minimal featured price. They hope that they will maximise profits by providing different versions. It is possible that, by selling at the lower price, they will get enough custom to make up the difference, even exceed it. It is certain that they won't actually lose money even if they don't maximise profits. But that is a hard sell - companies exist only to make money and their boards have a strong motive to make decisions which are easily argued to maximise profits, even if they don't. Customer needs are secondary - in tech, they are easily marginalised since the customer seldom knows what is possible. Providing good technology does not even get a look in.

This is why you find the geeks, the hobbyists and professionals who care about good technology, increasingly adopt at least an Open Source stance. Much as auto engineers tend to buy cars they can service themselves. A Software Freedom stance becomes attractive to those who are aware of the subtle impact that computer systems have on our way of life.

Currently of great concern are the secret trade talks which some industries are trying to use to undermine hard-won freedoms. We don't know much about ACTA, and what has been leaked is hard to confirm or refute. There are serious concerns that the s92a - Guilt By Accusation law will come back as an anti-counterfeiting measure.

For more information on this latest attempt by the USA to export its more draconian laws, visit:

No comments:

Post a Comment