algonote

There's More Than One Way To Do It

文字単位で中国語を学べるHanziHuをリリースしました

Androidアプリ HanziHuをリリースしました。

f:id:hiromichinomata:20190912090749p:plain:h200

前口上

日本人が中国語を勉強する際、漢字はある程度日本語と似ており、読めば何となくわかることも多いと思う。一方、聞く方は類似性が比較的薄く、かつ四声のバリエーションにより、他言語と違いカタカナ発音が使えないため習得難易度が高い。

既存のアプリや単語帳で発音は単語を学ぶ中で一緒に学ぶ前提になっていることが多いが、日本語で言うとあいうえおを知らないまま単語を覚える必要があり、一気に2段階分駆け上がるのは学習者負荷が高い。

あいうえおを覚える段階と単語を覚える段階を分けられると学習効率が上がると思い、発音特化のAndroidアプリをリリースしました。

デモ

とりあえずデモ。

漢字がどのピンインに対応しているかと、ピンインがどの漢字群に対応しているかを当てる2つのモードがあります。

HanziHuは直訳すると漢字の虎。ロゴが猫っぽいですが白虎です。

使った技術

アプリのベースはKotlin/Android Studio。Androidのライブラリは構造上Java由来のnull可強制の部分が多数ありKotlinのoptionalの言語仕様を活かしきれていない気がする。

ORMはRealmを使いました。カンファレンスのアプリだとRoomを使っていることが多いですが、iOS化を見すえてクロスプラットフォーム見すえて。NoSQLなので集計系の操作はどちらか言うと苦手ですかね。

試験データの収集や生成、整理、検証はRails。

アイコンやロゴはクリスタ/iPadで下書き=>Sketchで清書。

はまったこと

  • 審査が終わらない

直近でGoogle Playは人間による審査が導入されました。初回&こどもも使えるratingもあいまってかrejectなしでただ審査待つだけで9日。つらい

iOSとAndroidどちらからリリースするのかはよく議論になりますが、課金ユーザー数も少なく、イテレーションをまわすスピードも遅く、古いOSの残留や端末のバリエーションの多さも考えるとちょっと...

一方で携帯料金の法改正により端末料金の安いAndroidの方がマクロ的にはプラスですかね

  • Navigationがバギー

最新のAndroidはrcですがGUI上でviewの遷移を指定できるNavigationが導入されています。Xcodeで言うならsegueに近いでしょうか。iOSと同じ感じでやろうとしたら挙動が不安定で断念。

全体的にGUI操作はおまけでXML直でいじればよいという部分がまだ多くそれもつらかった。

補足: データ分析

HSKの単語について調べました(HSKの級は1が一番低くて6が一番高いです。)。当然級が上がれば上がるほど語彙数は増え、結果同じaiという根音に対する四声のバリエーション数が増える。

HSK4級あたりから、半分以上の根音が2つ以上の声調を持つことになり、カタカナ発音でわかった気がしていた人が挫折しそうになるのがこの辺でしょうか。

f:id:hiromichinomata:20190912084156p:plain

一応、難しい級の新出漢字が特定のトーンに偏っていないか調べてみましたが、そんなことは無いように見えます。

f:id:hiromichinomata:20190912084207p:plain

ちなみに一つの発音に割り当てられる漢字はHSKレベルでも最大19個あるみたいです。多いですね。もっと一意に決まるものだと思ってました。

yì: 医意议易忆亿艺译益义裔亦翼异毅抑绎疫役

Future Work

iOS化、音声認識とか

play.google.com