Picture-perfect software

A four-day weekend doesn’t mean four days without work, not in today’s modern economy. However, a holiday does offer a nice healthy opportunity for improving my life/work balance. Although I spent a lot of time in the office over this year’s Thanksgiving holiday, it also meant time pursuing various hobbies – specifically photography.
On one level, photography is an artistic endeavor. It’s little changed from my youth when I shot medium-format and 35mm film and developed the black-and-whites in my high-school darkroom. Composing shots, developing film, making prints and displaying my favorites was an analog, creative process.
Today, there’s obviously still an artistic aspect to photography. Taking closeups of butterflies at the California Academy of Sciences in San Francisco, or catching whales playing near Pacifica Pier, or shooting a fast-paced girls’ soccer game (AYSO under-14 – one of my best friends is the coach) is about having a good eye and feel for the photograph, not about having expensive technology.
Everything else about photography is about hardware and software, some embedded, some desktop, some living in the cloud.
• The proprietary microprocessor inside my Canon EOS SLR runs sophisticated firmware that couples the image sensor, auto-focus sensor and some AI to get the shot, while calculating exposure and stabilizing the image.
If you shoot RAW images (which I do), the bits are then transformed by codecs and then stored onto the camera’s memory card.
If you shoot JPEG images, there is more embedded software to apply creative post-shooting image transformations and real-time file compression before being written to the memory card.
Every so often, Canon offers firmware updates for my cameras, sometimes to fix bugs, sometimes to improve performance and sometimes to offer new functionality.
• My Mac accesses the same file system and copies the raw image files onto a hard drive. While the software there is not photography-specific, the operating system is essential for managing my digital images.
Adobe’s Lightroom software helps me manage all the photographs in my library – tens of thousands of them, all indexed in a super-fast metadata-rich database. Lightroom also contains tools for manipulating the images files, using efficient algorithms, and can exporting them in other formats – or even upload to online services.
• Occasionally I need to do more sophisticated manipulation of the images, and in those rare cases the tool-of-choice is Adobe’s Photoshop CS5 – which is not only incredibly sophisticated software, but which also has plug-in capabilities.
But wait, there’s more:
• I often share my photographs on Facebook or upload them to Google’s Picasa service. Both those services are built around massively distributed databases with strong backup. Facebook uses a map/reduce-based system for distribution of metadata about the photographs, letting all my friends, friends of friends, and others see the pictures, see if they’ve been tagged, read and add comments, recognize faces, and so-on. My mind boggles when considering the data/metadata infrastructure within these social-media giants.
• If I want to print the images, my Canon ink-jet printer also has some pretty advanced algorithms to transform the bits into the 10 specific colors of its pigment tanks, and implement dithering patterns to create even more apparent colors.
Have I written any photo software? Nope. But between embedded firmware in my camera and printer, desktop software on my iMac, and Web-based software in the cloud… there a lot to think about while setting up that perfect shot of Thanksgiving dinner.
Z Trek Copyright (c) Alan Zeichick