New online metadata viewer has advanced features; It’s available to run on your own server
A newly-released application can add metadata viewing functionality to websites and web apps, or even a local computer. IPTC Managing Director Michael Steidl wrote the program, Get IPTC PMD. The application, as configured for a test system, here, can display whether or not metadata is in sync between the three data blocks where IPTC data can live in your files.
UPDATE: Michael’s metadata viewer now has an official home on the IPTC website. Go here to check it out.
That’s terrific news for readers of this blog. We’ll talk about the keeping metadata in sync in a minute.
The system displays all the IPTC information in a file. It can be used to add to a website the ability to read metadata, for whatever purpose may be at hand. “The overall goal is to show all fields of the IPTC Photo Metadata Standard which are embedded in an image file in an easy way for the user.”, Steidl tells us. You can upload photos to the system, simply provide the URL of a photo on the web, or check an entire webpage for a list of links to all photos on the page.
An interesting feature is that the system does not require that an entire photo be uploaded. “A nice detail,” Steidl notes, “not the data of the whole image is down or uploaded, only the first 100kBytes, this is where the headers reside.”
Released under Open Source license
The program, which is based on node.js, has been released under an open source license. So developers can modify it or implement it in whatever way their imagination suggests.
It’s shared on GitHub, here. Developers are invited to “…fork it and adapt it to their needs: use only the API for retrieving metadata from an image file, changing the web user interface to their intentions (e.g. showing the found metadata fields only in a single format) or even opening it up to metadata fields from another standard. Simply said it is a framework for an easy access to IPTC Photo Metadata which can be integrated into different projects.”, noted Steidl.
View the video version of this post. The video has more on out-of-sync data.
If you’re qualified and in the mood, crank up a test environment and have at it.
Looking at functionality
Now, let’s take the test installation for a spin.
Simply go to the test site at http://getiptcpmd.nitsvc.net choose a photo to upload or provide the URL of a photo, choose ‘Compare’ from the options (you can choose whatever option floats your boat, of course, but ‘Compare’ is the coolest one. And actually, you can switch between the options again once you are on the results page.) The system will return the metadata from the photo, formatted into tables with entries for the contents of each field, as found in the IIM, XMP, and Exif data blocks, depending on which blocks can house a particular field.
In addition to the compare view, you can see metadata grouped according to data blocks (IIM, XMP, and Exif), or by subject matter.
In Compare, if the values in the fields match across data blocks, great, your metadata is in sync. If not, you’re not.
So, is this sync business a real thing? Should we worry about it?
Well, yes and yes. But let’s not worry to the point where we need anti-anxiety meds.
How out-of-sync happens
In a perfect world, when we edit metadata, our software writes our edits into all of the fields where it belongs. Your caption, for example, is held in the file in triplicate, once in the old-school IIM format, once in the newer XMP format, and even once in the Exif data. Unfortunately, the standards that govern photo metadata are complicated. Following them isn’t the simplest thing in the world. And sadly, some applications just don’t play well with others.
For a detailed explanation of the data blocks and a look at how a number of programs behave with them, take a look at this post. There’s a nice graphic of the data blocks on the IPTC site, here.
Let’s say you have a photo that you edited in Adobe Bridge. Bridge writes your metadata to all the possible locations, overwriting whatever values might have already existed in the fields. So far, so synchronized.
If you look at your metadata in, say, Apple Photos (which reads from the IIM block only), or the Windows operating system (which reads only a couple fields, and often reads them from the Exif), or Photo Mechanic (which reads all the data blocks, giving preference to whichever one you want), you’ll see the same information in each program.
But, what if…
Now let’s say you edit your Bridge caption in XnView. XnView will write your edits to the IIM and XMP. But it won’t write them to Exif. Now, if you look at your information in Apple Photos and in Windows’ Properties dialog, you see different versions of your information in each. As Dire Straits might say, “one of them can’t be right.” This could be bad.
It’s easy enough for you to avoid using the Windows Properties dialog (or Windows Photos, for that matter) but you have no control over what people who receive your photos might use to view your metadata. Therein lies the rub.
Let’s look at another workflow scenario. We’ll use XnView again. Maybe you wrote a rights statement into Rights Usage Terms (which only appears in the XMP data).
Let’s say you, or somebody else edits the file for another client in XnView. XnView doesn’t allow you to edit the Rights Usage Terms field. Rights Usage Terms doesn’t even show up in XnView’s IPTC editing dialog.
So, OK, you write what you need to say in the Special Instructions field. XnView will properly write your edit to both places where Special Instructions is stored. (IIM and XMP). Whatever value might appear in Rights Usage Terms, however, will remain right there, unmolested.
When viewed in other programs
When that photo is opened in a program that does read and write Rights Usage Terms, the information there will conflict with whatever you said in Special Instructions. Oh dear.
Desktop programs don’t generally make it easy – or even possible – to see if metadata is in sync. Of the programs I write about, the only GUI program that lets you do so is XnView. And it’s not super obvious in XnView. (In XnView’s Info pane, you can see output from ExifTool, in several different views. There, you can compare what’s in fields in the various data blocks.)
Users who are comfortable with command line programs can use Phil Harvey’s excellent ExifTool. But most users aren’t that likely to avail themselves of a command line tool for an occasional task like this.
(And, by the way, have you noticed how many people, Michael Steidl and myself included, habitually refer to ExifTool as “Phil Harvey’s excellent ExifTool”? Harvey is an open source rock star.)
A new tool, just as we realize we might need it
So this is where the Get IPTC PMD test site comes to the rescue. From time to time, you’ll want to confirm that all is well in your workflow. Or check out a picture that you’ve received that raises suspicions. Now you have a handy tool for the job.
See a survey of online metadata viewers in this post.
Are you in sync, or out of whack? Let us know what uses you find for Get IPTC PMD in the comments.
Hi Carl,
very nice tool and helpfull to explain to users what is happening.
However I noticed that the niced feature (compare fields) is not working for me.
Hmmm. I just went to the tool (via the link at the bottom of this page) and used “compare” to look at an out-of-sync test file and it worked fine. Can you add some detail about what happened (or didn’t) for you?
-Carl