The main thing that you need to accept when you begin to learn a language is that its going to take a long time. You can’t learn a language in a day, a week or a month. Its going to probably take a year before you can stop sounding like a fob tourist, but perhaps not depending where you are and how you go about it.
Obviously taking a class seems like a good idea (and can be occasionally). Most people don’t have the self-discipline to do anything every day if there is no outside pressure (grades, parents, money, hygiene, etc) looming over us. The same applies for me. I kind of gave up on Japanese for a while because I couldn’t find a decent teacher and I wasn’t getting any chances to use it. I still focused on learning the Kanji through James Heisig’s method with the assistance of kanji.koohii.com and I’m doing pretty well with that. But then recently, I have kind of had this Japanese friend so I’ve been trying to take advantage of that situation to get my Japanese back into action. For Chinese, I have class 2 nights a week so that gives me something, but never enough. For Korean, I study three times a week and my teacher occasionally beats me, but not nearly as much as she used to thankfully. I do Cantonese when I have time and motivation, but I don’t know anybody who speaks Cantonese so that language is always on the backburner. As for Thai, I just try to read stuff once or twice a week when I’m exercising or eating or whatever so I’m always being exposed to new vocabulary that nobody ever says, but its written everywhere.
My favorite trick which I strongly recommend to all my students – carry a small notepad and a pencil with you all of the time. When you are in a situation where you want to say something and either you can’t figure it out or are just shy or whatever, write it down! Then ask a few people how to say it. If you know non-natives who speak the language better than you, they are generally a much better resource than a native – contrary to popular belief. They can explain the proper usage of the word/phrase and hopefully give examples of situations in which it is used. Never forget that native speakers generally have no idea how they learned their own language. I don’t. But I remember exactly how I learned the other 4 and I can do it again. I am not a big fan of teaching English, but I occasionally do it because I get paid well for it because I speak Thai like really.
So I always carry my pad and I never guess. I’m too embarrassed if I screw up, so I just write down whatever I wanted to say and figure out later how to say it. Then if I can, I try to create a situation where I can use the new information so it sticks in my mind. If you don’t use it….well you know what happens. When I am waiting around for elevators, taxis, friends, etc – I review whatever crap is written in my notepad. A few quick glances during the day and I remember at least half of what goes in the notepad. I go through a notepad in about 2 months and I have old ones scattered all over my room. Arabic, Chinese, Japanese, Indonesian, Thai, Burmese, Cantonese, Korean, and more. You can find random bits of knowledge all over my room. And plenty of that knowledge got into my head and stayed there. Just buy the damn notepad. It’s only a dollar. Use it every day for a year and call me in the morning. It works better than any gadget. Cheap, easy. No programming, no data loss, no learning curve.