

Show HN: App for learning how to write Japanese - olofsj

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.<p>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.<p>There's a promo page with more details up at http://www.kanjibyhand.com.<p>It's only for Android so far. The free version includes hiragana and katakana:<p>https://market.android.com/details?id=se.tokotoko.android.kanabyhand<p>The paid version includes (a lot of) kanji:<p>https://market.android.com/details?id=se.tokotoko.android.kanjibyhand<p>I'd be grateful for any comments or ideas for how to market this app!
======
politikus
Hi,

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.

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

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

------
cskau
Clickies:

<http://www.kanjibyhand.com>

[https://market.android.com/details?id=se.tokotoko.android.ka...](https://market.android.com/details?id=se.tokotoko.android.kanabyhand)

[https://market.android.com/details?id=se.tokotoko.android.ka...](https://market.android.com/details?id=se.tokotoko.android.kanjibyhand)

------
dsrguru
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!

~~~
olofsj
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!

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

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

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

------
alvarosm
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...](http://android-developers.blogspot.com/2010/09/securing-android-lvl-
applications.html) 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.

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

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

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

------
NnamdiJr
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!

~~~
olofsj
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?

------
cskau
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!

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

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

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

~~~
olofsj
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?

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

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

~~~
aculver
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/...](http://www.amazon.com/Kanji-Pict-Graphix-Japanese-
Mnemonics/dp/0962813702) , which also offers the pocket size
[http://www.amazon.com/Kana-Pict-Graphix-Mnemonics-
Japanese/d...](http://www.amazon.com/Kana-Pict-Graphix-Mnemonics-
Japanese/dp/1880656183) . 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.

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

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

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

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

------
wollw
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:

<http://i.imgur.com/Wls9r.png>

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

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

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

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

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

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

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

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

~~~
alinajaf
Hm... so am I! shameless plug: <http://japanalicious.com>

Although it's still a major work in progress.

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

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

------
kiwidrew
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?

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

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

------
lunarscape
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?

~~~
olofsj
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?

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

------
quizotic
Thank you! Now i REALLY wish i had Android!

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

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

~~~
sturadnidge
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 :)

