Fix Keyword Assistant in newer iPhoto

Of all the iLife applications, iPhoto is probably the one I use the most—it manages thousands of images for me, and I rely heavily on keywords to make it easier to quickly find the pictures I need. Unfortunately, Apple’s support for keywords is quite clunky, making them somewhat tough to use (adding keywords is done in one spot, assigning in another, you can’t sort the list, etc.). Enter Ken Ferry’s free Keyword Assistant (KA), a great iPhoto plug-in that makes working with keywords much simpler. (I covered this handy tool in the May 2005 Working Mac column, and it was a macosxhints.com Pick of the Week if you’d like a bit more information about how it works.)

Unfortunately, life seems to have intruded on Ken’s work on Keyword Assistant; it hasn’t been upgraded since March of 2006. The lack of a more-recent update causes two problems. The first is that you can’t run Keyword Assistant on an Intel-powered Mac (unless you run iPhoto in Rosetta). Unfortunately, the only solution for this problem is to hope that Ken releases a Universal version of his plug-in in the future.

The second problem, and one that we can do something about, is that Ken disables some of Keyword Assistant’s features if the iPhoto version is newer than what existed as of the latest KA release. And that’s where we’re at now—iPhoto is presently at version 6.0.4, but the latest version of KA was only fully functional up through iPhoto 6.0.2. As such, when you launch KA, you’re greeted by a dialog reminding you that certain features, such as the ability to create new keywords through the KA interface, have been disabled.

Given my heavy reliance on KA, I was thrilled when someone figured out how to make it work with the latest version of iPhoto. What follows is a more-thorough version of the explanation provided in the above link. Proceed at your own risk, of course, and make sure you’ve got a good backup of all your photos—just in case something goes horribly wrong, you wouldn’t want to lose all your images! You might also want to create a backup of iPhoto itself. Finally, the following assumes KA is already installed and working, albeit in its limited capacity.

Make sure iPhoto isn’t running, and then open the Applications folder in the Finder. Control-click on the iPhoto application and choose Show Package Contents. When the Contents window opens, navigate through the following directories: NetServices -> Bundles -> KeywordAssistant.NetService -> Contents -> MacOS. Inside the MacOS folder, you’ll find KeywordAssistant. This is the actual binary code that makes the plug-in work. And we’re going to edit it…with a text editor, no less. Open your favorite pure text editor, such as TextEdit (in plain text mode) or my current fave, Smultron. Then drag and drop the KeywordAssitant file onto your editor’s Dock icon. (If the Dock won’t highlight when you drag over your editor’s icon, try holding down Command and Option to force the icon to “accept” the file.)

When the file opens, it’s going to look like gibberish—binary data from programs doesn’t look all that useful in a text editor:


But notice within the gibberish there are snippets of readable text? We’re going to search for just such a snippet now. Hit Command-F (or whatever your editor uses for Find). In the search dialog, enter WarnForiPhotoVersionsAbove as the search term, and press Return to start the search. Your editor will jump forward to a section that looks like this:

...mkfWarnForiPhotoVersionsAbove6.0.2.kfKeywordAssistan...

The key portion of that line is the 6.0.2. If iPhoto has a version number higher than that, then KA will limit its own capabilities. Simply by changing that number to something higher, you can restore KA’s full functionality—at least as of iPhoto 6.0.4. But what numbers should you use?

While anything larger is fine, it seems that Apple has been pretty good about only doing “major” upgrades of iPhoto’s functionality in the annual iLife updates. That is, I would expect that iPhoto 7 will be announed in January of 2007, with all sorts of new features. Between now and then, we’ll mostly see bug fixes, none of which will likely interfere with KA. So I chose to replace 6.0.2 with 6.9.9 in my copy of KA. Barring any unforeseen changes from Apple, this should give me a fully functional KA until iPhoto 7 ships. Pick whatever numbers you’d like to use, and then save your changes and close the file.

After making the edits, open iPhoto, and you should find that you once again have a fully-functional Keyword Assistant. Hopefully we’ll get a new Universal binary from Ken in the near future, making this modification unnecessary. But until that happens, I’m very happy to have Keyword Assistant back in action!

  
Shop Tech Products at Amazon