Description

Keyword Assistant is little plugin that improves iPhoto's keyword handling for iPhoto versions prior to iLife '08. it lets you enter keywords in an auto-completing text field, like the 'To:' field in your email client. It does some other stuff too, which you can read about in the features section.

What's that I hear you saying?

Keywords? I don't use keywords.

Ah, see, that's a good reason to install Keyword Assistant.

Putting aside the question of effort, it's easy to see why it would be good to have your photos tagged. Finding old images is a serious problem in a large photo library. If your photos are labeled with terms that come to mind naturally, then it's easy to search for a shot you remember. For personal libraries, just tagging each shot with the names of people appearing in it is a huge help. Other users tag for their newspaper or yearbook, or for posting at flickr (via FlickrExport).

Okay, so it would be good to have my photos tagged. Why might I want Keyword Assistant?

There are two main reasons:

  1. iPhoto does not handle large numbers of keywords gracefully.

    If you have a lot of photos, you need a fair number of keywords; otherwise too many photographs are associated with each key.

    The built in interface requires that you hunt through the entire list of keywords every time you want to assign a tag. KA lets you avoid that effort when you already know what tags you want. If you tag with the terms you think of when you see the photo, then you'll usually know what tags you want. Use the built-in interface when you do want to see the full list.

  2. KA makes tagging easy enough that you will actually do it.

    Your milage may vary, but for many users KA crosses a usability threshold. In some sense, there isn't anything you can do in KA that you can't do in iPhoto. But if you won't do it in iPhoto, then it doesn't matter.

That's about it. You may want to look at the feature list.

Other resources

Keyword Assistant's homepage is here.

Usuarios hispanohablantes: Podéis consultar el listado de características en Español, por cortesía de Javier Rodriguez.

Requirements

Keyword Assistant requires iPhoto 4 – 6.0.5 and Mac OS X 10.4.7 or later. It runs natively on Intel- and PowerPC-based computers.

