If the album object is a GIF, the original should be used in the album, regardless of any other settings. The slide image should never be converted to a PNG. These days, the only reason to use a GIF at all is to show some animation, and converting it to PNG kills the animation. Sure, the PNG is smaller, but if it's no longer animated, what's the point?
I usually hate it when an application does me a "favor" that I didn't ask for, but I think this is one instance in which it should be done. I'm doing this automatically in all of my skins, and no one's complained - the skin traverses the tree, and any GIF is tagged Use original. I think the core should take care of this.
If a user really, really wants to include a non-animated GIF, and wants to have it converted, let him convert it before adding it to the project. Almost any image-processing app can do that, and there are plenty of places online to do it, too.
Alas, thumbnails probably need to continue to be converted. Animated GIF's are sometimes quite large, and a page of them could be a very slow-loading experience.
Might want to include .apng images too. Browser support for .apng has improved, must try one in jAlbum. APNG has the advantage of transparency and could be better than gif.
That gets a little more complicated. An animated PNG can just have a .png file extension, so it's tough to tell whether it's animated or not. And unlike GIF's, jAlbum users often add regular PNG's to their projects, and usually want to have them converted.
But it gets worse. With a .apng file extension, browsers recognize it, but Windows doesn't - it has no clue how to display it or open it. And jAlbum, likewise, has no idea what it is - it won't accept it as an album object.
It does appear to be supported in virtually all browsers except IE11, so that's not a problem.
I'd like to make a renewed pitch for this feature request.
Having just eliminated the need for one tree traversal in my init.groovy files (I'm now handling object exclusions in a more efficient way), I would dearly love to get rid of the traversal that takes care of GIF's (it was actually part of the same traversal).
This could be handled either when an object is added to the project - automatically apply useOriginal() to the object - or when the project is processed: makes no difference to me!
Ordinarily, I'd agree with you. But as I said up-thread, I have a very strong suspicion that users are virtually never adding non-animated GIF's to a project.
It's actually tough to find a non-animated GIF out on the interwebs, one to use for testing. And scaling a non-animated GIF doesn't buy you much. The big GIF's are the animated ones - the non-animated ones are more like the attached 512x512, which is under 30KB.
And guess what happens with this example? After jAlbum converts it to a PNG, it's almost 50KB. Um....