個人アプリmorseeが10万ダウンロードを超えました
はじめに
個人開発をしているAndroidアプリ、morseeが2020/8/16に累計10万ダウンロードを達成しました。
少し時間が経ってしまいましたが、2020年最後の日に、個人アプリ開発活動の締めとして、振り返りをしたいと思います。
最初のバージョンのリリースが2015/1/3だったので、10万ダウンロードまで約5年半かかりました。
この個人アプリに対して何をやってきたかを記録し、読んでくださる方や自分の個人アプリのヒントとなることが残せたら、と思いこの記事を書きます。
アプリの紹介
まず、簡単に個人アプリの紹介をさせてください。
アプリ名 : morsee (モルシー)
モールス符号の学習や変換のできるアプリです。
入力画面では、実際の電鍵で打つように、短いタップ(・)と長いタップ(ー)で、モールス符号を打つことができます。
翻訳画面では、アルファベットやカナで入力した文字をモールス符号に変換したり、逆にモールス符号を文字に変換したりすることができます。
入力/翻訳に使用できる文字は、アルファベット/カナ/キリル文字/ハングル、の4種類です。
入力、翻訳したモールス符号は、音での出力はもちろん、端末のライトを使って光でも出力することが可能です。
ダウンロード数推移
2015年1月のリリースから、2020年12月までの日毎のダウンロード数です。
ざっくり期間を分けると、
1. 2015/1〜2015中頃 : 0〜20ダウンロード/日
2. 2015中頃〜2017中頃 : 20〜50ダウンロード/日
3. 2017中頃〜2020はじめ : 50〜80ダウンロード/日
4. 2020はじめ〜2020おわり : 80〜160ダウンロード/日
という推移となっています。
機能追加履歴
バージョン更新の履歴です。
アプリをリリースした2015年は頻度多めに更新をしていますが、その後2016年に1度更新をした後、2019年になるまで更新がしばらくありません。他アプリの作成や改善に時間を使っていたためです。
ダウンロード数が伸びたこと
ここからはダウンロード数が伸びたと考えられる機能追加や事象について考察を行います。
対応言語/文字の追加
リリース当初の対応言語は英語と日本語の2種類、対応文字はアルファベットとカナの2種類でした。
対応言語とはアプリ内で使用する言語、GooglePlayストアでの表示に使用する言語です。対応文字とはアプリ内でのモールス符号に対応する文字です。
ロシア語/キリル文字追加
2016年11月に対応言語にロシア語を、対応文字にキリル文字を追加しました。
きっかけはこのレビューです。
簡単です:)、という言葉を真に受けて機能追加を行いましたが、結構大変でした。
言語別の日毎のダウンロード数です。ロシア語とキリル文字を追加以前はほとんど日本語ユーザーのダウンロードだったのに対し、追加以降数ヶ月でロシア語使用ユーザーが伸び、日本語とほぼ同数のユーザーがダウンロードしてくれるようになりました。
ローカライズの大切さを知れた、良い機能追加だったと思います。
詳細な調査はしていませんが、キリル文字を扱うことのできるモールス信号アプリは少ないようで、嬉しいレビューをいただくこともできました。
韓国語/ハングル追加
2020年1月に対応言語に韓国語を、対応文字にハングルを追加しました。
きっかけはパラサイトという映画を観たことです。詳しくは述べませんが、映画の中でモールス信号が使われており、ハングルに対応すれば韓国ユーザーを増やすことができると思い対応しました。
韓国語/ハングル追加以前はほぼ0だった韓国語使用ユーザーが、対応後は1日に約10ダウンロードほどしてくれるようになりました。ロシア語対応ほどの効果はありませんでしたが、0だったダウンロード数を継続して10ダウンロードが維持されているので、伸ばせる土台はできたのかなと思います。
英語のストア文言の改善
2017年秋頃、英語のできる従兄弟にストア文言の改善をしてもらいました。
直接的な原因となったかはわからないのですが、アプリの更新をしていなかった期間の2018年中頃に英語使用ユーザーのダウンロード数が伸びたのは少なからず関係ありそうです。
音遅延の改善
リリース当初から入力画面でタップに反応して音を出す部分での音出力に遅延が起きており、レビューでも多くの指摘を受けていました。
第一段として、音出力に使用していたAudioTrackに低レイテンシのフラグを設定することを行いました。
Android8.0以降
audioTrackBuilder.setPerformanceMode(AudioTrack.PERFORMANCE_MODE_LOW_LATENCY);
Android8.0未満
audioTrackBuilder.setAudioAttributes(new AudioAttributes.Builder()
.setFlags(AudioAttributes.FLAG_LOW_LATENCY));
第2段として、タップ時の音出力にAudioTrackを使うのを辞め、C++ライブラリのOboeを使うことにしました。Oboeを使うことで音遅延の問題をかなり改善でき、レビュー内容でも音遅延の問題を指摘されることがなくなりました。
Oboe導入に関しては、記事を書いていますので、よろしければ見ていただければと思います。
対応後の数値はこのようになりました。
音遅延改善1の前に別原因でダウンロード数が伸びたので、改善1対応後に落ちている結果となっていますが、以前の数値まで落ちずに80ダウンロード/日ほどでキープできています。
また、音遅延改善2の対応後はダウンロード数が100/日を超えることが多くなってきました。
当たり前のことですが、レビュー指摘の多いものを改善対応することの大事さを実感することができました。
モールス信号の話題
2016年8月には、SEGAのゲームセンターの袋の模様がモールス信号であったことが発覚
2017年11月には、ポケモンのゲーム内でコイルがモールス信号を発話
2020年7月には、米津玄師さんが羊を使ったモールス信号をYoutTubeに記載
同じく2020年7月に、ジャニーズが被災地支援のメッセージとしてモールス信号を使用
他にも、YouTuber、VTuber関連でモールス信号が使われて伸びたりすることも多く、たまにダウンロード数のスパイクがあるのはそういったバズり要素が必ず関係しています。モールス信号という、ニッチな領域のアプリなので、こういった時に伸びる特性があります。
個人開発で嬉しいこと
レビューコメント
レビュー上でのモールスでの会話をすることもできました。
本業で触らない部分の開発
業務でAndroid開発をしていますが、そこで触らない機能開発を個人アプリで開発できることは楽しいです。
多言語対応
仕事では日本向けのアプリ開発がメインとなっており、多言語対応をしない開発が多いのですが、個人アプリでは英語/日本語対応は自分の中でマストとしています。多言語対応することで、世界の多くのユーザーにアプリを使ってもらえることができ、レビューコメントをいただけることが嬉しいです。
横画面対応
個人アプリでは縦横両方の対応をマストとしてとしています。Androidアプリ開発での大変なことの1つとして昔から挙げられている、画面回転時の挙動への対応は個人アプリでキャッチアップしていってます。
NDK
音遅延の改善、の部分で紹介したOboeの利用ではNDKを使った開発を行いました。こちらも仕事では触る機会がなかったので個人アプリで開発の機会ができて楽しかったです。
さいごに
今回の記事では、個人アプリmorseeのリリースから今までのダウンロード数の推移と、伸びた原因の考察を行いました。また、少しですが個人アプリ開発の楽しさを紹介しました。
これからも多くの人に使っていただけるようなアプリ開発を続けていくつもりです。
2021年もよろしくお願いいたします。
この記事が気に入ったらサポートをしてみませんか?