The last major version of iPhoto--iPhoto '11--came out in October 2010. Since then, I find myself spending less time working with family photos and more time muttering family-unfriendly words.
But iPhoto isn't a lost cause. Looking at iPhoto for iOS, I suspect Apple is working on a major overhaul of the Mac application, which would explain the development lag. (To be fair, the incremental improvements over the last two and a half years have brought iCloud Photo Stream compatibility and a unified database format shared by iPhoto and Aperture--both solid improvements.)
Until the next major version appears, here are four ways Apple could improve iPhoto '11 in the short term to make it usable. (I have no inside information about Apple's plans or current development focus, because, well, it's Apple.)
Let me turn off Faces
Nothing spins up the fans on my MacBook Pro like iPhoto, and that's because it appears to be searching for people to identify for the Faces feature in the background. In the sidebar, the spinning progress indicator frequently appears to the right of the Faces item.
I think Faces is a fine idea, and iPhoto does a good job of locating people in pictures after you've spent time identifying them in several shots. However, I don't use it enough to justify hogging a majority of my Mac's processing power. Aperture offers a checkbox in its Preferences window to disable Faces (a feature added at the request of pro photographers); iPhoto needs one, too.
Handle offline images better
Most people who have been using iPhoto for several years probably have dozens or hundreds of gigabytes of photos stored on their Macs. Who cares? Storage is cheap!
At least, it's cheap if you use traditional hard disks. If I want to buy a MacBook Air or MacBook Pro with a 256GB solid-state drive, I don't want half (or more) of my storage dedicated to photos that are years old.
At the same time, I don't want to split my photo library into smaller libraries. Instead, I should be able to store photos on an external drive. Even if the drive wasn't connected, I could still view previews and information about the photos--I just couldn't edit them. This is how Aperture, Lightroom, and Photoshop Elements work.
The way iPhoto '11 currently handles this is complicated and limited. The app does offer a preference setting for just linking to images instead of copying photos into the iPhoto Library, which is a single file where everything is stored. (Technically, the library is an OS X package made up of several files and folders, but it operates as if it's a single entity.) That preference setting applies only to photos imported from disk, however; images imported via camera or memory card are automatically saved in the iPhoto Library.
If I disconnect the external drive, I can still view thumbnails of the photos stored on it. But when I try to open a picture--just to view it larger, for example--iPhoto displays a dialog box in an attempt to locate the file. Clicking Cancel presents a giant black image with a warning symbol in the middle.
Copy Photo Stream images to the Finder
Speaking of choosing where to store images, if you've enabled iCloud's Photo Stream feature, you need to use iPhoto or Aperture as the destination for the photos on your Mac. That's fine if you open either application regularly, but what about someone who uses Adobe Photoshop Lightroom as their primary photo library? I shouldn't have to launch iPhoto or Aperture--only one can be designated as the Photo Stream destination at a time--just to collect my Photo Stream images.
Instead, I should be able to specify a folder in the Finder and have my Photo Stream photos show up there, the same way Dropbox updates files among computers. Under Windows, this approach is in fact the only option for receiving Photo Stream images.
Putting the photos in Finder folders automatically gives me options for choosing how the photos are organized. If I do decide to use iPhoto primarily, it can automatically import--but not copy, as mentioned above--the pictures into my library.
Enable metadata export
I know this takes us out of the "consumer" space a little, but not much. Currently, you can't easily export photos and also retain metadata such as keywords, titles, descriptions, and ratings. It is possible to export a JPEG that retains keywords and titles, but doing so degrades the image quality (because JPEG is a lossy compression algorithm as well as a file format). Ratings are lost in the wind.
Why is this important? If you want to migrate to another tool besides Aperture, all the time you spent assigning the metadata is lost. You'll have the photos--which are, granted, the most important part--but the information is lost, as if someone erased all the information jotted down on the back of your grandparents' photo prints.
Solutions abound. The data could be saved in an XMP (Extensible Metadata Platform) "sidecar" file that travels with the original image file, which gets around the need to write the data into the image files themselves. Or Apple could allow developers access to the data, a capability apparently lost last year when iPhoto and Aperture began using the same database architecture.
Bonus suggestion: Remember that not everyone uses the latest Mac hardware
I suspect that iPhoto works decently on a brand-new, SSD-powered MacBook Pro with Retina Display. But that doesn't address the non-pro folks who are likely the main users of iPhoto. My MacBook Pro is a 2010 model and iPhoto is frequently sluggish - and that's after I replaced the internal hard drive with an SSD. Optimizing code is difficult, I know, but it seems like Apple isn't testing iPhoto with older--and still quite popular - Macs.
I understand that Apple wants to keep iPhoto simple, but with the exception of metadata export, I'm not asking for pro-level features. Perhaps these issues will be addressed in the next major revision, but after a frustrating two and a half years, who knows when that will be? These suggestions would go a long way toward improving iPhoto as we know it in the meantime.