Hacker News new | comments | show | ask | jobs | submit login
Show HN: App for learning how to write Japanese
55 points by olofsj 1971 days ago | hide | past | web | 51 comments | favorite
I'm a long time lurker that recently quit my job to work on my own projects, a lot due to the inspiration from Hacker News.

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:


The paid version includes (a lot of) kanji:


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.

Thanks for the great ideas. I'll think about how to add more gamification and some social aspects as well. I think you're on to something with the levels and seeing the path towards the next level.

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.

Codeacademy is nice, but if I were you, I'd study the ultimate Japanese site in the entire web: alljapaneseallthetime.com . Gamification is nice, but your customers already are motivated to learn Japanese. They just want something that can effectively get them up to speed, and increase their confidence. Rather than have points/badges, tell them they just learned 50% of the most popular Japanese words after 1 week.

Ok. If I were you, I would keep in mind "deep focus on core features of the app, then and only then, let's add social/gamification layers."

I don't have an Android device, so I haven't played around with your free version, but I'm a big fan of using spaced repetition software (SRS) for language learning. Here are some questions:

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 SRS algorithm is based on SM-2, but I'll probably tweak it to handle the "missed a day" problem as you say.

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!

Haha 田 is actually a character whose stroke order differs between China and Japan. I'm so used to the Chinese order of the horizontal middle stroke and then the vertical one that I'd probably deliberately use the "wrong order" for Japanese. But yeah, I'd be really interested to see the effectiveness of your handwriting recognition against self-reported scores. If its innaccuracy is worse than a human's judgment of his or her performance, then it's just a gimmick that will hook people who are too lazy to learn how to use an SRS that doesn't hide its implementation details. But if it really works better than self-reporting, your app would be a real advancement to Japanese and Chinese literacy acquisition.

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.

Actually I wasn't aware that the order for 田 is different in China, I just used it as an example since I always have trouble remembering it. =) Generally, I find the stroke order hard to self evaluate, since it takes time to check stroke order diagrams each time and you tend to get lazy after a while (like in 左 and 右 where it's easy to mix up the order of the first two strokes).

I'd love to do a real study on the effectiveness. But realistically, I don't see it happening since I don't have the resources to set up a scientific study. But if you're interested or know someone who would be, let me know. =)

One plus from the algorithmic approach is that you really have to write each time. There's no way to skip it and just look at the answer even for easy ones you think you remember. Therefore you get a lot of practice writing and hopefully writing the characters sticks like "muscle memory". Of course, if you're disciplined you can do the same with for example Anki and pen and paper, but not everyone (for example me...) are that disciplined.

> like in 左 and 右 where it's easy to mix up the order of the first two strokes

That one's easy, just remember it's "opposite" - in 左, the first stroke is to the right, whereas in 右, the first stroke is to the left.

Long time CJK (Chinese, Japanese, Korean) language learner here..

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!

Actually, I started studying Japanese some 10 years ago or so (time sure flies...), and I don't think Skritter was around then. And actually, I didn't find them when I was looking around lately. My app tries to be as close as possible to real handwriting on paper, so you get nothing more than a blank space to write. For me, it needs to be touchscreen based instead of mouse, but maybe you could get a similar feel with Skritter on a tablet?

Nice idea. I absolutely understand what you're getting at since I've had the exact same idea/need in the past.

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!

Thanks for the great feedback. I tried to make the writing area as big as possible while still having some space for the buttons on the side. But as you say, it'd be better to have it even bigger. I'll try out some different layouts with the buttons above or below instead and see how it feels.

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.

Doing a mix of user evaluation of appearance combined with algorithmic evaluation of stroke order would be helpful.

Yes, that may be best. Personally, when I use software where I have to rate myself, I find myself either "cheating" or at least having to think about how to rate it instead of just focusing on learning. But on the other hand, with just algorithmic evaluation you do get annoyed at times when the algorithm is wrong, so a manual override would be useful.

Good work... and from all of us Japanese language students, thanks! I wanted to amplify the comments from @politikus with some additional observations:

- 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.

Thanks for the comment!

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 also an app developer myself. Some suggestions: Price: use 7.99, people will still read 7, it's hard to believe but yes, they can't be bothered to read or remember 3 digits. Careful with 8+ though, some will read "10". Apply some discounts periodically to see how people react to different pricing points. To reduce Google's cut you can use taxes in google checkout (google's 30% doesn't apply to the taxes). Permissions: why are you discovering accounts, using the authentication credentials, etc etc etc?? some people are going to decide not to download you app because of this. Fortunately for you, most don't care about privacy, permissions or anything at all, but I wouldn't install your app myself, for example. You're requesting lots of permissions and to me it seems that a kanji writing app could do without them.

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.

Thanks for the information about adding protection. I wasn't sure how much use it would be, but if it actually works I guess it's good to add it. I'll definitely look into those links.

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.

Ah, I see... well I'd try to remove any permissions you can and explain somewhere in the description that the permissions are for syncing. Also, buy your app and give it 5 stars, so people can see a rating.

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.

There is one Japanese learning app that does rather well called Human Japanese. At least it has sold 5000-10000 copies with a current price at $9. It's not spectacular, but for me reaching similar figures would be a success.

