Last week, a coworker of mine asked two great keyword questions, which have inspired this week’s blog post. The first is that he’s ended up with a number of identical-yet-different keywords, such as “bob,” “Bob,” “BOb,” etc.. He was wondering if anyone knew of a good way to consolidate them to just be “Bob.” Another coworker had a great suggestion:

  1. Make a smart album with all images having the keyword “bob” or “Bob” etc..
  2. Assign a new keyword “RealBob” to all of those images (make sure to then update your smart album).
  3. Use tip three from here to remove all the old keywords.
  4. Assign “Bob” to all of the images and remove “RealBob.”
  5. Open up the keywords HUD and remove the unwanted keywords.

One important thing to remember is that if you have another library with images that have the unwanted keywords, when you load the library, Aperture will add those keywords back to the database. It won’t reset the keywords on the images from the first library, but the unwanted words will be in your keywords list again. Be careful!

My coworker’s second question was if he could make a smart album showing all images that don’t have the keyword “Bob.” Unfortunately, there is no “keyword is NOT” option. What I would recommend is to use IPTC keywords. When you set keywords, Aperture automatically adds them to the image’s IPTC keywords field. To filter on them, add an IPTC entry to your smart album, and set its field to “keywords.” Then, in the next popup, choose “does not contain.”

iptcKeywords.jpg

This is where things get a bit funky. You would expect that the IPTC keywords search would be smart enough to divide up its comma-separated list of keywords into individual keywords, checking each one individually. That way, “is not” would do exact matching on keywords and “does not contain” would do substring matching. That doesn’t seem to be the case (at least from my experimenting). Instead, it seems that “is not” only works if you have just one keyword, and you’re pretty much forced to use “does not contain.” Even weirder is that sometimes, “does not contain” doesn’t seem to work! For example, in an image with the IPTC keywords field: “cook bay, hibiscus flower, mountain, palm trees, sailboat, water,” when I set my smart album to all images where IPTC keywords does not contain “water,” that image didn’t go away. Furthermore, doing IPTC keyword searching can be slow because Aperture (to the best of my knowledge) doesn’t do anything to make searching this field faster.

Yes, there are other things you can do (mostly tricks, potentially involving custom metadata fields) to make these “keyword is not” smart albums, but despite all their shortcomings, I still think IPTC keywords are the easiest option.

If you have a better method to do either of these tasks, feel free to post your thoughts in the comments!