Short version: when cropping photos on your phone (or iPad), do so from the Photo Stream, not the Camera Roll.

Before iCloud, whenever you took photos on an iPhone they were saved to the Camera Roll. This mimics the pre-digital idea that you’d take a roll of film to the photo mart and have it developed. You’d plug your iPhone into your computer, it’d suck (develop) all the photos off the Camera Roll, add them to your Library, and clear the Camera Roll. Now, with iCloud, many people rarely if ever sync their iPhones to their computers, so they end up with Camera Rolls with hundreds of photos in them. And each photo in the Camera Roll also appears in the Photo Stream.

Over the weekend we ran into a problem where we’d cropped some photos but those changes disappeared once the photos were synced to our Mac.

Here’s what seems to happen:

When you take a photo on your phone, it uploads a copy of that photo to your Photo Stream. That copy will then be later pulled down by iPhoto to your Mac and is visible on whatever other devices you have iCloud set up on. If you edit/crop a photo in your Photo Stream, it’ll save your changes as a new file to your Camera Roll, which gets uploaded back to the Photo Stream. (You thus end up with both the original and cropped photos in your Photo Stream.)

If you edit a photo in your Camera Roll, however, it saves the changes in place, but if it’s already uploaded that file to your Photo Stream, it doesn’t replace the copy there with the one with your edits. If you then plug your phone into your computer, it sees the copy in the Photo Stream, sees that it has the same file name as the one in your Camera Roll, and thinks it already has that photo, so if those photos are deleted from the Camera Roll, the edited versions go, too.

So, the best way to make changes to a photo from an iPhone/iPad is to do so from the Photo Stream.

Also photos only get pushed up to the Photo Stream when you’re on wifi, so if you’re out somewhere you can crop from the Camera Roll safely since there won’t be a copy in the Photo Stream to play with yet.

I think the Camera Roll as a concept is probably outdated in light of iCloud. The proper behavior should probably be that once a copy of the photo is uploaded to iCloud, it should be removed from the Camera Roll (Apple could even add a silly animation that shows the photo being developed like the shredded cards in Passbook!). This way the Camera Roll would only ever show photos that have not yet been moved to a computer or uploaded to iCloud.