Saturday, May 9, 2009

Reducing iPhoto '08's size - what to do?

I have used iPhoto since it came out, and as a result, have a lot of pictures accumulated. I am currently using iPhoto '08 (version 7.1.5). iPhoto '09 is available, but it didn't look compelling enough to me to upgrade. Anyways, my iPhoto library is bigger than it needs to be for two reasons:
  1. Every time a change is made to a photo, the original is left around. This is so you can revert to the original. While the theory is nice, there are plenty of cases where this isn't necessary (e.g., rotating a photo, removing red-eye). As a result, I have a couple gigs worth of "Original" photos. I would love to be able to remove these, but iPhoto's meta-data (stored in Library6.iphoto), doesn't play nicely with this change. If you remove the original, then the current version is present, but if you every choose the "Revert To Original" option, you're hosed for that photo. If you replace the original photo with the current photo and then remove the current photo, iPhoto won't display the photo. The iPhoto meta-data would need to be updated, but it's format looks propietary, and no Google search yielded any results.
  2. We don't have a video camera, but use our digital camera's video functionality a lot. As a result, we have a lot of video in our library. The video quality is by no means HD and it isn't compressed very well, thus there is a ripe opportunity to save some space by reducing these videos. Using command line scripts, it wouldn't be hard to bulk-compress all the movies, but the trouble again comes with updating the the metadata. Since I would want to compress ".mov" or ".avi" movies to ".mp4", the filenames would change, the the metadata would need to be updated.
Issue 1 use to be easily solvable with an applicaiton called iPhoto Diet, but it doesn't support iPhoto '08. I have no other solutions online for issue 2.

This got me thinking about moving to Google's Picassa, which was released for Mac back in January. The attractive thing about Picassa is that you can store your files however you like. They don't need to be imported into some library. The issue then becomes importing pictures from iPhoto into Picassa. Unfortunately, Picassa only lets you import by event, not be album. While I like iPhoto's event concept, it doesn't meet all the needs that albums do. A photo can belong to multiple albums but only to one event. Also, since we have been using iPhoto before the event concept came around, a lot of our photos haven't been categorized to events. Albums are our gold standard.

I can export my albums manually, one album folder, but this becomes very tedious, since you have to export one album at a time. You'd also have to create the folder names. iPhoto doesn't expose a way through AppleScript to export folders. There are Perl modules for reading iPhoto's album XML (AlbumData.xml), so this may be possible. I unfortunately deleted Apple developer tools off my hard drive though to get some space back, so will need to download them again to try this out.

As you can probably tell, this has been quite the process. The whole reason I want to shrink iPhoto's library is to get space back on my hard drive. After spending all this time, and having no clear/easy solution, I took a step back, and looked for other ways to reclaim space. I remembered that I had a license for WhatSize, and quickly located the data consuming directories on my hard drive. While the iPhoto library is big, our various iMovie projects are bigger. Since I have two external hard drives now (one for personal and one for work), I was able to free up plenty of space by moving these movie projects to both the hard drives.

In the meantime, I will wait to see if:
  1. iPhoto gets better utilities for shrinking its library.
  2. Picassa gets better utilities for importing albums from iPhoto.
Here are some useful links should myself or someone else pick up this project of reducing iPhoto library size:

2 comments:

Razvan Dan Dobre said...

Well, now there is this great app for shrinking iPhoto libraries by 60-90% without losing perceptible image details:

http://www.iSlimPhoto.com

It's available in the new Mac App Store. I hope this helps.

Steve Loeppky said...

Razvan Dan Dobre:

Thanks for passing on iSlimPhoto. Unfortunately, it doesn't appear to address these problems:
* Compression of movies which is where tons of space is lost.
* Removing of iPhoto originals that get kept whenever an edit is made.

I will look into iSlimPhoto later though in case this changes.