I grew up around cameras. My father is a professional photographer; he had cameras of all types and sizes for all occasions and used them often. My own first “real” camera was a $20 35mm Yashica I took with me on my overseas studies in college, along with dozens of rolls of slide and print film. Some years later, for my travels around the Pacific, I upgraded to a Konica SLR and shot many more dozens of rolls. With so many frames of negative and slide film, the best way I found to organize them was archival sleeves and shelves of three-ring binders. This worked well enough for a couple thousand physical items, but in the mid-1990s, a new way to take pictures emerged, bringing with it its own storage problem: digital photography.
I took my first digital pictures with an Apple QuickTake 150 in 1995. Its resolution was only 640×480 and the fixed 1MB memory could only hold 16 pictures, but it was the first time I didn’t have to wait for film to be developed nor did I have to worry about running out of film. It didn’t take more than a few weeks of using it for me to realize that I was starting to gather a large number of files with essentially random and arbitrary names. I tried giving them meaningful name prefixes but was unable to name and file the pictures as fast as I took them. Even though the camera only held 16 images, I would take a monochrome Macintosh Powerbook 160 into the field with me to dump the pictures from the camera as it filled up. Fortunately for me, at the same time, early CD-ROM burners were also appearing on the market, and while they offered low-cost-per-byte backup, early CD-ROM burning software had its limitations. In particular, unlike today, burning discs to be read on multiple platforms meant sticking with the common denominator of 11-char filenames with file extensions, otherwise known as 8.3 Filenames.
My challenge was to come up with a scheme by which I could have hundreds or thousands of image files with unique names but, due to the file extension taking up 3 characters, I only had 8 characters of my own to work with. After a bit of brainstorming, I came up with a way to take the year, month, day, hour, and minute from the filesystem timestamp on the computer I used to dump the camera and add a “sequence identifier character” (bringing the total to 13 characters), but represent it in only 8 characters. The trick was one I’d worked out years before for an application I’d written under RT-11 for the PDP-11 where I had to keep track of quiz responses by employee badge number, but the badge numbers were 4 digits and under the simple RT-11 filesystem, I only had room for 3 unique digits in the filenames. I solved that by encoding the numbers from 0000-9999 (decimal) as 000-9OF (in “base 32”). The key for my current namespace dilemma was to crush down all the information in a full datestamp in a similar fashion.
Flying in the face of Y2K, I chose to go with 2-digit dates. I am unlikely to have over 100 years of digital pictures, so that seemed a simple expediency. Next, I encoded the month as a single letter, the day as a single letter (later relaxed to 2 decimal digits once 8.3 was a distant, painful memory), the hour as a single letter, then for ease of visual decoding, kept the minutes as two decimal digits and had one character position left over to help me keep track of which picture in a run was taken “first” (and to handle multiple pictures taken in the same minute). Put all together, it looks something like this:
# Filename form - YYMDHMMN.ext # # Where... YY = two-digit year # M = month (a-l) # D = day (1-9, a-u) # H = hour (0-9, a-h) # MM = minute (00-59) # N = sequence (a-z)
123c944a.jpg == 2012 Mar 12 09:44 shot 1
95blf13c.jpg == 1995 Nov 21 15:13 shot 3
Those early Apple QuickTake 150 images were just simple Macintosh PICT-format files, and even later cameras like the Kodak DC40 and the Kodak DC50 produced better pictures in other formats, but I was still dependent on maintaining the original datestamps from the camera download process to provide input to my filename encoding system. After a few years, the digital camera industry caught up to me when they started embedding EXIF data in the image files, including a timestamp when the picture was taken. The first camera I bought with that feature was also my first DSLR, a 4MP Olympus E-10, in 2003, that I still have and still use. In just under 10 years, I’ve taken nearly 9,000 photos with it, according to its own file naming scheme.
With that number as a starting point, I’m confident I’ve renamed well over 10,000 photos in the manner described here. One peripheral advantage to this method is that I can look at a picture on my webpage and at a glance tell you the exact date and time it was taken, even one from seventeen years, two months, nine days, five hours and six minutes ago.