On the Flickr support in iPhoto '09

As you may know, Apple added Flickr uploading to iPhoto '09. As you may guess, I was a little perturbed at this since I pay my mortgage by selling, er, a Flickr upload plugin for iPhoto.

I acquired my copy of iLife '09 yesterday and decided to dive deep on how Apple have implemented Flickr integration in iPhoto '09. Here are the results of my investigation. Be aware as you read that this is the result of a morning's click-around investigation and not months of serious use. I will do my best to give an honest assessment of what is in iPhoto '09, and you've already read my full disclosure in the previous paragraph.

Uploading

When you upload a picture to Flickr from iPhoto here are the controls:



The only things you can change are the size of the exported image and the privacy settings. The privacy settings default to Private and there's no preference for this.

There is no support for editing your iPhoto metadata before uploading: the descriptions, tags and title that you enter in iPhoto will appear on Flickr. I know that a lot of Flickr users want to have a different tag set on their own computer than on Flickr. One particular use case is photos of children. It makes a lot of sense to tag photos of your children with their name - it helps with searching and remembering who's who as they grow up - but do you want your child's full name on Flickr? iPhoto doesn't give you that control.

Please note that I'm not invoking the spectre of paedophilia to trash a competitor here. This is a genuine use case that I have dealt with from several users over the years.

You have no control over the safety level of your photos, nor whether they should be made available in public areas on Flickr. You cannot effectively self-moderate your photos with iPhoto '09, as Flickr members are expected to do. You can set a default safety level and a default 'hide from public' preference on the Flickr site, which all new uploads will inherit, but iPhoto provides no way to override this on a per-upload basis, so you have to set the site default to the most restrictive level you will ever upload and then loosen the restrictions on the site after uploading. Alternatively, you could tighten the restrictions after uploading - if you can live with a window of time in which your "unsafe" pictures might be seen by people you don't want to see them (oh, and don't forget either!).

Group Support

There is no integration with Flickr groups. At all. Anywhere.

Photoset Mania '09

iPhoto '09 really, really wants to make Photosets for you. When you select even one photograph to upload, iPhoto will create a single-photo set for you. You have no way to stop this from happening. Do you put every photo you upload to Flickr in a Photoset? I certainly don't. That said, I suppose this makes sense if you're dumping an iPhoto "Event" en masse into Flickr.

Once you have uploaded a photo and iPhoto has created a set for you, it creates an entry in the source list under "Flickr":



This is your entry point in iPhoto to that photoset on Flickr. You can't reorganise this list of sets, except to sort them, and there is no way to nest them inside folders. You can only expand or collapse the Flickr item.

If you delete this item from the source list, the Photoset and all the photos it contains are deleted from Flickr. This means that you're stuck with this thing in your source list forever. If, like me, you like to post photos one-by-one to Flickr, this is a very, very bad thing.

Now, here's something that deeply confused me: how do you add to an existing set on Flickr? iPhoto '09 knows nothing about your existing structures on Flickr, so none of the photosets you already have will appear in iPhoto's source list. You won't be able to append to an existing photoset using iPhoto '09, unless you first created that photoset using iPhoto '09.

If you have created a photoset with iPhoto, you add photos to it by dragging that photo to the source list item representing that photoset. Do not select the photo and hit the big Flickr button in the bottom toolbar! If you do that, you'll get another one-photo Photoset in your account. This is true even if you're uploading a photo in an event from which you have already uploaded a photo. I had hoped that iPhoto '09 would be smart enough to catch that case and do the right thing, but no.

Now, if you delete the photoset on Flickr, iPhoto will recognise this and ask you what you want to do with the source list item (which it calls an "album" here):



Now, if you remove the album at this point, the photos remain on Flickr although you lose any connection to Flickr from your iPhoto library - individual photos in iPhoto have no metadata to show that they are published on Flickr. There seems to be no way to recreate the photoset with the photos that appear inside the Flickr source list item. If you republish the photos from the Event, the photos are uploaded again, you get another source list item and another set is created on Flickr.

If you choose to manually delete a Flickr source list item from iPhoto, the photos it contains are removed from Flickr - even if you have already broken the link with Flickr by deleting the photoset that the item represents. It seems that any time you select a Flickr item and hit backspace, the photos inside will be removed from Flickr.

Metadata Sync

What is nice about these Flickr sidebar items is that they will sync photo metadata with Flickr. I know from many requests that this is something people want. FlickrExport has never had the API to be able to do this robustly, so it's good that Apple has taken it on. Unfortunately, you need to wade through all the above to get to it and there is a critical inflexibility in the way iPhoto identifies what to sync.

The sync is two-way: edit a title in iPhoto and Flickr will be updated. Add a location in Flickr, and iPhoto will be updated. However, remember what I said about wanting to have keywords which are totally private? You might have thought that you could add public keywords, upload and then add the private keywords. Unfortunately not, since iPhoto will later sync with Flickr again and make your private keywords public.

[Update - 2009-01-30 @ 1648]
It's worth pointing out, as well, that if you remove information on Flickr, it will also be removed from your iPhoto library. It is not possible to upload a photo with private and public tags, then delete them from Flickr. That will also remove the tag from your photo in iPhoto on the next sync.

Another thing worth mentioning is that, if you let others tag your photos on Flickr, all those tags will be imported into your iPhoto library. They are added to both the published photo and appear in the iPhoto Keyword window.
[End Update]

iPhoto's sync connection to Flickr critically depends on you not deleting the photoset that iPhoto created for you when the photo was uploaded. If you delete that set from Flickr, the syncing is permanently and irretrievably broken as far as I can tell, since there's no way to recreate the link from the Flickr source list item to another set on Flickr.

For Flickr API Geeks

One thing I noticed when sniffing iPhoto's HTTP traffic to Flickr is that iPhoto calls flickr.photos.setMeta with an HTTP GET. That shouldn't be possible, since the call is documented to require an HTTP POST. Is iPhoto's API being special-cased by Flickr? I wouldn't be surprised and I'm certainly not complaining - the Flickr team have made helpful API changes for me in the past too - just noting it for interest.

The Solution

Well, you want something better? Turns out there is something better: FlickrExport. Editing metadata before upload, group support, flexible photoset creation and addition, geotagging presets, GPS tracklog integration, it's all there and more. Oh, and it works back to iPhoto 5.