I was listening to the Tips from the Top Floor podcast and there was an interview with Randal L. Schwartz (of Learning Perl fame) and he was talking about his digital workflow.
Randal is of course a geek, so his digital workflow is typically geeky, lots of custom scripts and use of Unix tools to automate stuff etc.
After he’d described it all I realised that my workflow was quite geeky too.
So I thought I’d describe it here for fun.
It can be broken down into 4 stages.
Transferring photos, post production, Web processing and Flickr interface.
Also, some of it is done on Linux, some on Windows and some on the Web.
Stage 1: Transferring photos (Linux).
I use a Canon EOS 20D which in turn uses Compact Flash. To get photos onto my camera I have a short script that copies files from a compact flash card reader onto the PC. The only interesting thing that it does is to create date-stamped directories and store photos according to the date of their timestamp.
It also simplifies an otherwise fiddly task.
Stage 2: Post production (Windows).
Once all the photos are copied across, I can access them from Windows via a samba share.
As I shoot RAW, the first step is to convert them into a universal format.
For this I use Capture One.
I quickly go through the images, deleting any that are obvious rubbish.
I tend to keep the majority of what I shoot though.
Then I run through in more detail and fix any exposure and white balance issues. Capture One makes this very simple and allows me to do stuff in batch mode too.
Lastly I convert them all to TIFF format.
For any that I want to do some further work on I open the TIFF in Photoshop and do some additional work there.
Stage 3: Web processing (Linux).
I then process the images for displaying on the Web.
Firstly I use an app called Exiftool that generates thumbnails from the RAW files.
The reason I do this is that Exiftool maintains all the Exif data from the images – (Capture One loses any Canon-specific tags).
The next step involves a perl script that creates 3 JPEGs for each image (small, medium and large) then copies the files to this Web server.
Once the files uploaded I can then import them into my Photo database (a custom Web app written in Java).
First it display the thumbnails on screen where I can set location info and add any tags or titles to the photos.
Next it imports the photo information (made up of the Exif data and file sizes) into the database.
Stage 4: Flickr interface (Web).
The final (optional) step is uploading photos to Flickr.
As Flickr provides a comprehensive API it’s straightforward to code my app to upload photos to it.
I decided against using flickrj as it was more fun to roll my own code and learn the Flickr API.
The API also lets me set the tags, title and description that will be used on Flickr.
One of the nice things about doing it this way is that I can read some of the Exif data and set it as tags on Flickr. Stuff like the camera and lens used and location information is all picked up from my database and automatically added to my Flickr tags when I upload.
So all I do is view a photo in the Web app then click “Upload to Flickr”.
It appears in my Flickr photostream a few seconds later.
So, there it is; convoluted, idiosyncratic, geeky in the extreme and probably only of interest to me.