Better Camera Roll Integration in iPhoto for iOS 7

iPhoto 2.0

I’m playing around with the new iPhoto for iOS 7, and I’ve noticed an interesting change from last year: edits that you make in iPhoto are now synced back to the original photo in the iOS Camera Roll. To my knowledge, no other iOS app can overwrite the original file – apps like Instagram, Facebook, and even the original iPhoto (if you still have it installed) can only save edited photos as new files in the Camera Roll.

As I noted today on Twitter, this is a big change from last year’s iPhoto workflow. Here’s what I wrote in March 2012:

After a few minutes, which I spent playing around with the app’s UI and various editing functionalities, I stopped editing and went back to the main page, thinking that all my edits would automatically carry over to the system Camera Roll. My reasoning was: if iPhoto for iOS, unlike the Mac, can pick from a central location (the Camera Roll), then maybe edits will sync automatically as well. Not so fast. It turns out, the Camera Roll isn’t centralized at all, as every modification you’ll make in iPhoto will have to be exported to the Camera Roll as a new file. Even better, if you edit something in iPhoto in the Camera Roll “album”, then edit the same file in the system Camera Roll from Photos.app, iOS will fail at communicating changes between the two, and you’ll end up with two different files in the same Camera Roll like I did.

In the new iPhoto, Apple has changed the communication layer between the system Camera Roll and iPhoto to allow for a more direct integration between the two: once you choose a photo in iPhoto and make some edits to it (such as an effect), the edits are automatically saved to the original photo in the Camera Roll without having to manually export the edited photo or create duplicates like the original iPhoto did. This makes for a more streamlined workflow and experience, but it raises some questions, so I wanted to dig deeper.

My understanding is that Apple is using APIs that aren’t available to third-party developers to allow iPhoto to save directly to the Camera Roll without manual export. In fact, my theory could be confirmed by another Camera Roll enhancement in iPhoto: the app can delete photos from the Camera Roll, as Apple also notes in the app’s changelog for version 2.0.

iPhoto 2.0

Again, I don’t think that third-party apps can access the same set of permissions – apps that integrate with the Camera Roll can only access existing photos and save new ones.

iPhoto 2.0

Of course, it wouldn’t be the first time that Apple relies on private APIs not available to developers to enhance their own App Store apps. Remember when the first version of iBooks for iPad shipped with features that other apps couldn’t implement? The precedent was set years ago, and, honestly, I don’t think that it’s that big of a deal or surprise anymore. In fact, I do think that these changes dramatically enhance iPhoto to provide an easier experience that gets rid of duplicates and makes it a “supercharged Photos app” with extra permissions.

I also ran some tests to see how the way iPhoto and the iOS 7 Camera Roll handle changes would sync across devices with iCloud.

Based on what I tried to do, edits made in iPhoto don’t propagate with Photo Stream across iOS and OS X: I edited a photo on my iPhone and both my Mac and iPad still show the original, untouched photo. I tried with multiple photos, restarted my devices, and even disabled and re-enabled Photo Stream – changes don’t sync across devices. iPhoto can overwrite the original file, but everything you change stays on the device were the edit was performed from.

iPhoto 2.0

Furthermore, it’s worth noting that, after an edit has been made in iPhoto, the iOS Camera Roll lets you see the original photo when you tap Edit. As you can imagine, you can then do this:

Edit a photo in iPhoto;

See the change in the original Camera Roll file;

Tap Edit in the Camera Roll, and edit again from there;

See iPhoto picking up the Camera Roll edit in the same file.

As a user, I’m happy with the Camera Roll changes that Apple made with iPhoto 2.0: I don’t end up with duplicate files anymore, and this is exactly the kind of editing workflow that I was asking for last year. I have written about the problems with “Open In” and duplicates on iOS before, and I’m cautiously optimistic about this change being adopted by other Apple apps. With iOS 7, Apple unified the Camera Roll and Photo Stream in the Photos app, and I would like to see edits to my photos becoming available on all my devices instead of just the device that was used to edit with iPhoto.

As a user of third-party apps, I’m curious to see if Apple will eventually allow developers to add this functionality in their apps. It’s likely that, right now, Apple wants to test this feature with an app that they control – even if it means that it’s an App Store app with permissions that other apps don’t have access to. Perhaps, sometime in the near future, Apple will notice that people have liked the change and it’ll allow third-party apps to replicate the editing experience of iPhoto. I don’t know how Apple would handle user permissions and settings, though.

To sum up, I like this change. If I got some details wrong, please let me know.