<D <M <Y
Y> M> D>

Photo Gallery Program Roundup: Photo gallery generation programs are one of those classes of application where it's easier to write your own that does what you want than to use anyone else's, or at least that's what you think before you start writing your own. However, I am making a good faith effort to resist this impulse, so I've been looking at photo gallery generation programs written by others. I do this because I'm getting tired of the drab Apache directory lists that currently adorn my picture galleries, and I'd like something nicer-looking, with thumbnails.

Earlier, I mentioned that a program called Curator was the best of the lot, but after I wrote that the pangs of conscience began to eat at me. Had I really evaluated every damn image gallery program that fit my arbitrary requirements? Hadn't I just looked through Freshmeat and picked the first one that looked good? And what of Marsha? Will she love again? Etc.

So you know where I'm coming from, I will reprise my award-losing technique for reducing a cluttered field of programs to a manageable number, and present the criteria by which I decided which programs to even look at. I like image galleries with the following properties:

None of the programs I've reviewed do exactly what I want them to do, and in the rough-and-tumble world of photo album generators the approved way of doing configuration is to hack the generator. This brings up an interesting point about reviewing such software: it what point does it become fair for me to complain about the lack of a feature, when I could just add the feature? Obviously there's some cutoff point, or I would dump plaudits upon an empty file. I have chosen to review the default behavior, and talk about how easy it seems to make the program do what I want.

To complete this review I need your help. You, the NYCB reader, are also the consumer of my photo albums (there's also the people who come in through Google image search, but they're only going to look at one picture, which Google already found for them, so I don't need to make things easy for them). So let me know what you want my image galleries to look like.

  • curator is the defending champion. It's easy to hack and the galleries use CSS, have navigation, and look nice. It has per-image pages, but they look pretty good, and have navigation with cool thumbnails of the previous and next pictures.

    Curator has a comment file, in the form of a per-file attribute file. You can group files from different directories and it will generate an album for each group. I don't think I have the patience required to exercise that feature (all pictures of Rachel? All pictures of me making a stupid face? All pictures of dinosaurs?)

    Curator also has some completely ridiculous features, like two global indexes, available from every page, containing a thumbnail of every single picture on my site! That's pretty near 2000 pictures, daylight savings.

    Summary: Curator's navigation and presentation is great, but it's difficult for me to add a caption to a picture, which is a feature I think I'd use if I had it.

  • MT2 has the clever idea that a large photo album should be spread out over multiple Web pages. It's plugin-based for easier hacking. There are plugins that links directly to pictures and has no navigation, and a plugin that links to per-picture pages and has a "back" link.

    It's got a simple per-directory caption file, and also a per-directory group file that's easy to use and lets you override the regular ordering of pictures (which I currently control by putting numeric prefixes on the filenames).

    MT2 has a thumbnailless view, which I don't think I need. The only navigation was the ability to go down the hierarchy or to go one step up. I didn't like any of the default plugins, although dropshadow was okay. plainhtml was way too plain and ate up vertical space like nobody's business. brushedmetal was just tacky. I would go with something like dropshadow.

    The major things I'd like that I'm not sure I can implement in MT2 are navigation: full access to the hierarchy from every page, and (unless I link directly to images) being able to move from one image to the next or previous image. The per-directory comments file is great.

  • YAG is very bare-bones. It assumes that you only have one directory full of images, so it's got no navigation at all in its galleries. It generates a page for each image, and it has themes with a templating system. It doesn't have any way of captioning images.
  • Photoshrink also assumes that every image gallery is an island. It does image pages and has a per-image captioning file. It's themable with plugin Python classes. It's also got a mod_python interface that lets you generate pages from the web. Here's a site running Photoshrink.
  • Pyrite Template is a little templating system which has a bloxsom-type blog mode and a photo album mode. The photo album mode makes an album out of the pictures you specify on the command line, so there's no inter-album navigation going on there. There's also no intra-album navigation on the image pages, unless you use the frame-based index generator, which might actually be a good idea. Its themes are done with plugin Python classes and HTML/YAPTU templates. I had to hack Pyrite Template a fair bit to get it to work.
  • Apache::Gallery is written in Perl. but Pete Peterson II specifically told me to take a look at it. [UPDATE: He actually told me to take a look at a completely different program called Gallery. See correction.] I haven't actually installed it because I'm getting tired of doing this roundup and I don't want to have to figure out mod_perl right now when I can just go to Pete's installation and make comments based on what I see there.

    Apache::Gallery actually constructs the galleries dynamically, rather than generating HTML ahead of time. It lets you nest albums, so I assume it would accept my chronological nesting of albums. It has a mess of tiny NewsBruiser-esque templates in a templates/ directory, which are given life by some sinister force deep within the handler() subroutine. You can give a caption to an image or album, and random users can also submit their wiseacre comments to images. The navigation is good.

    As far as I know, of all the reviewed image gallery generators, only Apache::Gallery currently hosts a picture of Seth, but I have the power to change that. Will I use it responsibly, or plunge the world into chaos? I haven't decided yet.


  • [Main]

    Unless otherwise noted, all content licensed by Leonard Richardson
    under a Creative Commons License.