I used to use iMatch, then I moved to my own database for various reasons, but I've never had the time to get the GUI front-end working well.... now that I have my Mac, I figured I'd try out iPhoto (I have iPhoto '09). It seems to work very well, except I see two flaws:
It doesn't seem to support the kind of hierarchical tag structure that iMatch excels in, e.g.
animals cats Siamese Maine Coon dogs poodle St. Bernard dachshund chihuahua
plus a good+quick GUI to edit them (iMatch had a tree-list checkbox).
I use Flickr as my online photo publishing. I would like to edit on a tool on my Mac and then push the photos + metadata to my Flickr account. iPhoto has a built-in flickr publisher, but if the same photo appears in two iPhoto albums, it gets published twice to flickr, and that's bad: the object graph of the exported photos+metadata should be the same, so if you have photos A, B, C, D and set AB = {A, B}, AC = {A, C}, BCD = {B, C, D}, and export them to flicker, you should get 3 sets pointing to 4 photos, not 7.
Is Picasa better at this? Are there add-ons to iPhoto that will do what I want? I would like to get some pointers before investing a huge amount of time or $$$ in a tool only to have it be a dead-end.