I've found that the Pimsleur method is very good (at least at the beginning/intermediate levels), but is mostly auditory. I think this leveraged the creator's research on timed reinforcement learning. I imagine something like this paired with Duolingo to provide visuals would be pretty effective.