@boboch
because there's 2 smart contracts involved, the token contract and the interaction contract, the token contract need you to author the transaction. by approving the interaction contract to use your ERC20 you're allowing him to author the transfer so after that you just have a single contract call.