There is a button in iPhoto for that. You click it, it asks you what size you want the photo(s) to be, compresses them for you if needed, opens up Mail, opens a new mail window, and inserts the photos for you. What any other mail client does by requiring you to search through folders, potentially needing to go back and "save as" the photo if it's too big, iPhoto does with 2-3 clicks.
You're kidding, right? iPhotos email button for photos is exactly my point. There should be intelligent communication and data sharing between apps, not at the Finder level.
in iPhoto, there's a preference to set which email client it sends to
What if I want to do something else with my photo, that iPhoto doesn't yet have a button for? How does a universal interface look like, that allows arbitrary other apps to get photos from iPhoto?
Intents on Android do something like that, but I am not sure how much they live up to their potential yet.
I am new to iPhoto and don't know about the config. I saw other people having problems with emailing photos from iPhoto, too.
Not everything Apple does or want is automatically the best way of doing things. This model they push works best if all applications are from the same vendor. Guess who has a vested interest in pushing that model?
Will all apps have the same kind of config? Or will I have to learn each new app, to make it work with another app? If I don't want to listen to my MP3s in iTunes, what do i do? Suppose I can send photos from iPhoto to Photoshop (or should I request them from within Photoshop, or should it work both ways?). Can I send them to The Gimp, too? If the Gimp adds a "request from iPhoto" button, will it add a "request from <Flickr|someOtherPhotoApp>" button, too? Will Photoshop?
Because the file system is pretty simple and universal. It's true that a lot of people have some trouble with it, but there might be trouble with the alternatives, too.
I think something like desktop search has maybe a better chance than the shiny GUIs.
What if I want to do something else with my photo, that iPhoto doesn't yet have a button for? How does a universal interface look like, that allows arbitrary other apps to get photos from iPhoto?
The email export function is implemented with AppleScript. To add support for Thunderbird (for example) just means writing a similar script for it. Indeed, it appears that someone has already done so:
http://softpixel.com/~cwright/programming/iPhoto/
Note that this is a minor hack, to get the button within iPhoto to support Thunderbird. It isn't necessary to get the same function as a regular Scripts menu item. Such scripts can be written in AppleScript, Ruby[1], Python, and Objective-C.
This is not really a solution to the more general problem being discussed, but I thought it worth mentioning.
Any Cocoa application (it’s an Apple thing obviously, so it’s only going to work if the application is using their file browser), File > Open. Source list on the left, under the “Media” heading find “photos”. All there, browsable by events and groups, or as a continuous list.