Last month I mentioned that I was trying out the latest release of Windows Live Photo Gallery, and that I’d run into a couple of bugs. Subsequent to that, I’ve been in communication with the WLPG team trying to sort out the bug whereby WLPG doesn’t seem to be tracking changes to IPTC/XMP keyword metadata.
I had documented what I’d seen and sent it off to Michael Palermeti, a Program Manager on the WLPG team for investigation. He reported back that the developers could not find anything untoward with the test files and data that I’d provided. They were unable to reproduce the failure to track metadata changes. This struck me as being very odd, since I was clearly seeing the behaviour on two systems at home (my desktop and laptop PCs). So I went back to do more testing. And I think I’ve found out what’s going on.
It is, as I suspected, associated with the fact that I’m using hierarchical keywords. A hierarchical keyword means that, for example, my keyword trees is actually the leaf node of a hierarchy:
Objects/built environment/settlements and landscapes/landscapes/natural landscapes/vegetation/trees
What’s going on is that when I assign a keyword to an image, I also explicitly assign the parent keywords to the image. So when trees is added as a keyword to an image, I’m also explicitly adding the additional strings:
Objects/built environment/settlements and landscapes/landscapes/natural landscapes/vegetation
Objects/built environment/settlements and landscapes/landscapes/natural landscapes
Objects/built environment/settlements and landscapes/landscapes
Objects/built environment/settlements and landscapes
And there’s the problem: WLPG doesn’t seem to register these six instances of hierarchical keywords (trees, vegetation, natural landscapes, landscapes, settlements and landscapes, built environment) properly when they are assigned at the same time as a group. Worse, WLPG will not respond to subsequent deletions or additions to any keywords on the image. It’s almost as though a repetition of a part of a keyword hierarchy has the effect of locking the file as far as WLPG is concerned.
When I change the method of assigning keywords to simply assigning only the full string once, then for the most part, WLPG appears to be happy. It will correctly register the keyword as a tag, and also track subsequent changes to the keywords.
However, there is one crucial set of circumstances where WLPG still does not work correctly. That is where I assign keywords that share part of the same hierarchy to an image.
Let’s take an example. I have a number of images with the keyword natural landscapes assigned (I.e. I have the hierarchical string: Objects/built environment/settlements and landscapes/landscapes/natural landscapes assigned to the images). Subsequently, I want to refine the metadata of some of these images by also assigning the keyword trees to them. So I go ahead and assign trees – in other words I’m adding an additional keyword string:
Objects/built environment/settlements and landscapes/landscapes/natural landscapes/vegetation/trees to the selected images.
The problem is that WLPG does not register this change – it continues to display only the natural landscapes tag associated with these images. Because the trees keyword is actually part of the same hierarchy as natural landscapes, WLPG fails to work properly and add this additional keyword string as an additional tag.
What I actually have to do is explicitly delete the natural landscapes keyword from these images before I add the trees keyword to the images. This also has the effect of never being able (in WLPG) of having both the natural landscapes and trees tags associated with the same image because they are part of the same hierarchy. This strikes me as being somewhat of a limitation… In fact, I would say that it’s a bug, since now I cannot have certain combination of keywords associated with my files and have them tagged correctly in WLPG. Take house, castle, and dining room. They all share parent keywords in common in my hierarchy, so within WLPG I cannot tag images in such a way that will distinguish between a dining room in a castle and a dining room in a house. I suspect that this all goes back to the design decision that appears to have been made for WLPG that selecting multiple tags is an OR function and not an AND function. In my opinion, that was a very bad decision, but that’s another story…
Anyway, to sum up, I’ve now found out that WLPG cannot cope with multiple instances of hierarchical keywords that share the same parents. I hope that it can be fixed in future versions.