Zenphoto 0.1 preview

    I’m not making the source available just yet, but here’s a preview.

    zenphoto 0.1 test gallery

    Right now, it’s a fully navigable gallery, with full on-the-fly image processing, a simple design using new template functions, display of image and album metadata, and more. Yet to be implemented are the admin interface (which you can’t see anyway :-) ), storing image metadata, comments, cruft-free URLs, and lots of other stuff…

    This week, I fully implemented templates, which was big. It’s a simple template system. For example, this is how you print album thumbnails in the gallery index:

    < ?php while (next_album()): ?>
    < ?php printAlbumThumbImage(getAlbumTitle()); ?>
    < ?php endwhile; ?>

    Minimal code for the loop, yet still powerful. The functions run in “contexts” which give internal template functions more info on where they’re called. next_album(), next_image(), next_comment() etc. control the context switching behind the scenes. It’s mostly for error control to make sure you don’t call a function out of context, but I still think it’s cool.

    This release is a fully functional photo album (as you can see). From this base, I can start on the features that will make zenphoto really cool. I’m still looking for ideas on how to make it even better, so keep the comments coming.

    [ Update: I just cleared the image cache so you can see my slow server process the images on the fly. The album to test is iStock; it has some 5-megapixel images, and you can really feel it churning away. But-- most importantly, the page loads fast regardless of how fast the image loads, which makes it feel responsive, and all further views of that image are instant. ]

    [ Update Again: Okay okay okay, I just got this great idea: Predictive image processing. Based on some algorithm, start preloading normal-sized images based on the thumbnails that are currently being loaded. And do it through hidden IMG tags in the HTML, which return 1px blank images (gasp) so that there's still no lag from it. I'll see. And it'd be optional of course. ]

    For questions and comments please use the forum or discuss on the social networks.