A reader recently asked why sending a photo via email using the "Actual Size (Full Quality)" option in iPhoto resulted in a photo whose file size was significantly smaller than the file size of the photo within iPhoto. After all, he hadn't chosen one of the options that explicitly reduces the pixel dimensions of the photo. He also noticed that the photo went from 300 dots per inch (dpi) to 72 dpi.
A quick test on my system confirmed his results. My Canon PowerShot SD870IS's test photo started out at 3.1 MB and 180 dpi before dropping to 1.7 MB and 72 dpi. When I opened both the original and the reprocessed photos, Preview's inspector window showed the change in dpi and file size, though the dimensions of the photos were indeed identical.
I double-checked with Apple to make sure this behavior was intentional, and it is. Here's the scoop. "Actual Size (Full Quality)" is a bit of a misnomer. The photo that iPhoto sends to your email program will have the same pixel dimensions as the original, so "Actual Size" is correct, but it will not be the same quality.
That's because iPhoto always compresses photos sent via email to reduce the file size, since many email services set limits on how large a particular message can be, and photo files are becoming increasingly big. This is not a bad move on Apple's part, just one that's not sufficiently explained in iPhoto's interface.
The change in dots per inch is intentional, but immaterial. By default, iPhoto always processes photos sent via email to make them match the screen resolution of 72 dpi, presumably so programs that pay unwarranted attention to the dpi value when displaying photos don't resize the image weirdly. (Ideally, any application displaying a photo should scale it to the available window size, thus changing the effective dpi on the fly.) This has no impact on the file size or the image quality, since dots per inch has meaning only within the context of a particular physical size. So, a 3-inch by 5-inch image at 300 dpi contains exactly the same data as a 9-inch by 15-inch image at 100 dpi.
Because iPhoto is applying lossy JPEG compression to photos sent via email, it can't predict ahead of time how large the resulting file will be. That's why iPhoto's file size estimate is often wrong, depending on how well the JPEG compression algorithms work with the content of the particular photo. With "Actual Size (Full Quality)", it appears that iPhoto estimates no change in size at all, which seems like a bug, since Apple knows that iPhoto will be compressing the file further.
The practical upshot of all this is that if you want to send someone a full-quality photo without any additional compression being applied to it, don't use the Share > Email command (or the Email button in the toolbar, if you have that showing). Unfortunately, posting the photo to your MobileMe Gallery won't help either, since iPhoto compresses uploaded photos there as well, even when you use the Actual Size option in the Advanced preferences for a MobileMe Gallery album. All photos uploaded to Facebook are compressed further too, and although iPhoto claims to be able to upload Actual Size photos to Flickr, that option is available only if you have a Flickr Pro account, so I couldn't test exactly how it worked. I'd be surprised if the photos weren't compressed further when uploaded to Flickr as well.
Instead, try one of these methods of getting a full-quality photo out of iPhoto for sharing with a friend:
- Drag the photo from iPhoto to the Dock icon of your email program. This should create a new message with the full-quality photo attached, though few email programs display the photo within the body of the message. Alternatively, in your email program, create a new outgoing message, and then drag the photo from iPhoto to the message window to attach it.
- Drag the photo to the Desktop to make a copy of the current working version at full quality. Alternatively, in iPhoto, select the photo, choose File > Export (Command-Shift-E), click the File Export button, and export the photo using the JPEG format and the Maximum quality settings. (The Original option exports the original photo, from before you made any edits, so that may or may not be desirable.) Frankly, it's easier to drag to the Finder to export if you want a full-quality copy. Once you have the file in the Finder, you can share it as you would any other large file, such as via Dropbox, your MobileMe iDisk (see "Apple Adds iDisk Sharing Feature to MobileMe," 2009-02-13), YouSendIt (which even has an iPhoto export plug-in), or one of the many other file sharing services.
For those interested in hacking, there is an EmailCompressionQuality key in the com.apple.iPhoto.plist file that's set to 0.75, so you could try fiddling with that number (make sure to keep a backup copy of the file, and work on it in a text editor only when iPhoto is not running). When I bumped it up, the size of photos sent via email did increase, but when I set it to 1.0, the file size nearly doubled from the original. Oops.
To be fair, this is little ado about not much, since JPEG compression is pretty good at reducing file size without noticeably hurting the quality of a photo. Nonetheless, I think it's important that you know what you're going to get when you try to send someone a photo. If you want them to have the same quality photo you do, use one of the methods I outlined above instead of iPhoto's built-in email or Web publishing techniques.
One quick addendum. If you want to share full-quality JPEG files a lot, remember that Smith Micro's StuffIt Deluxe 2009 can compress JPEG files losslessly, reducing their size by 20 to 30 percent without harming image quality in any way. It's undoubtedly more trouble than its worth for an occasional photo, but in a professional situation where you're moving a lot of large JPEGs around, StuffIt Deluxe's lossless image compression capability could be quite welcome.