I have a friend taking a Japanese class right now and it frustrates me to see how quickly she's able to pick up kanji. She'll be reading over some Japanese and say, "Oh, I know this one. It means...". Sure, I know the word when she says it, but I could never pull the character out of a sentence.
Learning kanji is boring and putting it in use is a challenge.
I find the traditional way of learning kanji, a massive stack a flash cards with a single kanji on each, to be daunting at the very least. This seems strange to me because a single kanji has numerous readings and a multitude of related meanings.
Learn kanji, not by the character itself, but by the words that they are used in. To see this in action, view Wired Kanji - Lesson 1.
I am able to have a basic conversation in Japanese and have a large enough vocabulary (with the help of a dictionary) to convey my thoughts through writing (with the help of a computer). I know all these words, their sounds and their meanings, yet I don't know the kanji that represents them.
Working with the words I already know, I can learn their kanji how they appear in a sentence.
わたし は あたらしい ざっし を よんでいます。
I am reading a new magazine.
I would learn the kanji for:
私 - わたし (I)
新しい - あたらしい (new)
雑誌 - ざっし (magazine)
読んでいます - よんでいます (reading)
Notice that each vocabulary item has a specific meaning. Some might be a single kanji, others might be multi-kanji pairs or a mix of kanji and hiragana. Yet, this is exactly how I would see them while reading.
I don't think there is a specific tool for learning kanji this way but I could use a list of the most common words used in Japanese writing. I also started a list of all the words I knew in Japanese, when I first began learning and it contains many basic words and phrases (when I went to Japan, I couldn't keep up). And as another tool, I purchased a handful of children's books written in Japanese from Book Off, that are written in kanji with furigana (notation in hiragana).
This is the best strategy, for me. This time, I will learn kanji.