Hi,
There are different topics discussed here:
Similar icons
Similar icons are not bad thing per se, provided that (a) they are distinguishable, and (b) the similarities and differences create a system that makes sense (in which case facilitate learnability).
For example, the Facebook app for Android (
view example) shows the following icons: three lines (hamburger) to represent a list of options, a human silhouette to represent friend request notifications, and the human silhouette with three lines to represent your list of friends.
In our case, a callout represents a message, a smiling face is a user, and a smiling face within a callout represents sending a message of gratitude to a user. So I think that it makes sense for the representations of such elements to have much in common.
The relevant question here in my opinion is whether this system works. For that, personally I really like to evaluate icons in context: ask a user a task that requires identifying, understanding, and using the icons, and identify problems.
Faces in icons
Many sites use your own picture to represent you as a user. Seeing your own picture is very effective to attract your attention. Using a face to represent the user goes along those lines as an alternative to use profile pictures.
The flag icon
Adding a face to the flag icon was just an attempt I did to extend the system (that probably went too far). The rationale was just to present "thank" and "report" as alternative actions. Although we want to move from a mental model of voting (e.g., thumbs up/down), I wanted to keep the UI compatible with users that came with that mental model.
If a regular flag is used, actions will look independent (and not helping to understand one another). However, it provides two bigger benefits: (a) avoid having too many faces, (b) consistency with flag icons used in other contexts. So I'm happy to replace this with the standard one.
Pau