Personally, I would never criticise a player in public.
Admonish your friends privately, but praise them openly.
If you disagree with the way a colleague did something, call him up, invite him out for a coffee, talk about it. But don't do it publicly.
Really, what you should tell a novelist is, 'Keep going until you finish the draft. Don't show it to anyone.'
I don't really bust anybody publicly. It's much more efficient if I can impact the creators. So that's what we do. It's had a great impact.
Reprove your friend in secret and praise him openly.
Find fault when you must find fault in private, and if possible sometime after the offense, rather than at the time.
I only ever privately tell people stuff for the scene. And I often ask what they feel is right. Normally, by the time that we're filming, if it doesn't work, it always the script.