Thursday, October 4, 2007

What's in a standard?

I just engaged in something of a back and forth about the Design rule for Camera File system specification sheet.

The whole issue was that someone thinks the most important thing that needs to be added to the K10D firmware is the capacity to write five digit file numbers into the filename.

I assumed this meant IGP_12345.JPG for a filename, which exceeds the 8 character limit.

Being the helpful internet jerk I am, I said they needed to tell the JEITA instead of Pentax, then, in a change of heart, edited my message to apologize, then say that they needed to tell the JEITA instead of the dprevew forums.

Naturally, someone took issue with that, asking "who cares?" I had to go on a mini-standards-compliance rant, proclaiming that it's stupid to allow camera manufacturers to do whatever they want and still label the cameras as being DCF/EXIF compliant, and that it's stupid to allow the camera manufacturers to do whatever they want because it makes (literally) everyone else's lives miserable.

OGM, the wikipedia article is wrong - it's really alphanumeric characters, not just letters! Well, that's fine, but my initial assumption was that the person wanted a digit added, not a free character converted to a number.

I did some research, specifically, looking at the examples in the DCF specification (hosted here for free if you'd like). Apparently, DCF allows different sets of free characters in the same numbered folder within the DCIM structure.

This is phenomenally stupid in my mind, because any given write device should have a consistent set of free characters. By allowing them to change from file to file, you're opening the door to both users and reader-class devices having a hard time identifying what device produced what file if it ever becomes necessary down the road. I could see it being an issue for me, as well - if my *ist DL wrote an IMGP4032.JPG and I purchased a second *ist DL, I would at least have the expectation that I could come up with a duplicate IMGP4032.JPG. If I bought a K10D now and started shooting, I'd eventually get to IGP_4032.JPG, and I would be able to tell at a glance which came from which camera. Sure, there are EXIF tags and theoretically larger file sizes, and the actual pixel dimensions would be different if I had to open them, but they'd both be different at the name level. If I bought a K10D and it had a five digit code, and then I bought a followup camera, and let's say both used IGP to identify the files as having been 1)image files 2)written by a Pentax camera 3)in three alphanumeric characters, I could shoot to IGP04032.JPG on both and not have any idea which came from which without parsing EXIF, especially if they were similarly spec'ed as far as the sensor and compression are concerned.

That seems, to me, counter to the notion of even having a specification in the first place.

Furthermore, the DCF specifies the first four characters as free and the last four characters as file number. In my mind, no part of the free characters should therefore be used as an extension of the file number.

What would I suggest people do instead? Well, my filesystem right now is set up in a way that would make it fundamentally impossible for me to create duplicates. Each day I upload, I create a new folder encoded like this:

071004
07, the year digits (let's face it, I won't be shooting until 2107, but even if I do, I can batch rename)
10, the month digits
04, the day digits.

Unless I take over ten thousand images in a single shoot without uploading, I'll never run into a duplication situation with one camera. With two, I can't conceivably see the file numbers coinciding unless one of the bodies were to fall into serious disuse, but still saw some action every now and then. My better plan would be to have one DCF body at a time, or to rename my "Camera JPEG" folder to "istDL JPEG" and create a new directory for the new camera.

There are simple workarounds, most of which amount to "don't keep ten thousand images in a single folder." I'm wondering why I'm the only person that doesn't seem to have a problem with all of this, but I'm glad JEITA seems to think the same way - in camera, it's specified that a new folder (101PENTX instead of 100PENTX) should be created.

I still think it's stupid that they allow different free characters, but whatever - as long as the standard does its job, I'm happy.

No comments:

Post a Comment