「小１からのさんすうゲーム」で考える個人的DXと継続開発

## はじめに

下の息子が今年４月から小学校１年生になるので、一月程前から算数練習帳アプリをつくっています。
わが家の教育事情がDX化するし、ついでに nuxt や firebase pwa なんかの勉強もできて、プログラムの規模も小さいから若手向けの教材にもなるしよいことづくめのプロジェクトに思われましたが、リリースして運用してみると様々な課題が出てきましたのでここに記そうと思います。

* ソース

[https://github.com/kaku3/e1-math-plus-10](https://github.com/kaku3/e1-math-plus-10)

* サイト

https://kaku3.github.io/e1-math-plus-10/frontend/dist/


## 課題：リテンションが上がらない

目論見通り、妻が手で紙に書いていた100マス計算は半日程でたしざんウェブアプリとなりました。
家族は物珍しさからかちょこちょこ触ってくれてました。今思えばこのときが幸せの絶頂だったかもしれません。

![たしざん.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136165/b3e94c75-db30-9717-84c4-dc2b2c84c399.png "気軽に遊べるたしざん")

その後firebaseにハイスコア保存処理を追加し他のユーザーとスコアを競える様にしたり、履歴をグラフで見られるようにしたりしてわが家の算数事情は見事にDX化されたように思えました。

ところが、１日もすると下の息子は**「このアプリをやらないとYouTube見せない」**など、アプリ本体とは全く関係のないところで**インセンティブを与えないと**プレイしなくなりました。
これでは、単にウェブアプリ化しただけでDX化したとはとても言えないと思いました。

また、上の息子は１日２００回を超える程遊んでいたのですが、足し算１０問の時間が５秒台に差し掛かりスコア更新が滞るようになると遊ばなくなってしまいました。
こちらの課題については、firebase に4秒台の**捏造スコアを登録する**ことで解決できそうでしたが、人の親としてよろしくないなと思い別の手段を模索することにしました。

また、上の子に本来遊んでもらいたい引き算や掛け算などのモードを追加したのですが、こちらは全く遊ばないという事が分かりました。

![ひきざん.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136165/3425a68e-4c84-4139-7ab2-fab7dc70feb6.png "全く遊んでもらえないひきざん")

(課題の本質)

**興味のないことはやらない**


## 解決策１：デイリー課題

せっかく作ったものを使ってもらえないというのは大変悲しいことです。
とりあえず簡単に作れる機能を追加して再び興味を持ってもらうことにしました。

- カレンダー追加
- プレイ回数に応じて★取得
- コロナ禍でステイホームなので旅行気分を味わえる画像(https://unsplash.com/)

![home.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136165/745d7e7a-cbbd-21fc-3b38-3952b77284bc.png "カレンダーと★")

結果は惨敗です。アプリとしての見た目はよくなりましたが、モチベーションの源泉になることはありませんでした。
勘のよい皆さんはすでにお気づきかと思いますが、使い道のない★には意味がないのです。
演出を丁寧に作ることでわずかな驚きを与えることはできるかもしれませんが、本質は変わりません。

これぞまさに**「役には立つ」けど「意味のない」アプリ**ではないかと思いました。

「役に立つ」とか「意味がある」とかはこちらの書籍を読むと理解が深まります。
[ニュータイプの時代 新時代を生き抜く24の思考・行動様式 (日本語) ](https://www.amazon.co.jp/%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AE%E6%99%82%E4%BB%A3-%E6%96%B0%E6%99%82%E4%BB%A3%E3%82%92%E7%94%9F%E3%81%8D%E6%8A%9C%E3%81%8F24%E3%81%AE%E6%80%9D%E8%80%83%E3%83%BB%E8%A1%8C%E5%8B%95%E6%A7%98%E5%BC%8F-%E5%B1%B1%E5%8F%A3-%E5%91%A8/dp/447810834X)


## 解決策２：アプリを起動するモチベーションを別につくる

アプリ内に何らかの機能を追加し、それがインセンティブとして機能すればアプリを起動するモチベーションにもなるし、計算練習アプリを遊ぶモチベーションにもなります。

ただ、YouTubeは**お金を払わずとも無限に追加されるコンテンツを楽しめるプラットフォーム**だと思うのでこれを超える娯楽を提供することは現実的に考えて不可能かなと思えます。

ピンポイントで子どもたちが興味あるものを提供するしか勝つ道はありません。
よく観察して、何に興味を持って、どのような行動様式なのかを見抜いて、継続して遊んでもらえるものを作らねばなりません。
**決して子供たちが「こんな機能があったらめっちゃ勉強するわ」などと言ってくる事はありません。**
顧客の課題を解決するのも、子供たちの課題を解決するのも本質は同じです。
顧客も子供もバカではありません。課題を認識していて、それが簡単な課題なら、ITでDXを提供などせずとも解決しているのです。
ダイエットすれば痩せると分かっていてもダイエットを続けられないのは「簡単な課題」ではないからです。

ということで、どうやら子供たちは「めいろ」が好きらしいことが分かったので「めいろ」機能を追加することにしました。

![maze.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136165/6be673fc-13bf-5ec4-c93f-526be4cb4bb0.png "すっかり自分の趣味に走っためいろ")

いけません。途中からすっかり楽しくなってしまいました。
子供の趣向とは全く関係ない、わたしが子供の頃大好きだったゲームを作ってしまいました。

こちらも物珍しく最初は触ってはいましたが、やはり継続しませんでした。

買い物画面で買い物させたり、体力やつるはしなどのリソース管理をシビアに考えさせたり、考えることが多いゲームにすることで遊んでるうちに自然と計算に対する抵抗がなくなればよいななどと余計なことを考えたのが敗因かもしれません。
作った本人も最初数回は面白く遊んでましたが、途中で辛くなって遊ばなくなりました（苦笑）。

しかし、反省もしてないし後悔もしていません。

**個人開発の最大の失敗は開発者自身のモチベーションがなくなり継続開発ができなくなることです。**

この開発の結果は散々でしたが、自分で手を動かして作ってみると色々なことをより深く考察できるようになるような気がしています。
「賢者は歴史から学び愚者は経験から学ぶ」と言いますが、どうやらわたしは賢者ではなさそうです。

インセンティブ設計は「昔ながらのゲーム」を設計するのではなく、**ドーパミンをだらだら垂れ流すような仕組み**を設計しなければならないのでしょうと改めて考えさせられました。

[快楽物質（ドーパミン）とゲーム・ゲーミフィケーションの関係](https://note.com/jgamifa/n/nce903ffddd11)


## 解決策３：アイコンエディタ

どうも、絵を描くのが好きなようなのでアイコンエディタを作ることにしました。
Webベースだとドラッグイベントを取るのが難しいので高機能にはなりません。

機能が充実してなくてもまぁまぁ使えるとしたら 16x16 程度のアイコンエディタではないか、という整理です。
また、与えられたコンテンツを消費するのではなく、自分でクリエイティブな活動を行うというのは子供にとってもよいと考えました。

![icon-editor.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/136165/fbebc367-3178-6610-7d4a-e38b76987514.png "アイコンエディタ")

これはどうもそこそこ遊んでいるようでした。


## 解決策４：アバター

アイコンエディタで作成したアイコンでめいろゲームを遊べるようにしたところ、めいろゲームを遊ぶようになりました。
これは、諦めずに続けるっていいよねーって思える体験でした。


## まとめ

結局「興味のないことはやらない」という課題を解決するには至ってないのですが、nuxt.js や firebase などを利用すれば本当に簡単に開発できる様になってきています。
脳内で思考実験を続けていると、自分で考えられる事以上のことを考えられるようにはならないです。
手を動かして物を作ってユーザーに使ってもらってフィードバックを受ける（実際には使っている様を観察して読み取る）事をしていかないとユーザーに使ってもらえるアプリは作れないのかなと思います。

身の回りの人がハッピーになるような「意味のある物」を作って「意味のある人生」にしていけたらよいなと思います。