Lately, my journey in learning Italian has led to me discovering a new excellent resource called Duolingo. Duolingo was created by Professor Luis von Ahn, the creator or RECAPTCHA (the bit you have to type in to prove you are not a bot when signing up for web services). Following on from the crowd-sourcing model of RECAPTCHA, where by typing in the words you are helping top digitise books, Duolingo uses your input to help translate the web whilst giving you a free education in another language.
It is extremely easy to use. You can sign in using either using your Facebook account or with email and then you are ready to go. It currently lets you learn six languages; Spanish, French, German, English, Portuguese and Italian and there are plans to soon offer Mandarin. It works on a gamification model and it allows you to compete with other users and you are able to invite your Facebook friends.
When you first sign in you are introduced to Duo, a friendly owl who guides you through the 'skill tree'. As you progress, there are regular points for assessment, helping you to check your progress. You learn each section and then you master it once you have completed a set number of translations. As the translations come from actual documents that require translation, you are learning from language in the context it is used, rather than as a collection of contrived sentences. This is a product that will hopefully continue to grow and add many more languages. It already has a great iphone app and hopefully an android one will be on the way soon. It is a fantastically fun way to learn a language and the fact that it is free means it gets my vote.