Why XML, JavaScript, and XSL?
The alternative, employed by other album generators which want to avoid server-side processing, would be to generate a separate static html page for each image, or to use Flash. One of the goals of this project was to make the album human-editable. Furthermore, by keeping all of the album metadata in a single, easy-to-read and easy-to-parse xml file, it becomes easy for anyone to create a generator/editor program on platforms other than Windows.