Exif is totally unlike what modern developers would think of as a "file format". It's more like dumping a set of binary block data structures from memory to disk. This was efficient on old digital cameras with minimal hardware resources. But making any significant edits requires doing pointer arithmetic, which can be an alien concept for developers who have only ever used memory-safe programming languages.
>It's more like dumping a set of binary block data structures from memory to disk. That sounds exactly like a file format to me. Are you suggesting that json is the only format developers might be aware of?
Appreciating Exif
31–40 of 40 posts
Re: Appreciating Exif
#32Wrote a parser to extract image metadata once, and got massively frustrated with the amount of undocumented, semi-documented, wrongly documented, or partially documented attributes. You’ll find references online, but most of them lack half of what you encounter in images. Every image processing app under the sun adds its own range. Some use metric values, some imperial; finding out which can be guesswork. Aperture is…
But now it's quite different with LLMs. I recently updated my code and Claude had useful recommendations.
Re: Appreciating Exif
#33Wrote a parser to extract image metadata once, and got massively frustrated with the amount of undocumented, semi-documented, wrongly documented, or partially documented attributes. You’ll find references online, but most of them lack half of what you encounter in images. Every image processing app under the sun adds its own range. Some use metric values, some imperial; finding out which can be guesswork. Aperture is…
My hell was trying too make sense or and organise audio/music ID3 tags. What a nightmare that is. EXIF seems much nicer to me.
Re: Appreciating Exif
#34Exif is great but here is your obligatory reminder that if you are publishing images you should strip out some of the identifying information that cameras and image editing software likes to embed. In particular, you probably don’t want the GPS coordinates of your house publicly available on your blog for everyone to see.
People who can track down the original exif can recreate when, where and with what equipment the photo was taken. It's been great to identify places and people for posterity.
Re: Appreciating Exif
#35Date of capture/scan vs date of scanned artefact.
It's a minefield.
Adhoc methods like "month zero" or "nonce time" suck too.
Then there's how Google, Apple and Microsoft don't agree if file acquired EXIF data is mutable. Side cars. Search terms. Modified in system or by an API? Another minefield.
Post edit. Same or different image? Perceptual hash fine but can I track source image by a field in edited image?
Re: Appreciating Exif
#36Earlier quoted context omitted.
My hell was trying too make sense or and organise audio/music ID3 tags. What a nightmare that is. EXIF seems much nicer to me.
Picard is far from perfect, but it does more or less impose a semblance of uniformity across a large library.
Re: Appreciating Exif
#37Wrote a parser to extract image metadata once, and got massively frustrated with the amount of undocumented, semi-documented, wrongly documented, or partially documented attributes. You’ll find references online, but most of them lack half of what you encounter in images. Every image processing app under the sun adds its own range. Some use metric values, some imperial; finding out which can be guesswork. Aperture is…
Re: Appreciating Exif
#38Wrote a parser to extract image metadata once, and got massively frustrated with the amount of undocumented, semi-documented, wrongly documented, or partially documented attributes. You’ll find references online, but most of them lack half of what you encounter in images. Every image processing app under the sun adds its own range. Some use metric values, some imperial; finding out which can be guesswork. Aperture is…
Yes. I run a niche webapp[1] that extracts exif and xmp (Lightroom edits) from images. At one point I tried to write my own exif parser. It's not that complicated, but very quickly you'll run into weird legacy, vendor-specific nuances (apart from what the parent mentioned, you have to handle both big & little endian exif). And the long tail of those edge cases is, well, very long. Exiftool handles pretty much all of…
Re: Appreciating Exif
#39Wrote a parser to extract image metadata once, and got massively frustrated with the amount of undocumented, semi-documented, wrongly documented, or partially documented attributes. You’ll find references online, but most of them lack half of what you encounter in images. Every image processing app under the sun adds its own range. Some use metric values, some imperial; finding out which can be guesswork. Aperture is…
Re: Appreciating Exif
#40As with most standards, there are three almost overlapping standards for image metadata. EXIF, IPTC and XMP. IPTC incidentally is hot again because certain generative AI providers add IPTC metadata[1] to the images they generate. Incidentally, OpenAI uses another standard for the same purpose, C2PA[2]. All of these, the author mentions. Now for SynthID[3], which both OpenAI and Google embed in the pixels of the image…