Comments by "Peter Lund" (@peterfireflylund) on "Mandarin on demand - Who? Why? What? Family?" video.
-
Yes, there is such an app! Actually, there are several but the best one is probably Skritter (which comes in two versions: one for Chinese and one for Japanese). You are continuously tested on tones, meanings/translations, and on how to write characters (stroke order and direction is fixed and important). The fixed stroke order makes it easier to learn the characters because you combine two systems: visual memory and motor memory.
There is a system to the madness but it is not as much of a shortcut as one would think. Many characters have one or more semantic components (simpler characters that each mean something) and one or more phonetic components (simpler characters that once sounded somewhat like the composite character). That helps a lot once you have learned the first few hundred characters.
The first hundred or so characters are probably the hardest to learn because you don't know anything about what you should pay attention to and what you can ignore + you don't know which characters are similar or how they combine into more complicated characters. It's just like how it took time to learn the difference between 'd' and 'b' and 'p' and 'q' (and 'O' and 'Q') when you were 6 years old.
Pleco is a really good dictionary app that lets you look up multi-character words, individual characters, the constituent parts of each character, etc.
If you are an absolute beginner, you shouldn't start out by learning lots of characters. HelloChinese is a very good app for beginners -- apart from all the standard language learning stuff you expect in an app, it also has speech recognition so you can get the tones and all the difficult new consonants right. Lingodeer is a new app for Chinese, Japanese, and Korean which also has speech recognition (but not as good as what HelloChinese has). It is so new that the iPhone version isn't out yet but the Android version is very nice (and it works well on the quite under powered Samsung Galaxy J1 -- I have the old version with 512MB RAM and a dual-core 1.2GHz Cortex-A7 running Android 4.4.4).
1