Keyword Assistant does not support iPhoto 7 (from iLife '08), and I have no plans to support it in the future for one happy reason: iPhoto's native keyword interface is now good enough that Keyword Assistant is not necessary! Yay!

If you're still running Mac OS X 10.3 and iPhoto 4 or 5, you might want KA 1.8.9. Later versions of KA might work in 10.3, but I cannot test or support them.

This version of KA will (probably) work in future versions of iPhoto, but it will run in a compatibility mode with a reduced feature set. See bugs and limitations for more detail.

To Install

Run the provided installer. iPhoto should have a KA menu next time it launches.

If upgrading from version 1.4 or earlier, you may want to uninstall SIMBL, a plugin loader that Keyword Assistant used to rely on. See the next section for details.

Manual install: for the curious and/or paranoid
  • Quit iPhoto.
  • Remove old versions of Keyword Assistant (see next section)
  • Copy KeywordAssistant.NetService to /Applications/iPhoto.app/Contents/NetServices/Bundles/. There's no need to create iPhoto.app, that directory is the iPhoto application itself. Right click on iPhoto and choose "Show Package Contents" to open the iPhoto.app directory.
  • Launch iPhoto, which should now have a KA menu.

To Remove

Run the provided uninstaller.

If you are un-installing version 1.4 or earlier, you may also want to remove SIMBL. SIMBL (Smart InputManager Bundle Loader) by Mike Solomon is a mechanism for loading bundles (plugins) into applications that don't ordinarily support them. Keyword Assistant used to rely on SIMBL, but it doesn't as of version 1.5. If you don't use any other plugins that require SIMBL, you can uninstall it by trashing these files:
  • ~/Library/InputManagers/SIMBL
  • ~/Library/Application Support/SIMBL
Manual removal of Keyword Assistant:
  • Quit iPhoto.
  • Remove /Applications/iPhoto.app/Contents/NetServices/Bundles/KeywordAssistant.NetService (version 1.8.2 and up).
  • Remove /Applications/iPhoto.app/Contents/PlugIns/KeywordAssistant.bundle (version 1.5 through 1.8.1).
  • Remove ~/Library/Application Support/SIMBL/Plugins/KeywordAssistant.bundle (version 1.4 and older).
  • You may also want to remove SIMBL, as explained above.

Features

  • Assign, create, and remove comma-separated lists of keywords
    • Completion on existing keywords
    • Optional completion on names from Address Book
    • Drop-down of all completions by pressing F5 or option-escape (These are cocoa standard keyboard shortcuts, try them in TextEdit.)
    • Completions are prioritized by most recent use. This helps when tagging a series of related photographs.
    • Keyword creation is transparent - just assign something that doesn't exist yet. KA can optionally warn you.
    • Tab and shift-tab move among keywords to be assigned. KA adds a comma if you tab past the last keyword.
    • Hold option to remove instead of assign.
  • Manage the keywords list (Keywords panel in iPhoto 4, Keywords preference pane in iPhoto 5 and 6)
    • Alphabetize list via menu item
    • Type-select to locate keywords
      • Click in the list and type a few characters. The first keyword containing the characters as a substring is selected.
      • ^↓ and ^↑ select next and previous matches.
    • KA inserts new keywords alphabetically or at the end of the list, according to preference.
  • Automate
    • Command "ka new keyword" creates new keywords from AppleScript (iPhoto has no native mechanism)

Limitations / Bugs

  • KA cannot assign every keyword you might have. Keywords containing commas and keywords with leading or trailing spaces must be handled through the built-in interface.
  • Keyword Assistant depends on the internals of iPhoto. To work around this, KA goes into a compatibility mode (based on AppleScript) when it is run in a version of iPhoto in which it hasn't been tested. The full feature set is not available in this mode. It is necessary to wait for me to release a new version to restore full functionality.

Changelog

Version 1.9.4, released 3/13/2007:
  • Updated for iPhoto 6.0.6
Version 1.9.3, released 9/29/2006:
  • Updated for iPhoto 6.0.5
  • Russian localization added
Version 1.9.2, released 9/10/2006:
  • Compatible with iPhoto 6.0.4
  • Compatible with Intel-based Macs
Version 1.9.1, released 3/6/2006:
  • Compatible with iPhoto 6.0.2 (though not Intel Macs)
  • Small bug fixes
Version 1.9, released 2/6/2006:
  • Compatible with iPhoto 6 (though not Intel Macs)
  • Danish localization added
Version 1.8.9, released 8/3/2005:
  • Fix for Mac OS X 10.3 compatibility
Version 1.8.8, released 7/26/2005:
  • Tested and validated in iPhoto 5.0.4
Version 1.8.7, released 7/14/2005:
  • Tested and validated in iPhoto 5.0.3
Version 1.8.6, released 4/14/2005:
  • Tested and validated in iPhoto 5.0.2
Version 1.8.5, released 3/26/2005:
  • compatible with Mac OS X 10.4
  • Swedish localization updated
  • Spanish localization added
Version 1.8.4, released 2/2/2005:
  • Tested and validated in iPhoto 5.0.1
  • Tweaked tab behavior to work better with full keyboard access
  • French and German localizations updated
  • Readme includes list of features in gory detail
  • Bug fix: The "Warn when creating new keywords" preference was not hooked up in 1.8.3.
Version 1.8.3, released 1/29/2005:
  • Fixed bug introduced in 1.8.2. It affected keyword panel alphabetization and new keyword insertion in iPhoto 4.
Version 1.8.2, released 1/28/2005:
  • Runs in iPhoto 5
  • Optionally create new keywords at end of list. Old, now optional, method tried to maintain alphabetical order in list. iPhoto now allows drag-reordering of keywords, so non-alphabetical schemes are a lot more reasonable.
  • Small interface revisions.
Version 1.8.1, released 12/19/2004:
  • Italian localization by Adriano Belletti.
Version 1.8, released 12/16/2004:
  • Option-enter in the assistant panel now removes keywords from the selection. This uses PGAlternateKeyButton by Prachi Gauriar.
  • Fixed a bug whose symptom was no KA menu on attempted install on some systems.
  • Assigning and unassigning keywords from KA is now undoable.
  • Lots of interface revision.
  • Includes English, Dutch, French, German and Swedish localizations.
Version 1.7.2, released 8/5/2004:
  • Runs in iPhoto 4.0.3.
Version 1.7.1, released 8/4/2004:
  • Fixed a localization error from 1.7.
  • 'Next Photo' and 'Previous Photo' greatly sped up, especially under iPhoto 4.0.2.
Version 1.7, released 8/3/2004:
  • Smarter completions favor recently used keywords.
  • Tab and shift-tab navigation among keywords in assistant panel.
  • Added drop down menu for completions, Mac OS X 10.3 only. It's triggered by pressing F5 or option-escape (standard in cocoa).
  • 'Next Photo' and 'Previous Photo' work in iPhoto's Edit view.
  • French localization by Gilles Pérez-Lambert.
  • German localization by Carsten Kremser.
  • Icon by Jennifer Sunami.
Version 1.6, released 2/20/2004:
  • New AppleScript command ka new keyword.
  • Observe new Address Book name order properties in Panther.
  • Dutch localization by John Smal.
  • Completions always stay in sync with Address Book and keywords panel.
  • Eliminated an AppleScript name conflict that made iPhoto's select command uncallable. (We were linking AppKitScripting.framework which has its own select command.)
  • Corrected a localization mistake. Alphabetizing the keywords panel changed the local equivalent of the "None" keyword to the English word "None". Upgrading will correct the keyword.
  • Other smaller enhancements.
Version 1.5, released 2/9/2004:
  • Added installer/uninstaller.
  • Removed dependence on SIMBL.
  • Japanese localization by Toshi Clark and Yoko Tomabechi.
  • Shortened menu title from "KeywordAssistant" to "KA".
  • Minor bugfixes.
  • Docs update - see the usage section for workflow tips.
Version 1.4, released 1/31/2004:
  • Added keyboard navigation to the keywords panel. See the usage section.
Version 1.3, released 1/19/2004:
  • Worked around a few problems with iPhoto 4 applescript support.
Version 1.2, released 1/16/2004:
  • Compatibility with iPhoto 4
  • Note that the key shortcut for 'Remove Keywords From Selection' has changed, iPhoto grabbed what we were using.
Version 1.1, released 1/10/2004:
  • Added menu item 'Alphabetize Keywords Panel Now'
  • New keywords are now added to the keywords panel in (as close as we can get to) alphabetical order
Version 1.0:
  • Initial release

License

Keyword Assistant is distributed under the "MIT" license:
Copyright (c) 2003 Ken Ferry

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Contact

Send questions, bugs and feature requests to kenferry at mac.com. It's also nice to hear from people who like the program.

Acknowledgments

Lots of people have contributed to Keyword Assistant:
  • Jennifer Sunami designed the spiffy icon.
  • Toshi Clark and Yoko Tomabechi did the Japanese localization.
  • Niels Danielsen did the Danish localization.
  • John Smal did the Dutch localization.
  • Gilles Pérez-Lambert and Jérôme Chion did the French localization.
  • Carsten Kremser did the German localization.
  • Adriano Belletti did the Italian localization.
  • Javier Rodriguez did the Spanish localization.
  • Claes-Fredrik Helgesson did the Swedish localization.
  • Michael Krekin did the Russian localization.
  • Mike Solomon maintains the SIMBL project on which earlier versions depended.
  • Steve Ferry helps a lot with testing and feedback.
Thanks to all of you! Anyone who wants to help, send me an email.

Docs last modified: September 29, 2006
Software version: 1.9.4