These pages describe a web based photo album.
By dragging and dropping your photos, multimedia or any other type of file into an album directory tree, these scripts will dynamically generate good looking web pages which can be displayed on any browser, even over a network. The scripts automatically generate thumbnail and reduced resolution images as required. When running the scripts on a Linux server or Windows/Cygwin, you are also able to interactively annotate, rotate, delete or move files using your web browser as a user friendly GUI.
Click here to see an example of a rendered web page
Why I thought that I needed a digital photo album
What might a simple digital album look like?
Download and install the Linux version of the web based album
Download and install the Windows version of the web based album
Download and install the Windows/Cygwin version of the web based album
After a couple of years of happy snapping with our new digital camera, I found that we were creating ourselves an ever growing collection of photos. When we purchased the digital camera, we had grand visions of managing our photos on the computer and forever freeing ourselves from the ongoing burden of keeping our albums up to date. This was our vision.
Time passed and we accumulated several thousand digital photos and a growing collection of home videos and sound recordings of the kids. We thought it would be neat to throw all of these things into our "digital photo album". One problem though: what software were we going to use?
To me, the commercial software available for creating digital photo albums seem cheesy, proprietary and poor value for money. What I am really intereted in is a programme to arrange my photos and movies on web pages so that anybody in the family can look at them on whatever computer (or set top box) they like. All they really require is a browser and a network connection to our home server. The commercial software that I could find didn't seem to provide this.
I also wanted the assurance that if I changed computer or changed operating system in the future, I would not have to redo all the annotations and photo arrangement using a new software package..... that is, I still plan to be adding photos to my digital album in 40 years time, but I am not sure that any of today's commercial album packages will still be supported in 40 years time!
This web based album is my 'solution' to these problems.
Like all things on this web site, it started as a programme written in 'C' running under the Linux operating system. It's now a leaner and meaner set of perl scripts that generate cgi output from our home web server. To make it easier to view the album on my lap-top when I'm away from the home web server, I have a cut down version of the scripts written for Windows that generate static web pages. If you want to run the scripts under Windows, I'd recommend installing Cygwin and running the Linux version of the scripts.
The advantage of a digital camera is that when it takes snaps, it numbers the photos sequentially. You can throw all these digital photos into a directory somewhere and they will automatically be in chronological order. Making a photo album should therefore be a snap - just display the photos in sequence.
Unfortunately, it's not quite that simple - and I haven't even mentioned home movies and other documents.
Digital cameras generally take very high resolution photographs. Having high resolution is great when you want to print out the photo onto paper, but the extra resolution is a burden when you simply want to look at the photos on the screen: hi-res photos are much larger than a typical screen resolution so you can only see a part of the photo at once.
It's quite hard to browse your digital photo album when you can only see one (high res) photo on the screen at any one time.
It seems obvious that you need to have a couple of versions of your photos. You need a thumbnail version to browse when you "look through the pages in your digital album" and a medium resolution version to look at in detail (on the screen) or email them to your friends.
It's tedious generating thumbnails and lower resolution images by hand. A tool that does this automatically without you haveing to think about the process is a blessing.
It's tedious finding all the photos that you took with the camera on its side and then manually typing the commands to rotate them (and then rotate the thumbnail and other processed copies). Having a tool to do this with the click of a mouse is also a blessing.
Annotating photos, movies and other files with a description is very useful when you come back to the album at a future time: the annotations help you to remember why you took the photo in the first place! I wanted my photo album tools to let me interactively type annotations into my album pages and to let me arrange files easily. This is important when the album grows to contain thousands of entries.
A digital photo album also needs to help you delete photos that are not good enough to be kept.
A digital album should help you arrange photos by subject matter into different pages or directories.
My photo album code was originally written for to run as cgi-scrip on the Apache web server on a Linux computer. My original aim was to be able and drag / drop photos into folders within my www tree and every time somebody surfed to one of these folders, the cgi-scripts would render sensible web pages of the photos and files. The Linux version of my album software works exactly like this way.
At work, I write a lot of documents and was looking for an easy way to share them with colleagues. The Linux based album scripts are ideal for rendering web pages of any type of file onto the company Interanet.
I've arranged things so that when I boot my Windows laptop, it automatically mounts a remote drive to a Linux web server on the corporate LAN. Even though all my files appear like they're on a directory on my lap top, they're really stored in the web hierarchy on the corporate server and instantly available to anyone that surfs to my intranet web pages! The benefit is that everybody automatically has access to the latest version of my files, I don't need to be in the office to share them and I don't need to bombard people with large daily emails giving them updates any more.
These interactive features are only available using the Linux and Cygwin versions of my album code. However I've spun a dumbed down regular Windows version of the scripts that create static ".html" pages so that you can at least easily browse the album on a computer that's not connected to a Linux / Cygwin web server. So when I'm away from the office, I can still browse a local mirror of my work files and I can still browse a local copy of our album.
The windows file structure and annotation notes are fully compatible with the Linux version so it's easy to copy the interactive album from one system to another. This means that you can arrange your album manually on a Windows computer today and move it over to Linux at some later time without needing to worry that you'll have to do anything more than copying the directories across.
Stefan Keller-Tuberg. 2003-5.
Click here to see an example of a rendered web page
Return to my web based album page.