心理学に基づいて英単語学習ができるアプリ『DiQt(ディクト)』。
事業紹介したnote「この英単語を覚えるだけで、英文の9割は読めるようになるという話【NGSL,NAWL,TSL,BSL】」がバズったのをきっかけに、高評価を集める人気アプリとなりました。
『DiQt』を個人開発したかわんじ(相川真司)さん(@kawanji01)は、元漫画家志望。ファンタジーについて調べるうちに「プログラミングは魔法だ」と興味を持ち、「自分も魔法を使ってみたい」という想いが高じて個人開発に至ったという、異色の経歴の持ち主です。
今回は、そんなかわんじさんにインタビュー。前編では、試行錯誤を繰り返した『DiQt』の歴史や、個人開発でリリースまでこぎ着ける秘訣について伺いました。
本の学習から英単語学習へピボット。かわんじさんが開発した『DiQt』とは
まずは、かわんじさんが開発された『DiQt』について教えてください。「絶対に忘れない辞書&単語帳サービス」というキャッチフレーズがついていますね。
『DiQt』は、覚えたり調べたりした英単語・英熟語を簡単に復習できるようにすることで、「覚えたのに忘れてしまう」という語彙の忘却を解決する辞書アプリです。英単語帳の元になっているのは、『NGSL』『NAWL』『TSL』『BSL』※という4つの無料英単語帳で、一般的な英単語の90%以上を網羅しています。
※『NGSL』『NAWL』『TSL』『BSL』とは
「これさえ覚えておけば!」という単語を学習できるアプリということですね。単語帳サービスとのことですが、単語や熟語を和訳したり英訳したりして問題を解くのでしょうか?
問題は、4択問題・スペル問題・リスニング問題・発音問題の4種類のバリエーションを用意しています。豊富なバリエーションを用意することで、多角的に英語学習ができる仕組みです。
基本的な仕組みは同じでも、紙ではなくアプリならリスニングや発音の問題も出せるんですね。テクノロジーの進化が正しく生きていて素晴らしいです。もともと、英単語学習のアプリを作りたいという動機があったんですか?
最初は、哲学や心理学、コンピュータサイエンスなどの専門書の内容をテスト形式で覚える『BooQs(ブックス)』というアプリでした。参考書を読むよりもテスト問題を解くほうが効果的に覚えられるので(テスト効果※)、本の内容をクイズ形式で覚えるアプリとして作ったんです。
※テスト効果とは
それが、なぜ英語に?
あまり使われなかったんです。「専門書の内容を効率よく覚えるために『BooQs』が欲しい!」と思って作った自分自身でさえ使い続けられなくて、どうすれば使ってもらえるか、自分が毎日使えるのはどんなものかを考えてピボット(方向転換)しました。
英単語学習の『DiQt』としてヒットするまで、どれくらいかかりましたか?
最初のリリースから2年、開発着手からだと3年です。3年が長いか短いかはさておき、開発期間を含めて3年くらいは、無報酬を覚悟しておくほうがいいかもしれません。
リリースからバズまで2年。かわんじさんが心折れずに個人開発を貫けた理由
仕事として請ける開発案件と違い、個人開発の継続は自分の意志次第です。英語学習のニーズが非常に高いのはわかっているとはいえ、リリースから2年もの間、挫折せずに開発し続けられたのはなぜでしょうか?
「個人開発をリリースに漕ぎつける3か条」があると思っています。「自分が使いたいものを作ること、自分が使い続けられるものを作ること、リリースを恥ずかしがらないこと」です。
自分が使いたいものを作る―根底のビジョンは自分軸であるべき
とにかく大事なのは、「自分が使いたいものを作る」ということです。
「これは絶対ヒットする!ナイスアイデアを思い付いた!」というような動機では、難しいですか?
個人開発は、半分……、最低1割でも、自分のためでないと続かないと思います。「これがウケるだろう」という他人の評価を軸にした動機だけでは、思ったように他人の評価が得られなかったときに軸が折れてしまうからです。
「自分が欲しいから作っているんだ」という基盤が大事なんですね。自分が作っているものを完成まで持っていく、という意味では、漫画家を目指していた時代と通じるものがありますか?
週刊少年ジャンプで漫画の賞をもらったのは高校生のときですが、小学生の頃は「おもしろフラッシュ」が流行っていたので課題の発表を「Adobe Flash」で作ったり、中学生の頃はニコニコ動画でストーリーを作ったりしていました。ファンアートを描いてもらったときは嬉しかったですね。でも、一貫していたのは、「自分が見たいもの」「自分が読みたいもの」を作っていた、ということです。
全く別ジャンルのように見えても、完全につながっているんですね。
いま個人開発をしているのも、「自分の作品を世に出したい」という想いが根底にあるからです。作りたいものを作るために身につけたプログラミングスキルなので、エンジニアとしての仕事の依頼があっても、興味のないものを作りたいとは思えません。
自分が使い続けられるものを作る―それは、世界の誰かが必ず求めている
「自分が使い続けられるもの」というのは、「自分が使いたいもの」とは違うのですか?
さきほども言いましたが、私は自分の勉強のために『BooQs』が欲しくて作ったのに結局使い続けられず、『DiQt』にピボットしました。ニーズを錯覚することって、よくあるんです。
「自分が使いたい」という自分軸の動機であっても、いざ使ってみると「使いたいものじゃなかった」ということがあるんですね。
そうです。そして、すべての機能を熟知していて、かつ、いつでも改善できる立場にある開発者が使わないようなものを、赤の他人が使ってくれるはずがありません。自分が最初の定着ユーザーになれるサービスであることが、まず大事です。
そして、もし自分が使い続けられるものができたとしたら、それは必ず、自分以外の誰かが求めているものです。世界中で自分しか必要としないサービスなんて、まずありませんからね。
リリースを恥ずかしがらない―永遠にリリースできない悪循環の回避
リリースに漕ぎつけるという点において最も重要なのは、恥ずかしがらずにリリースすることです。LinkedInの創業者であるリード・ホフマン氏の言葉に「リリースが恥ずかしくないなら、そのリリースは遅すぎる」というのがあるのですが、まさにそれです。
新サービスや新商品って、「満を持してリリース」というイメージを勝手に持っているんですが、そうではないんですね。
『BooQs』の例にもあるように、実際にリリースして使ってみないとわからないニーズの錯覚も多いので、リリースしないことには始まりません。リリースは何度でもできるんですから、最低限でリリースしてしまうことです。
それに、リリースが遅くなると「巨大バッチ死のスパイラル(large-batch death spiral)」に陥ってしまうのが問題なんです。
「巨大バッチ死のスパイラル」とは?
『リーン・スタートアップ』(エリック・リース著)という書籍で紹介されている概念なのですが、開発期間(=バッチ)が長くなればなるほどユーザーの反応が怖くなる、そうすると仕様を増やしたくなる、仕様が増えるとバグも増える、さらに怖くなって開発期間が伸びる…という、いつまでもリリースできない悪循環に陥っていくことです。
それは、非常によくわかる感覚ですね。
しかもそうやって時間をかけて仕様を増やしていると、自分たちのサービスに対する期待値も上がっていくんですね。だからついにリリースの日を迎えても、バズらないと耐えられない。無風状態に耐え切れず、早々にクローズしたくなってしまうんです。
無風状態で当たり前だと開き直れるくらいの最低限で出してしまうことで、逆にブラッシュアップしやすくなり、スピーディーに進んでいけるんですね。
ユーザー目線を意識できるのは、身内でのバグバッシュ
3か条は理解できましたが、個人開発ではどうしても独りよがりになってしまう部分があると思います。大勢の人に使ってもらえるサービスに成長させるにあたって、どのタイミングでユーザー目線を意識すればいいのでしょうか?
プレリリースという形で友人や身内にだけ公開して、バグバッシュ※することですね。バグ出しをしてもらえるだけでなく、「UIが使いづらい」「とてもいいサービスなのに価値が伝わりにくい」など、ユーザー視点のフィードバックがもらえる貴重な機会です。
※バグバッシュとは
一人で個人開発している場合、どうすればいいんでしょう?
『Qiita』(エンジニアのためのコミュニティサービス)に、Webサービスの運営者が集っている『運営者ギルド』というコミュニティがあります。製品をリリースしている人なら誰でも入れるので、そこでテストしてもらったり、意見をもらったりしています。
いきなり入って、協力してもらえるものですか?
自分が発信側に回ることが大事ですね。製品をリリースし、発信していくことで友達ができ、輪が広がっていくものだと思います。
いわゆる「コミュ力」が必要だということでしょうか?人によってはハードルが高いのでは?
僕の場合は、オタクだからという理由でスクールカーストの底辺にまわされるのが怖くて、ニコニコ動画に投稿していたことも、ジャンプで漫画賞を取ったことも学校では隠し、漫画家になりたいと言えずに「デザイナーになる」なんて言ってました。でも社会に出たら、そんなマウントを取るような人は実際にはあまりいないじゃないですか。
たしかに、マウント取るほどヒマな人はほとんどいないですね。
「ごめんなさい」と「ありがとう」が言えるという基本と、笑顔や謙虚さがあればちゃんと周りから大事にしてもらえる。
学校のような閉鎖的なコミュニティだと上下関係やマウンティングが発生しがちですが、ギルドや社会人のコミュニティは出入りが自由なこともあり、攻撃的なこともなく、みんな優しいですよ。そんなに怖がることはないと思います笑。
何のための個人開発?事業化目的ならプログラミングは不要⁉
個人開発で、リリースまでモチベーションを維持しながら開発する秘訣はよくわかりました。ただやはり、「それでちゃんと稼げるのか?」という懸念はあります。
何のために個人開発するのか、ということですね。事業として稼ぎたい場合は、使ってくれる人や出資者を集めることが大事です。開発よりも、LPを作って広告を出して、お金を払ってくれる人がいるかどうかを確かめるのが先でもいいと思います。
どんなにニーズがあっても、「お金を払ってでも使いたい」ではなく「無料なら使いたい」では事業にはならないので、まずはそこを検証する。いざ作るとなった場合も、プログラミングスキルを生かすことにこだわる必要はないので、ノーコードで開発してもまったく問題ありません。
最初から事業化に照準を当てた開発だと全然違ってくるんですね。
そうですね。でもほとんどの個人開発者は、「技術を学ぶため」か「自分が作りたいから」作っていると思います。あとは、「ポートフォリオにするため」ですね。そういう大多数の人たちは副業や趣味で個人開発しているので、さきほどの3か条が当てはまりますよ。
【取材後記】
かわんじさんがご自身の作るプロダクトを「作品」と呼ぶのが非常に印象的で、根っからのものづくりの人なのだなと感じました。個人開発の3か条は、自分が一から作り出した作品を世に出したいと考えているすべての人に参考になると思います。
後編では、『DiQt』でどんなふうに心理学知識が生かされているのかや、他ジャンルの知識や経験を開発に生かす「スキルの掛け算」についての考え方を伺いました。
▼後編はこちら
【関連リンク】
DiQt - 絶対に忘れない英和辞書&英単語アプリ:https://www.diqt.net/ja
かわんじさんTwitter:https://twitter.com/kawanji01
ライター
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから