Archive for the 'zenphoto' Category
Zenphoto dynamic theme concept
Friday, March 16th, 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.
Zenphoto 1.0.8.2
Friday, March 2nd, 2007
Zenphoto 1.0.8.2 was released quietly yesterday. Yep, there’s a .2 after that! Like you’d expect from software released without unit testing, we encountered several little bugs in the 1.0.8 version, followed by another bug in 1.0.8.1, hence, 1.0.8.2, which is now looking good.
Download Zenphoto 1.0.8.2 Here!
This is a larger release than the minor point makes it seem, with many changes to the core code and how things work under the hood. Read the changelog for more juicy info, or check Trac for constant updates. Read below for sweet details about this big point release…
Read the rest of this entry »
JavaScript2
Thursday, March 1st, 2007
I ran across this gigantic post on what Steve Yegge calls the “Next Big Language” and I’m saving it here partly for my own reference, partly to comment on what it is exactly.
He tries to keep it a secret, but it’s obviously JavaScript 2, or ECMAScript 4, whatever you want to call it. “JS2” will stick better. I’ve always thought JavaScript was quite an elegant language, if only because functions are first-class. Add optional static typing, and all the other features he lists, and it looks like it won’t suck. I can only hope it keeps some of the simplicity and flexibility of JavaScript in its current state…
If you’re interested, click through this slideshow on JavaScript 2 and the Future of the Web, or look at Mozilla’s Tamarin Project. It really looks like a complete and useful language, and it makes sense that if the web is the “next big thing” then the next big language will be the one and only language that runs on it.
Until it gets there, I’ll keep up with my JS1 skillz and get some Ajax going in the zenphoto backend…
1.0.8 in a few minutes.
IE rant from the ZP forums
Thursday, February 15th, 2007
I just discovered another wonderful Internet Explorer bug—it didn’t understand how to download mod_deflate compressed zip files (Firefox, Opera, Safari all handle that case correctly) and was resulting in complaints about corrupt downloads. Well, okay, no, they’re not corrupt, your browser is corrupt!
Seriously, I thought everyone knew better than to use Internet Explorer these days. Get Firefox, Opera, Safari, anything else!
On the forums, Craig said “Wow. You really feel quite strongly about IE don’t you?” and this is my explanation why:
I do feel quite strongly about it, yes; as a programmer I’m appalled that other programmers made such a low quality product. It’s like people driving around a 10-year-old beat-up car that can only go 40 miles per hour, breaks down every ten minutes, doesn’t have a radio, and is put together with duct tape (coughCSS hackscough) when you could get a souped-up fire-orange Ferarri (FIREFOX) for FREE. Or a nice Honda Accord (Safari) or maybe a Toyota Camry (Opera), all for free, but no, people just keep on drivin the junker. I just don’t understand it, and it’s such a pain in the rear for web developers that I feel like speaking my mind about it sometimes, especially when I find another “new” bug. It’s just an unacceptable quality level. Even IE 7 doesn’t make it much better, so don’t bother, just use Firefox, Safari, Opera, whatever, anything but Internet Explorer.
So please, folks, if you’re using Internet Explorer, you are part of the problem. Go get a better browser right now.
Important Zenphoto 1.0.7 Release
Saturday, January 27th, 2007
Zenphoto 1.0.7 has been released tonight with one small change—an important security fix for a problem with upwards directory traversal using “..” as the album name. I’ve simply filtered it out (in two places) and it shouldn’t be a problem again. Thanks to nicosomb for reporting this on the forums.
Everyone using any previous version should upgrade as soon as possible, though no need to worry—there’s not much risk from this bug, only the possibility of seeing folder names (and nothing else) in your web site’s directories that are accessible to your user. No files can be opened, nor any applications exploited. But upgrade anyway
More on zenphoto to come.
ZP 1.0.6
Thursday, December 21st, 2006
Following the mantra “Release early, release often” I’ve followed up 1.0.5 with (logically enough) 1.0.6! This release is small, but includes some good fixes for sorting, so I’m sure you want to upgrade!
On another note, I’ll be migrating to a VPS (“practically my own server”) hosting plan sometime this holiday season, so you might see some downtime, but probably not. Since I’m in no rush this time, the switch should be seamless. No rush also meant I could search and research (search again) all I wanted, and I believe I found a really great hosting company to stick with. One good sign is that they’re currently sold out, expecting more servers this week (so they don’t oversell, which is a Good Thing). After I get it set up, I’ll re-install Confluence and JIRA and Zenphoto will have its bug tracker and Wiki back up!
Go download 1.0.6! Install it! It’s easy!
Zenphoto 1.0.5 Released
Sunday, December 10th, 2006
Just in case you don’t check the home page or forums, zenphoto 1.0.5 has been released with a ton of fixes (since 1.0.3). 1.0.5 was a quick fix for an overlooked little problem, all the real meat was in 1.0.4.
Big changes include:
- Performance Improvements—lazy evaluation and some smart algorithms to sort the image array out of the database contribute to up to 12 times faster page processing in albums with lots of images.
- Database Generalization—all data storage has been abstracted to a PersistentObject class, which the Image and Album classes inherit from. This reduces specific database calls, groups them together, and allows for easy addition of new classes and new database systems later on. This is a Good Thing.
- New Themes included—I’ve included three new themes with the default release: Default Dark, Stoppeddesign, and Sterile. More choices! Yay.
The other big change of course I am not advertizing, since it’s not fully implemented yet, and that is sub-albums. The code now supports them. However, the interface for managing them is still under development. You can download the sub-albums testing theme if you don’t mind the incompleteness just to see how it works, but don’t expect much yet.
Also, there’s a big problem with sorting images in this release. See this thread for more information and a temporary fix if you need it. I’ll be releasing 1.0.6 this week to fix it for good, and I’m adding unit testing to my list of things to do.
Zenphoto is back!
Things to Come
Thursday, July 6th, 2006
First, for those of you who don’t really want to read much, here’s a question: Any tips for working from home? I’ve just set up a separate DSL line for a VPN so it’s pretty much final now.
And for those of you only reading for the Zenphoto tidbits, I’m going away for a month so I won’t be touching it until August. Apologies for the lack of development time… like I said, work sucks the life outa ya.
Which brings me to things to come… I’m now graduated and starting to work. I have to figure out “what I’m going to do with my life” or something. For now though I’m happy just paying the rent in my very own house and staying in the same place for a while.
So we’re leaving for Europe in only 5 days and 18 hours! I’m only now starting to get excited, after my girlfriend’s mom reminded me there was less than a week left. So I’m packing all today, very lightly. 25 days of travel, only 5 days of clothing. I’ve never done that before, so it’ll be a challenge! Any advice?
In general, my life is remarkably great right now! I forget sometimes how lucky I am and how wonderful the people I know and love are, and how lucky I am to be living in the place I am and to have the skills and opportunities I have… the next few years are going to be pretty fun I think.
So with that, back to packing I go…







