I finally got a few minutes of downtime from editing so I made a few updates to my Lightroom Reporter application. I got a lot of wonderful feedback from my photographer friends; based on that feedback I added a few new features. You can now report on statistics by camera/lens setting, adjustments and presets used. If you are interested in trying this app out, shoot me an email. This is probably going to be the last version I release in Adobe Air - I started learning a programming language called Lua so that I could rewrite this application as an Adobe Lightroom plugin.
Once in a while I love to step away from behind the camera and actually get my hands dirty by building something photography-related out of semi-useful junk that fills shelves in my garage and basement. A few weeks ago I ran into an old friend who is a graphics designer and an animator. We sat down for a cup of coffee and he told me about a project that he was recently hired to do. A company that makes custom things, pretty much anything from abstract furniture to small unique precision parts, approached him to do an animated commercial about their production process. After visiting their shop for a few weeks, my friend decided to do an augmented reality clip for his clients – a commercial where real video is combined with animation.
In order to produce these custom parts the company uses CNC routers (or CNC mills) – computer-driven machines that take instructions from CAD drawings and produce 3D parts using either cutting heads or super thin and super powerful jets of water.
After about 3 cups of coffee, my buddy exclaimed – “Hey, you are a photographer, maybe you can help me out. Come with me to meet this client, maybe you’ll have some ideas.”
I had a blast wondering around the workshop and drooling over cool tech toys (they would not let me play with any of their machines). After my initial “oh, look at that” and “can I press this button” moment was over, I started thinking about the best way to produce this commercial. In my mind, there were 2 problems to solve, both of them tied to the amount of clutter in the workshop.
The CNC we chose for his video produces wooden parts; it is a giant machine that sits in the corner of an extremely cluttered workshop, and removing the clutter was not an option. We decided that we would shoot the CNC’s cutting head from two angles; we’d take two Canon 5D Mark III cameras with 100 mm f/2.8 lenses, set them along the base of the CNC (along vertical and horizontal axis) and shoot the cutting head wide open (at f/2.8) in order to blur out the clutter in the background.
That brings me to the second problem – when shooting wide-open with a telephoto lens, you have to be extremely careful about focus. Digital SLRs loose their autofocus capabilities in video mode, which meant that we had to pre-focus both cameras on the cutting head. That meant that each camera had to move only left to right to follow the cutting head – moving it forwards or backwards would result in out-of-focus video.
We shot several takes with regular video dollies; pretty much after the first take we decided that we needed a custom solution to move cameras along the base of the CNC. We also decided to do time-lapse animation instead of a continuous video.
When I came home, I immediately looked through my garage and my basement for anything that I could use to build a custom video dolly. The Frankenstein dolly below is made out of a piece of plywood, two sets of skateboard wheels (donated by one of my co-workers), a video monitor stand (Goodwill, $2.95) and a tripod column (Goodwill, $1.50). I had to cannibalize a pair of old rollerblades to add a set of wheels and attach them at a 90-degree angle to the dolly so that they would roll along the base of the CNC, keeping the dolly perfectly parallel to the cutting head.
I’m not sure what I enjoyed more in this situation – coming up with a solution or participating in producing a commercial. Hmm… Probably a bit of both.
I firmly believe that everyone should have basic programming skills. Whether you are a photographer, a mechanic or a doctor, pretty much every system in today’s world is ran by software; understanding how that software works will lead to better understanding of tools that you use to do your job and will make you a better professional. A little while ago Wired magazine ran an article about a Facebook software engineer who taught his 8-year-old daughter to program – he even wrote a book (cleverly titled Lauren Ipsum) to explain programming concepts to young children. Let me make my case as to why photographers need to have basic understanding of coding and databases. A few days ago my friend Jenny Karlsson sent me a link to an Adobe Lightroom plug-in that would tell you what focal lengths you use the most in your photographs. Such information is really useful if you are trying to decide what lens to purchase next. After talking to Jenny I decided to investigate this question further – I wanted more information than just focal lengths. I wanted to see what lenses I used most often; I wanted to see in how many of my photos I used fill flash (I’ve been told that I’m too obsessed with artificial lighting). There are plenty of plug-ins and stand-along programs out there that would pull that information for you. The caveat is that good apps cost money and crappy apps are just that – crappy apps. I did a quick Google search on “Developing Adobe Lightroom 4 plugins” and one of the first hits took me to a document describing Adobe Ligthroom 4 SDK (software development kit). After skimming through the documentation for a few minutes, I learned that Adobe Lightroom stores its data in an SQLite database – a standard approach to local data storage for most desktop and mobile applications. There are several free applications that allow you to look at SQLite data. The ones that I use the most are SQLite Manager plugin for Mozilla Firefox browser and Run!. SQLite Manager requires that you have Firefox installed on your computer and Run! requires Adobe Air. All the examples in this post use SQLite Manager, but Run! has a very similar user interface. Download and install Firefox and SQLite Manager plugin. If you are using Microsoft Windows, start SQLite plugin by clicking the orange “Firefox” tab in the left top corner of your browser window, then selecting “Web Developer” and “SQLite Manager”. On a Mac, go to Firefox → Tools → SQLite Manager.