Congratulations on launching this!

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%. :)

Yes, I've thought a lot of what to include in the free version and I'm still wondering if it should be changed. As you say, a lot of people quite early, so maybe the free version includes too much. How much do you think should be included?

I've also thought about adding ads to monetize it and having paid ad-free version.

The more I think about it, the more I think I would skip the free version and do $0.99 for the Hiragana and Katakana and then have the Kanji available in a price point similar to what you're doing now.

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.

Don't you think a free version is needed to so you can try it out before buying? It's my impression that most people want to be able to try out the functionality before buying. But limiting the free version some more or adding ads and having a cheap ($1-2) full hiragana and katakana version may be the way to go.

I agree, you definitely want to keep some sort of free tier. There are a lot of apps out there that claim to do this, or something similar. After trying a bunch of them I found one or two that I liked, but for the most part they weren't very good. I would not have wanted to pay to find that out.

I think you wouldn't want to offer less that one full alphabet, so people can get a good idea of what it will be like to learn using your app. If it's just a few characters that they can practice with, then they won't spend enough time with your app to make them feel like they should purchase it over trying another one out.

One of the things I really struggled with when learning kanji, say past the 400-500 character mark was retention. Basic repetitive memorisation techniques no longer worked for me and it was only when I found some book that taught the origins of every radical that I really began to retain what I was learning. If you could include something for that style of learning in a future version I think it would help your users a lot.

That sounds like a very good idea. I agree that it's very hard to keep them all apart when you start to get into the more unusual characters. I'd love to include more information about the different radicals and the origins of the characters. However, I'm not sure how much such information is freely available, but I'll definitely look into it.

I didn't see any mention of this on your website - is there support for memorizing the included vocab as well, or is it just there for reference? This feature would be useful for someone who'd like to learn vocab while they're learning the kanji (although this obviously isn't the traditional RtK method).

I'm not sure exactly what you mean, but you will be quizzed on the included vocab as well. For example, you'll get questions like "two (kanji)" where you answer 二, and questions like "February (n)" where the answer is 二月. Both kinds of questions are treaded the same.

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.

I guess I wasn't very clear. Does it test on the readings of the kanji?

No, for now it doesn't. I may add that later, but since there are other apps (like Anki for example) that already do that I'm not sure if it's needed.

I use Anki on a daily basis for kanji practice - what drew me to your app was obviously the handwriting recognition. My handwriting is notoriously poor in English, and I'd rather avoid repeating the mistakes I made when I learned written English growing up.

If you were to add support for practicing the readings as well, I would buy your app in a heartbeat. I'd like to avoid using 2 different apps on a regular basis for kanji practice.

Looking nice but for some reason after getting one wrong it often shows the previous mistake rather than the current one. Here's a screen shot of what I mean:


I'm running Android 4.0.3 on a Galaxy Nexus if that's of any help.

Weird, I haven't seen that. I'll look into it, thanks for letting me know.

Hm, I'm working on an app for learning how to read Japanese. (I have Emacs open right now, actually.)

Hm... so am I! shameless plug: http://japanalicious.com

Although it's still a major work in progress.

Hey, great job on this. I've just started playing around with the Kana one and will get into the Kanji one at some point, too. I personally think it's well worth $9, but with most apps being a lot cheaper, you might alienate casual Japanese students.

Thanks! I'm still unsure about how to price it. Considering the time you have to commit to learn anyway, and comparing to textbooks, $9 is cheap for me. But on the other hand, since most people are used to $1-2 for apps, I'm not sure how well it will sell. I'm happy to hear that at least for you it doesn't sound too much.

I'm currently learning the (traditional, not simplified) Hanzi, which are pretty much just the Kanji; I'm interested in using your app to help my learning. Is it possible to add some Kanji to the free version so that I can try it out?

Actually, a sizable number of kanji have been simplified (look up shinjitai vs. kyuujitai). You would be best off waiting for a Traditional Hanzi version of this app to come out.

That's right. For now it's only for the Japanese versions which in many cases are different, so it's not useful for anyone learning Chinese. I'd like to release a version (or several, both simplified and traditional) for that as well, but right now it's quite low on the priority list so don't expect it to be ready anytime soon.

Could you possible place a direct link to the free version so we could download it and side load it instead of logging into the market?

Preferably I'd like to not host it myself, considering the amount of work and the problem of letting people know of updates etc.

How come you don't want to use the market? Do you have a device without market or is it just a personal preference?

>Preferably I'd like to not host it myself, considering the amount of work and the problem of letting people know of updates etc.

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.

Thank you! Now i REALLY wish i had Android!

> ideas for how to market this app

Make one for iPhone & iPad, in terms of value-for-money this is much better than marketing Android-only app.

Yes, I suppose so. However, since I don't have a Mac, iPhone etc and don't have any experience with iOS development, I'd like to see if it's viable on Android first before I invest too much time and money in it. But if it looks like it's working, I'll definitely put together an iPhone & iPad version as well.

Make sure you consider the observable differences in app store behaviour in your definition of "it's working", also check out services like macincloud if you're not sure about buying Apple hardware yet.

App looks nice :)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact