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. :)