Now I have published my first serious project, an app for learning how to write Japanese characters. It's the app I always wanted but couldn't find when I was studying. It tries to be simple to use, you just start the quiz and go with the flow. There's no need to plan and manage your studies, and it uses spaced repetition for better retention.
There's a promo page with more details up at http://www.kanjibyhand.com.
It's only for Android so far. The free version includes hiragana and katakana:
https://market.android.com/details?id=se.tokotoko.android.kanabyhand
The paid version includes (a lot of) kanji:
https://market.android.com/details?id=se.tokotoko.android.kanjibyhand
I'd be grateful for any comments or ideas for how to market this app!
I think you could market it this way :
You are in the language learning industry. In learning, pratice is key. Learning is a journey (takes a some/lot of time). (expertise is 10 000 hours of work/experience)
What is good about learning is there are levels (ie. beginner, intermediate, advanced). For the software/app maker, it means there are different needs to answer. For your potential user, it may mean, there is a potential long term gratification "I am a beginner user today, and tommorrow I can become an advanced user". "I can make progress."
- How to make your visitors sin up ? Break down the different japanese apprenticeship levels. Show your user, examples of instant gratification. Even if they are beginner, they can get something.
- How to make your users stay and use your app ? Gratification at every little step they make. ie. Every time they write a good answer.
In other words, I think adding a layer of gamification would be interesting for you. It would spark your visitors interest, grow your user's engagement.
- How to make people come ? Maybe by allowing your users to challenge their friends. Ervery time your user reach a milestone, allow him to post on Twitter/Facebook something like this : "In two weeks, I allready completed X,Y,Z levels of Japanese. What about you ?" (far from perfect, but you get the point).
Having a freemium business model is a good idea. It lowers the barrier entry for the user.
In addition to that: - Define the the user tipping point : when are they addicted. What does it means to be addicted to your app. - Define the right metrics to analyze.
Many startups in the learning industry have successfully implemented a gamification layer in their application. You may take a look at codecademy.com and veri.com
HTH and Good luck.
PS: Great ratings show you're into something.
For the moment, I'm at least planning a web interface where you can see your how you're doing and get more details about your progress than on a small phone screen.
I really like your design but one thing springs to mind when I look at your screencaps. When I'm learning how to write a complicated kanji, I'd greatly appreciate having as much room on the screen as possible. It affords greater precision and the details are better shown. So maybe make the drawing area bigger?
Now having tried it for just a minute or two, I'm not sure I entirely like your recognition algorithm. It said I was wrong! Seriously though, while my hand writing is pretty sloppy at times, I'd still like to think my hand writing is legible. The algorithm seems a lot less sensitive about straight lines than some of the more curly bits. Take あ for instance. I while the second stroke was well off it accepted that while rejecting the third stroke for not bending back enough way at the end.
Since algorithmic solution is rather hard I might actually suggest going a whole different direction. If you've ever tried applications like Anki, they ask the user herself to select the result, which to me seems to work fairly well. The least I would want is probably some kind of intermediate level in between Good and Wrong.
Hope it helps and good luck!
It's hard to get the recognition as good as I'd like, but I still have some ideas for how to improve it. As you say it's too sensitive in some cases (long curly strokes) and not strict enough in other cases. For the straight lines I guess I'd need to take into account the relative positions compared to earlier strokes and where they cross each other, which is the next thing I'll try.
I've also thought about letting the user rate themselves. But personally I'm not so fond of it, since I find myself "cheating" sometimes, and also have to put some thought into rating my performance instead of just focusing on learning. But I'll keep it in mind, maybe having some kind of mixed solution is best, where the user can override the results.
Is your SRS algorithm based on one of the published Supermemo algorithms? If so, is it one of the older ones like SM-2 or one of the complex ones that eliminates the "whoops I missed a day" problem?
Rather than make a custom deck for Anki or Mnemosyne, you're reinventing the wheel a lot by writing your own SRS. Is the main reason so you can have that awesome-sounding handwriting matching feature? Does that handwriting feature work flawlessly for native Japanese control groups? Have you found that the Supermemo/Anki/Mnemosyne approach of users self-reporting their accuracy isn't as reliable as using handwriting recognition?
As for marketing, there's a sizeable community of people already using spaced repetition software for learning Japanese, and they tend to be centered around forum.koohii.com and alljapaneseallthetime.com (although I'm not sure how much activity the latter gets nowadays). They use SRS to commit to memory the mnemonics in James Heisig's Remembering the Kanji. That community is probably the only place in the world where you can find multiple people who achieved competent Japanese literacy in a month or two. So show them what you've got and ask them how it stacks up to what they used and pick their brains for suggestions!
The main reason is the handwriting feature, yes. Maybe it could be implemented on top of Anki, but it seems more work than to write the SRS part myself. The recognition unfortunately doesn't work flawlessly, but the native Japanese who have tried it said it works well.
I haven't done any study on if it's more reliable compared to self-reporting, though it would be very interesting to do so. From my experience, with self reporting there are some subtle mistakes you can make that you won't notice yourself so you can't correct them. For example, when writing 田 it's easy to write the middle two strokes in the wrong order. But when self reporting it's hard to notice this since when written it looks the same.
I'll take a look at the forums you suggested. Thanks!
Also, I agree that handwriting on top of Anki would be more work than its worth, especially if you're trying to market your product as a standalone Japanese-specific program.
I don't see the market licensing permission, by the way. You're still in time to add protection, which is CRITICAL. I can't stress this enough. Your app WILL be cracked and distributed online if protection is weak or non-existent. And given your price point, I'd say most working copies of your app will be pirated. Some people will say hey, it's no use, it's going to be cracked anyway!. Sorry but no, it doesn't have to be that way. If protection is good it might get cracked after some months, and then maybe only for rooted devices. Check out this Google IO talk http://www.youtube.com/watch?v=TnSNCXR9fbY and this android developer blog article http://android-developers.blogspot.com/2010/09/securing-andr... There is an automated app cracker around http://androidcracking.blogspot.com/p/antilvl.html , try it on your app when you implement LVL to make sure it doesn't work. There's also some nasty stuff called LuckyPatcher that patches the odex files dierctly on rooted phones (so it can modify your code even if you verify your dex file's checksum and your signature etc); it doesn't work on all apps either.
I'll definitely experiment some with the pricing as well.
The account permissions are needed since it uses a SyncAdapter to sync the progress data between multiple devices, so if you have both a phone and a tablet you can sync your progress between them. The sync functionality is also used to fetch updates to the word list when I correct some translations etc on the server side. Unfortunately, there's no way to use the Android sync functionality without also setting up an account (as far as I could see), and I didn't want to implement all that by myself.
I've been looking for other japanese learning apps in the market, they don't seem to be doing very well. I hope you do well but maybe you won't be able to get paid enough for all the effort you've put making the app.
These are my opinions I could be totally wrong of course.
Have you considered scaling back the free version to a portion of Hiragana and Katakana? (Maybe half?) And maybe throw in a few simple kanji? My thinking is that there is going to be a large portion of users who can immediately see the value of the app when they first start learning Japanese, but won't ever make it to the point in their own study of the language where they're trying to write Kanji. I think a lot of people don't stick with it.
I've spent a small fortune in my pursuit of Japanese (and would probably buy this too, if it were on iOS.) But if I only paid for the books and tools I stuck with or got more than cursory value from, I would probably reduce my purchasing by about 90%. My wife just said 95%. :)
I've also thought about adding ads to monetize it and having paid ad-free version.
An example of this is http://www.amazon.com/Kanji-Pict-Graphix-Japanese-Mnemonics/... , which also offers the pocket size http://www.amazon.com/Kana-Pict-Graphix-Mnemonics-Japanese/d... . I've owned Kanji Pict-o-Graphix for almost a decade, but I also bought the cheaper, pocket size Kana Pict-o-Graphix for my brother-in-law (who hadn't studied Japanese before) before our trip to Japan.
However, all questions are from English to Japanese where you write the answer yourself. You won't be quizzed on the other direction (given the Japanese word, what does it mean). Does that answer your question? I'll see what I can do to make it clearer on the website.
Personally I've always found it important to use the characters in different words since that's how you will encounter them in real use, so I try to make that a big part of the quizzing.
How come you don't want to use the market? Do you have a device without market or is it just a personal preference?
No problem then. I fully understand.
>Do you have a device without market or is it just a personal preference?
A bit of both. My tablet has no market access and my Android phone is awaiting repairs at the moment.
Make one for iPhone & iPad, in terms of value-for-money this is much better than marketing Android-only app.
App looks nice :)
I'm wondering, you say it's the app you always wanted but couldn't find, but I'm sure if you looked during your Jpns studies you MUST have heard of Skritter (http://www.skritter.com/) before? They have what I would say is the best app for learning to write Hanzi or Kanji.. curious how would you say your app compares with them?
I will be checking out your app either way, great to have more options!
- market to children, or really to parents trying to teach their children Japanese (like me!) - market to young students, themselves, not their parents
The above two user groups may be mutually exclusive. In either way, I would highly recommend you translate your app into Japanese. It's your biggest market, no?
The SRS/SM-2 algorithm you're using might need some tweaking to support leaderboard & scoring like @politkus mentions -- thinking about kids, they love to compete. I would recommend moving more towards more gamification.
Harder to do on Android(1) than iOS, but I would recommend using IAP for additional lessons. With kids, the goal you're shooting for is to have the kids bug their parents to buy more levels (!) or the older kids to brag to their friends.
And finally, why not use Parse.com instead of SyncAdapter? It would give you both an easier path towards iOS as well as potentially a web based dashboard, etc?
Gambatte kudasai!
(1) My opinion only, of course, I'd like to learn more about in-app purchase options on Android.
Parse.com looks interesting, but I'm a bit worried about trusting someone else with the whole server side backend. And since I already implemented a backend using Django it's not really needed for now.
I'll definitely do a website where you can see more details about your progress. There a leaderboard seems like a good idea. For example showing the user with best progress this week etc could be fun.
A children's version sounds very interesting. For now it's really focused on adult or young students studying Japanese as a foreign language. I'm not sure how big the market is for children learning Japanese as a foreign language, maybe it's bigger than I think?
I know there are some kanji apps for native Japanese speakers as well, though I'm not sure if they're any good. Some things would need to be changed to sell this app in that market. For example, what should the questions be? Maybe from words written in hiragana only, with an example sentence for ambiguous words, to writing the word with kanji? There are some things to think about there.
In-app purchases is something I've thought about as well. There are IAP for Android as well, though I'm not so familiar with them. Personally, it seems a little shady to use IAP, especially marketed towards children. But on the other hand, since it's an educational app maybe parents would consider it ok?
I'm running Android 4.0.3 on a Galaxy Nexus if that's of any help.
Although it's still a major work in progress.