Whenever you can, strive for the simplest solution possible. Not only does it save development time (and inevitably costs), but there's a certain appeal to users when they're faced with a clean, straight-forward and elegant solution.
Take Twitter for Mac‘s solution to reply-all. They could have gone the most natural route: design a new icon, add it to the row of icons on each tweet, code a separate function that grabs all the usernames in a tweet, add a new keyboard shortcut, blah, blah, blah.
Instead, they did this:
When you hit reply, by default it grabs all the usernames and drops it in a new tweet. But here’s the real beauty: all usernames except the author are pre-highlighted. One keystroke and the other users can be cleared for a one-to-one reply. A different keystroke and you can just start typing after all the names for a one-to-many reply.
One function to code for reply and reply-all. No new icons. No interface clutter. No new keyboard shortcuts. No new behaviours to learn.
Ah, simple. :)