Friday, March 24, 2006

iPhoto & EXIF



Preface


While the following is intended to help anyone looking to write EXIF data (specificly comment and keyword data) from iPhoto, it may also be of use to those seeking to compress photos in Image Ready without loosing EXIF data. I encourage anyone who doesn't understand the previous sentence to skip this entry as it may induce boredom, confusion, nausea, etc.

Intro


Well I just spent close to 24 hours reinventing the way
I will manage my photos. It was my joining Flikr that
started the whole ordeal... basically, I just wanted to
tag my photos. I quickly realized it would be waste of
time to only tag online photos so I went about tagging
them all in iPhoto. It turns out this was no where near
as easy as it sounds.

My Stuff:


Hardware
.
-Mac Powerbook G4
.
-Pentax Optio WP
.
.
Software Used
.
-iPhoto 6.0
.
-ACDSee
.
-Graphic Converter
.
-Image Ready
.
-R-Name
.
-Terminal
.
.
Scripts Used

.
-ExifTool6.06
.
-Set Exif Data

The Old System


After receiving my first mac two years ago I came up
with a pretty logical approach to storing my photos. It
goes something like this:
.
.
1. Import photos into iPhoto
.
-Edit
.
-Delete and Enhance
.
2. Export edited photo album into a folder
.
3. Use R-Name to rename photos in the following format
YYMMDD-Pic#-AlbumTitle
.
4. Use Image Ready to reduce batch to JPG Quality 10 (I
rarely print my photos and I can't see the difference
on the screen)
.
5. Save both Original and Low Quality batches to
external hard drive as backup
.
6. Delete original photos from iPhoto and import the
new Low Quality folder

The Problem


While this system may seem tedious at first, I could do
it all in about 5 after the editing and tagging
process. It was the desire to add tags to photos that
brought my current system to its' knees. Here is what I
learned:

iPhoto


1. iPhoto reads limited EXIF Data (I didn't even know
this abbreviation 24 hours ago!) and wont write any
EXIF Data
.
2. iPhoto comments and keywords are stored separately
from photos (should anything ever happen to your iPhoto
library, be prepared to say goodbye to literally weeks
spent tagging and commenting on photos)
.
.
Hence, exporting photos from iPhoto retains none of the
comments or keywords. Pissed, I took a minute to send
iPhoto some feed back and then the search began... for
some kind of script or program that could write my
iPhoto keywords as EXIF data. I'm still astonished I
wasn't able to find anything less complex. I ended up
having to download a script that would trigger the
ExifTool command line (if that's what it's called) to
assign iPhoto keywords to EXIF Data. While I would
consider myself fairly advanced at using Macs I'm
absolutely and completely lost when it comes to using
Terminal.
.
.
The first obstacle I hit when running the script was
that it couldn't call ExifTool. It took me a while to
figure out where it was being called and the fact I had
to show the script the path to the command. Once I
figured this out the script worked flawlessly but of
course I could not actually see if the keywords were
being inserted because iPhoto doest display that
particular EXIF data. So, through some research and
plenty of trail and error I eventually figured out how
to pull up a JEPG's EXIF data in terminal using
ExifTool. Here I could see the script had actually
worked.
.
.
As I played around with the script I noticed that each
time I ran it on the same photo my list of tags for the
photo grew exponentially. So I managed to figure out
how to overwrite tags rather than append to them. I
made a number of additional changes to the script too:
.
.
-Inserted my Copy Right and URL information into the
Script
.
-Made iPhoto comments write to both comments and
Description EXIF fields (Flikr uses Description EXIF
data not Comments)
.
-Made iPhoto keywords write to EXIF KeyWord field and
append to EXIF comment field (because most of my other
programs can only read the comments section)
.
.
Excited that I had managed to learn how to do all this
in the last 24 hours, I went about tagging and
exporting a bunch of photo albums. Then another
obstacle presented itself...

Image Ready and EXIF Data


When optimizing a photo in Image Ready it strips the
JPEG of tones of EXIF data. I did comparisons between
between an original photo taken right off my Pentax, an
image exported from iPhoto and an image optimized in
Image Ready.

(A-Original-EXIF /
B-iPhoto-EXIF /
C-ImageReady-EXIF /
D-GraphicConverter-EXIF )

Both the original and iPhoto images retained all
EXIF data while Image Ready had significantly less.
While it retained keyword and description data I wanted
the comment data as well. (However, now I'm begging to
question why I feel the comment data is important... I
have the exact same data in the Keyword and Description
fields.... hmmm.... nonetheless, you lose too much
potentially valuable data)
.
.
Believing there was some kind of fix in Image Ready for
this, I went out to research yet again. Finding
nothing, I gave up decided to see if there were other
applications that could compress without stripping
EXIF. The packaged ACDSee software that came with my
Pentax was garbage so I went about using that
mysterious Graphic Converter application that came
bundled with my Mac. And this was my saving grace! Not
only did an image compressed to 50% look great and take
up a 1/20th the original space but it retained all EXIF
data (after choosing these settings in preferences).
.
.
So here's the new process should anyone be looking to
do the same thing:
.
1. Import, Edit, Tag and Comment in iPhoto
.
2. Run EXIF script to write new info
.
3. Export photos to folder
.
4. Batch rename and compress images
.
5. Save originals and low quality images on external
drive
.
6. Import low quality images back into iphoto
.
.
I hope this was helpful to someone. Should you have any
questions don't hesitate to ask though I basically
divulged all my knowledge on he subject here. Good Luck
.
-Comatose
.

2 comments:

Jason Jang said...

Being a nerd myself that was interesting at first...but then i reminded myself I'm not a MAC user, and so skipped it.

I recently got a Flickr Pro account, and now am regretting it. Hosting photos on there is slower than just hosting it on my own server. since i have 4.6 gigs of space anyways, i started using this: www.jasonjang.com/photos . it's slideshowpro. but even that has it's problems. i'l be customizing the interface with flash, etc.etc.,. so anyways, imight be selling my flickr pro account. interested?

u on msn messneger? If so, add me. theannoyingguy[at]hotmail[dot]com

comatose said...

I'd have bought it had I not signed up for one myself. Originally, I hosted my pics on my own server as well. However, for my needs switching over seemed to have a lot more advantages:

-Upload from anywhere in the world effortlessly... especially when traveling
-Tons of extra features I would have no idea how to code ie.
----slide shows
----commenting
----photo notes
----number of views
----who has made the photo a favorite
----automatic keyword and comment extraction from exif data!!!
-Being part of a community of photo enthusiasts
-Illuminating the excruciating process of having to recode every photo page with updated links to new photos (this problem stems from my lack of HTML knowledge)
-More exposure for both my photos and URL (I'll admit it... I'm a stats slut!)

I really enjoy photography so I hope to get feed back and ideas from pros who use Flikr. I'd be interested in knowing more about flash, you'll have teach me some stuff over over beers at the Cook!