Duolinguo is an interesting and free app to learn languages. For me, the main disadvantage is that is relies too much on translation...and as I always say, speaking a language has nothing to do with translation.
Anyway, the app is interesting and it can help you in other aspects during your learning process.