João, Thanks for the detailed reply.  Our replies to Stefan crossed each other.

On Sat, Dec 28, 2013 at 10:59 AM, João Távora <joaotavora@gmail.com> wrote:
Anyway, the other 30% are probably legitimate cases where the user that
activated both yas-minor-mode and auto-complete-mode in a buffer
probably wants something like the following to happen:

   1. Press TAB

   2. If theres an active snippet key preceding point, expand it and
      leave

   3. Else attempt autocompletion at point, bring up a menu, whatever it
      does

   4. Else do whatever TAB is bound to

I wrote "probably" because I don't think I ever got a precise
description that clarified the desired interaction. That is, maybe some
users want 2 and 3 reversed.

Yes, that (yasnippet ahead of autocomplete) is what I have attempted to configure for myself.  To ensure 3 remains accessible I try to give my snippets names with low likelihoods for collision.

[..SNIP..]

Again, thanks for the long authoritative reply.  My take away is that configuring multiple packages to trigger in some meaningful, predictable manner from a single event is currently part of the "dark arts", not something newbies should attempt.  It would be wonderful if some structure and formalism could be brought to this area.

/john