
I am frequently asked what the best way to learn languages is, and truthfully the answer is multi-faceted. The fact is, much depends on what language someone is learning and how s/he learns best.
That said, if you are learning English, French, German, Italian, Portuguese, Spanish or Swedish, one of the very best triple-faceted combinations of an online learning platform (a "web software"), an offline desktop application and an iPod Touch/iPhone/iPad app we've come across is Babbel.
Babbel's interface is the definition of eye candy, works on any modern Web browser, loads quickly and runs solidly. The dynamic learning system reviews you on terms and phrases you've learned while seamlessly incorporating new ones on topics you select. This guarantees you'll be interested in what you're studying - and that it will be the most applicable to your specific needs and goals.
Part of the Babbel learning system involves media-rich (and user shared) virtual flash cards. The flash card stacks are organized into "packages" (groups of cards) that treat common themes (eg, youth hostels, winter sports, restaurants and eating out, fruits and vegetables, clothing, standard greetings, giving and receiving compliments, etc). With input and contributions from the users, these packages get consistently better as more contributions flow in.