Being a person who gets bored quite easily I always looked for the most interactive, engaging, entertaining ways to learn something.
When it comes to learning a foreign language, I always started yawning after a few pages of any book or on-line course. Not a fault of their authors of course, indeed their texts were really good and well-thought: nice and clear explanations with lots of examples.
What bores me is the lack of engagement of my senses. Probably modern era technology-pervaded world has raised our bar for attention. Or probably it is just me :-). Anyway I wrote down this list of the ways I found most entertaining (and efficient) to study a foreign language.
Duolingo is fun and easy. The process of learning is turned in a game, with dictation, translation and reading exercises. It is good for both beginner and more advanced users.
It uses spaced-repetition, a learning technique that increases memorization efficiency by repeating words at the right intervals of time.
In addition, immersion provides real-world texts to translate in a cooperative manner.
At the moment it supports Spanish, German, French, Portuguese, Italian and English.
Anki is an open-source spaced-repetition software based on flashcards. As the site says, it "makes remembering things easy" and "because it's a lot more efficient than traditional study methods, you can either greatly decrease your time spent studying, or greatly increase the amount you learn".
It is to be used with other learning tools. While you are studying the language, create your own deck of flashcards, the way you prefer. Or just use one of the many decks shared by others. I suggest making your own customized deck. I also suggest to give context to the words by adding example phrases. You can read this nice article by Benny Lewis about it.
To be able to understand the spoken language and write it down correctly is a very important skill to learn. Not for nothing we were used to do a lot of dictation exercises in our primary schools.
There are various sites to exercise your comprehension of the spoken language with dictations. Some I used for English were Listen and write, English club dictation and Dictations online.
Audio-books with text
There's nothing better than a nice voice telling you a good fable or reading you a good book. Fortunately on-line there are many audio-books with both audio and text to follow.
One good site to find audio-books is Books should be free. There you will find books in almost 30 different languages.
Let's say, for example, you'd like to hear the fable of Pinocchio, in English. Just open the text and press 'play'. Enjoy!
Talking with natives and non-natives
One of the best ways to improve your expressing skills is to talk with natives. But also exercising with other students like you is very useful. Fortunately you don't need to go abroad to find someone to talk with. You may find local speakers or you can join Shared Talk, enter the voice chat and pick a partner to talk to.
Movies and series with subtitles
Another way to have a good time and improve your skills at the same time is watching your preferred movies, series and TV-shows using the language you want to learn both for audio and subtitles. Fun and usefulness combined.
I hope you will find this list useful.
Please let me know the way you prefer to study foreign languages.
You can find further suggestions in both the comments of this post and the Hacker News thread here.