Zenphoto dynamic theme concept March 16, 2007
I started working on a Zenphoto theme to sort of mimic the performance of Google’s Picasa Web Albums service (which is very nice, and was recently upgraded to 1 GB of free storage, see my public albums there for a good example).
Picasa-Web made huge strides in the usability of online photo viewing, in my opinion. The main advantage was the quick loading of previous and next images when browsing an album in the one-image view (where most browsing takes place, or at least, where the user cares most about speed). It was all done in JavaScript and AJAX, of course, and images were even loaded in low-res (pixelated) first so you at least saw something if you were too fast for your connection.
The other real speed improvement came unexpected–simply using the ‘onMouseDown’ event instead of ‘onClick’ to trigger the image switch. It’s incredible how much faster the first feels. It’s like the transition happens before you even thought about it, as if it’s somehow reading your mind. I guess that just shows how ingrained it is that actions happen when we lift the mouse button. That probably makes sense for most actions, but for browsing a photo gallery I can see why instant action is preferred– it feels fast, very fast.
So without further ado, I give you an image page with dynamic image loading and navigation. Please, browse, take a look, and tell me what you think.
Things that still aren’t complete include:
- Comments, loading and submitting for each image.
- Navigating to a specific image (currently always goes to the first)
- Browser history/back/forward preservation
- Full-sized or larger-sized image view, with Light/thick/slimbox etc. perhaps
- Better theme design — should be a good one.
so don’t complain about them just yet.
It’s a proof-of-concept, to prove that it’s possible (and quite easy) to make dynamic and fun themes with Zenphoto. All the framework for processing images, iterating over objects, and page handling is done by Zenphoto, leaving the theme developer to focus on the javascript design, which is the fun part of course Zenphoto also makes it easy to “fall back” to non-javascript behavior very easily (though this theme doesn’t show that).
I’ll work to complete this theme in the coming months, hopefully releasing it sometime soon in a more complete version. The code for the dynamic image navigation may also become a part of the Zenphoto core, at option to be turned on or off by the user. Themes wouldn’t even need to be changed to take advantage of it. Please, leave a comment, tell me what you think! Thanks.
For questions and comments please use the forum or discuss on the social networks.