Clova Extensions Kit&Clovaスキルストアの公開に合わせてスタートした「Developer of the Month」。毎月一度LINEのAPIを使いこなして素晴らしいサービスをリリースしていただいた開発者の皆様の中から一組を新宿ミライナタワーオフィスにご招待し、インタビューと副賞の贈呈を行います。
第4回「Developer of the Month」は、ClovaスキルとLINE Botを組み合わせたサービスである「マイトレーニング」を開発した中村憲一郎様です。「マイトレーニング」は、LINE Messaging APIやLINE Pay APIとの連携がとられ、LINE BOOT AWARDS 2018のファイナリストにも残った優秀作品です。インタビューでは開発されたサービスのほか、中村様が開発されてきた開発者向けのツールについても伺います。

プロフィール
中村憲一郎(なかむらけんいちろう)氏。日本マイクロソフトでソリューションアーキテクトとして働くかたわら趣味としてスキル開発や技術者向けイベントで登壇などを行う。
パーソナルトレーニングを自宅で再現できる「マイトレーニング」
ーーまずは現在のお仕事について教えてください。
中村憲一郎氏(以下、中村氏)::日本マイクロソフトでソリューションアーキテクトをしています。ひらたく言うとコンサルですね。お客様が「こういうことをしたい」と言った時にそれをビジネス戦略として実装してデリバリーもしていきます。
ーー「マイトレーニング」のLINE BOOT AWARDS 2018におけるファイナル進出、おめでとうございます。開発されたきっかけは何ですか?
中村氏: LINEさんのハッカソンに参加して、そこで自分の欲しいものをとりあえず作ってみたという感じです。途中スピーカーとして登壇する予定が入っていたのでのチーム分けの時に丁度抜けてしまって。それでチームに入れなくてぼっちソンになって(笑)1人で困って、どうせなら自分が欲しいものをつくろうと考えました。
ーーお仕事とも直接は関係がないですよね。スキル開発は趣味みたいなものですか?
中村氏: 趣味です。LINEさんに関わっているものは全部趣味です。
ーー「マイトレーニング」で何ができるのかを教えていただけますか?
中村氏: ヒートトレーニング(High Intensity Interval Training)というのがありまして。俗に言うサーキットトレー二ング(30秒ごとに次々違う運動をやっていくもの)です。「マイトレーニング」は自宅にいてもパーソナルトレーナーと一緒にいる感覚でサーキットトレーニングができるというものです。
ーー運動メニューはどう決めるんですか?
中村氏: 基本的なメニューがあるので、それをLINE Botでセットします。
ーーハッカソンの発表の時はメニューはランダムになってませんでしたか?
中村氏: 初期の頃は、ランダムにしたり、音声でセレクトできるようにしたりと何パターンか試したのですが、やっぱりLINE Botが便利なので今はLINE Botで操作するようになっています。初期は決め打ちでメニューを設定しておいて、LINE Botと友だちになったら変更できるようにしていました。
ーー友だちにならなくてもClovaスキル単体で使えるけど、友だちになるともっと便利になるという風になっているんですね。
中村氏: そうです。メニューが決まったらClovaに話しかけると次はこれをやってと指示をくれますし動画も送ってきます。筋トレの名前を言われてもわからないことがあるので。たとえば「フロントクランチ」とか。そういう時はBotとのトーク画面でプレビュー動画が自動再生されるのでスマホを見えるところに置いておけば、目で見て確認しながらトレーニングを行うことができます。
筋トレが辛いときも動画を見られます(笑)ループ動画ではなくて彼(動画に写っているパーソナルトレーナー)が1分間やり続けているのが売りです。
ーーずっと一緒にやってくれるんですね。
中村氏: ジムでパーソナルトレーナーと一緒にやっている感覚を得られるようにと思ってスキルをつくっています。今は音楽だけで彼の声が入っていませんが、これからは指示を出す声も入れたいと思っています。
ーーこの方は中村さんのパーソナルトレーナーもされているんですか?
中村氏: 正確に言うと私のパーソナルトレーナーの方が所属している組織のボスです。
ーーそうなんですか。それで撮影にもご協力いただいたんですね。
中村氏: ジムの宣伝をするから撮影させてと頼んで出てもらいました。レベル2をつくるには撮り直さないといけないので結構大変です。
ーー撮影は手間がかかりますね。
中村氏: そうですね。でも同じメニューであっても時間が変わったら撮り直したいと思っています。トレーニング用のアプリでは2周くらいしたものを綺麗にループでつなげるのが普通です。お金がある会社はそうしたらいいと思うんですけど、こっちは手作り感でいこうと思っています。映像のクオリティもC級にはならないようにしますけど、B級くらいでアナログ感を大切にしたい。すごくいいスタジオで撮影するよりも実際に自分やユーザーがトレーニングするような環境でやりたいですね。
ーー「マイトレーニング」の着想は何からですか?普段から考えていましたか?
中村氏: 基本的に私はデベロッパーなので、使える機能を全部使うためには何があればいいかと考えました。Clova、LINE Bot、LINEログインとLINE Payを全部使うには何がいいかなと。でも、それだとなかなか難しくて結局は自分が欲しいものから考えたら、逆に全部ハマったという感じですね。
ーーそうなんですね、LINEログインも使って頂いているのですね。
中村氏: Botの挙動を設定するための管理画面で使っています。
LINE Payを実装しマネタイズ
ーーLINE PayのAPIも使ってらっしゃいますよね?
中村氏: LINE Payは実装はしていますが、まだ使えるようにはしていません。マネタイズの方法はいろいろ考えているんですよ。
たとえば、レベル1は無償で使えるけどレベル2やレベル3のトレーニングは有料にする、あるいはダイエットに特化したメニューや夏なら足に特化したトレーニングを用意して200円払ったらできるというようなことを考えています。
あとはゲーミフィケーションですね。たとえばトレーニングをした回数によって進める場所を変えて、シルバーまで達成したら無料でゴールドに行けるけれど、シルバーをスキップしてゴールドに行きたいときは50円払ってもらうとか。
それから今は1日2回までしかできませんが、どうしても3回やりたい場合はお金を払ってもらうとか。あとはLINE LIVEがありますよね?LINE LIVEでトレーナーがリアルタイムでセッションをやるのでその参加権をあげるとかも考えています。
ーーマネタイズの案が沢山出てきますね。
中村氏: そうですね。リアルのジムとも連携させようと思っています。ある程度のレベルまで進んだ人には実際にface to faceでトレーニングをしませんかという提案をして、アプリに課金してくれた分を差し引きしてジムの体験レッスンに使えるようにしたり。ジムのチャージもLINE Payでしようと思って実装はしています。代理店申請をしたので、通ったらジムでLINE Payが使用できるようになります。
ーーいろんな可能性がありますね。アチーブメント一覧もLIFFを利用して実装されており、直感的で見やすいです。LIFFは役に立ちましたか?
中村氏: はい。たとえば、この枠の線は画像を用いているのではなくてCSSでやっているので、LIFFじゃないと難しんですよ。Flex Messageでもできないことはないですが難しいですね。

ーーマネタイズポイントについてよく考えておられると感じました。ポコパン等のソーシャルゲームが参考になりそうですね。
中村氏: そうですね、VoiceApp Labさんの「ゾンビのまち」なんかはとても良く出来ていると思います。ゲームっぽいかどうかは見た目で決まるのでLIFFはいいですよ。
ーーゾンビのまちはLIFFでアニメーションしたりリッチなデザインですよね。
中村氏: 常に出しておきたい「進捗バー」とかはリッチメニューAPIがいいですよね。まだ実装はしていませんが、トレニーング中に「5種目中3つやりました」とかががわかるように差し替えたいと思っています。
ーーリッチメニューAPIですと通数による課金もされませんし、いいですね。
中村氏: そうですね。多分実装は10分もかからないと思います。見た目のいい素材を用意できるかどうかですね。デザイナーではないので。ただLINEのプラットフォームはその辺りがやりやすいですね。他のスマートスピーカー版の「マイトレーニング」も考えているのですが、手間が多くてまだやっていません。ClovaのようにBot連携や認証管理に手がかかってしまうので。
Clovaで英語の学習ができるスキルも開発
ーーそれでは「マイトレーニング」の他に作られたスキルについて教えてください。
中村氏: 「イングリッシュクイズ」というスキルがあります。Clovaは英語を喋りますが、英語の聞き取りはできないんですよね。音声入力は日本語だけ。日本語を英語に翻訳するのは得意ですが、その逆をやってみたくて作ったのがこのスキルです。
ーー具体的にはどのようなスキルですか?
中村氏: Clovaに「イングリッシュクイズ」と言うと英語で問題を出してくれるので日本語で答えるものです。例えば偉人の説明が英語で再生され、その人物を答えるというような。英語を口にするのは恥ずかしいけど英語を勉強したいという中学生、高校生向けのスキルです。あとは覚えてもつまらない社会の暗記モノを英語のクイズにして楽しく勉強してもらえたらいいな、と。
ーーいいですね。Clovaの英語の発音はどうですか?
中村氏: 流暢過ぎますね(笑)。しかも早い。もうちょっと遅いといいのですが。
ーーなるほど。その他に実装しようとしている機能はありますか?
中村氏: 今は問題がまだ20問くらいしかないので今後はLINE Botと連携して、ユーザーから問題と解答を送ってもらうようにしたいですね。
ーーなるほど。何か問題を投稿したくなるような仕組みは考えてありますか?
中村氏: 「○○さんからの出題です」とどこかで名前が呼ばれることですかね。採用された後は「あなたの問題はどれくらい解かれて正答率はこれくらいです」というのをLINEで通知する予定です。
ーーおお、それだと投稿してくれる人もいそうですね。ちなみにマネタイズは考えていますか?
中村氏: イングリッシュクイズではマネタイズは考えてはいないのですが、数学の問題を解説する「Laf先生」と抱き合わせ販売はできるかなと思います。
LINEで問題の写真を送るだけでAIが数学の解説動画をチョイスして送ってくれる「Laf先生」
ーー「Laf先生」もLINE BOOT AWARDS 2018でファイナルに残った作品ですね。詳しく教えてください。
中村氏: 「Laf先生」は本当にいいサービスなんですよ。私はサービスには関わっていなくて開発だけやっています。運営しているのは、Youtubeで中学生向けに数学の問題を解説する動画をたくさん作っているチームです。
たくさんある数学解説動画の中から該当の動画に辿り着ける子は、問題を解くためのキーワードが分かっているんですよね。即ち、そもそも動画を必要としていない。問題を見てもどうやって解き方の動画をどう探したらいいか分からない子もいるはずなんです。
ーーなるほど。
中村氏: 「Laf先生」はそういう時のためにあります。数学の問題集の写真を撮影、該当の問題のみを切り抜いてBot宛に送ると、裏でAIがタグ抽出して文章をOCRでとってきて、その問題を解くために必要な動画を送ってくれます。
——どう解くかが分からなくても該当の動画を探せるのは画期的ですね。
中村氏: さらにユーザーには、動画が合っていたか間違っていたかを「はい」「いいえ」で返してもらうようになっていて、「いいえ」の場合は人間が手動で正しい動画を送ります。
もともとこのサービスはLINE@とtwitterでやっていて、質問が来るたびに人の手で回答を返していたのですが、それだと追いつかないという相談が来たのでAIを入れました。
ーー人力で対処していたんですね。
中村氏: 人力だからスケールするはずがないし、二重に送らないようにexcel管理をしたりして大変だったのでLINE Bot化しました。でもそうするとLINE@の1:1トークが使えなくなるので代わりにやりとりを管理できる管理画面をつくりました。
これは絶対LINEがいいんです。対象者がLINEユーザーの中学生ですし、LINEなら写真を撮って編集をしてそのまま送れます。それができるのがLINE以外にないんですよね。
ーーたしかにそうかもしれませんね。ユーザーは中学生ですか?
中村氏: 中学生ですが、親も使っています。数学ってもうわからなくないですか?
ーーわからないですよね(笑)
中村氏: 見たら思い出すんですけどね。やってみてわかったのは親が子供に教えるために動画を探していることです。それが結構あります。
ーーユーザーの数はどのくらいですか?
中村氏: 今はまだ宣伝していないので少しですね。
ーーサービスをやっている側としてはフィードバックをもらえずに離脱されてしまうことがあると思うのですが、そのために工夫していることはありますか?
中村氏: 動画を送るのと同時に動画が適切だったかどうかを尋ねる「はい」「いいえ」を出しています。それに答えてくれないと次の問題を受け付けないようにしています。
ーーそれはいいですね。「ご意見はこちら」とかではなくちゃんと毎回「はい」「いいえ」で答えてもらっているんですね。
LINEログインを使ってサービスの裏側を管理
ーーLaf先生は動画を人間が手動で送ることもあるとのことですが、その際のインターフェース、管理画面について教えていただけますか?
中村氏: 裏側でDB管理をしています。ユーザーから「いいえ」で戻ってきたものが一覧で見られて、管理側から手動で正しい動画を送れるようになっています。手動で返したときは合っているはずなので「はい」「いいえ」は聞きません。また、手動で正しいものを送った場合は、機械学習にフィードバックさせることができます。
管理画面へのログインの際にLINEログインを利用しています。LINEログインを利用するとサービス側にLINEアプリ側へ通知するためのユーザーIDが渡されるので「いいえ」が戻ってきた時に運営者のLINEにプッシュで通知が来てすぐに気がつくので便利ですよ。
ーーCRMとかCGMとは相性が良いですよね。
中村氏: コンテンツ管理系とかログ管理系とか、Botの裏の管理ツールはログインが必要になることが多いのでその際の認証にLINEログインを使うと便利ですよね。
ーー我々はそう思って開発しているので、そう使っていただけると嬉しいです。
中村氏: そこの連携感がデベロッパーに伝わっていないかもしれないですよ。こうした方がいいというガイダンスを出してあげると使うようになるかもしれません。今やLIFFでオートログインですし、みんな表しか見ないので裏でログインが使えると気づいてないと思います。別サイトでログインしてもWEB通知ではなくてLINEに通知ができますし、それは他のプラットフォームにないので、すごく便利ですよね。
LINE BotとClovaスキルの開発に役立つシミュレータも開発
ーーLINE Botのシミュレータ(実機を使わずにLINE Botを試すことができる開発者ツール)を作ってくださいましたが、それについて伺ってもいいですか?
中村氏: LINE Botの開発ツールにはシミュレータがないんですよね。実機で試すしかない。そうすると初めて友だち追加をした時の挙動を試すために一回ブロックしてまた友だちになったりしないといけない。だから仮想的なツールで試したいと思って作りました。
マイクロソフトにもGoogleにもシミュレータがあるので。存在を知らないと不満は感じないと思うんですが、知っていると不便に感じます。だから自分で作りました。
ーーありがとうございます。多くの開発者の方の助けになっています。リリース自体は随分前ですよね?
中村氏: バケーションでハワイに行った時に4日間くらいでつくりました。
ーーハワイ!?なぜハワイで作ったんですか(笑)
中村氏: 趣味なので(笑)ちょうど時間がとれて良かったんですよね。シミュレータがないねとLINEの砂金さんと話して、その時ブラウザ版を作って、今はそれをネイティブアプリにつくり直しています。
ーー私も使っていますけど、すごく便利です。当社から年に3つ4つ新しいAPIが出ますが、それも全部対応していただいて。
中村氏: そうですね。Clovaも全ての機能を試すには実機に話しかけないといけないんですよね。そうするとハッカソンとか皆で開発をしている時は他の人の声を拾ってしまったりして。それに家で1人でいるときに話しかけたくないんですよね。だから話しかけずにできるシミュレータをつくりました。
ーー騒がしいところでデバックしにくいのはありますよね。
中村氏: Clovaに話しかけるとLINEさんのプラットフォームとインテント解析がはいるんですよね。そうするとそこもクリアしないといけないので本当に検証したいところだけを検証できない。それに以前は新しいインテントを検証したい時に時間がかっていたんですよね。
ーーClovaのシミュレータはブラウザですよね?
中村氏: ブラウザ版です。あれはネイティブアプリにしても仕方ないと思ったのでブラウザ版のままです。それからツールとしてはC#版SDKになかったのでAPI Expertの小林さんとコミュニティとしてつくっています。
ーーPythonとかNode.jsはあるんですけどね。C#がないので中村さんや小林さんが作ってくださって、ありがたいです。
中村氏: C#がいい!と思って(笑)C#はライブラリとしては他の言語に比べて充実しているんです。LINEの全てのAPIに対応しているんですよ。他のSDKが対応していないLINE Payにも対応しています。
ーーおお!それは存じ上げませんでした。かなり便利ですね。
LINEの開発者コミュニティは貢献が報われやすい
ーー最後に読者に伝えておきたいこととか、アピールしたいこととかがあれば教えてください。
中村氏: LINEは開発者コミュニティが強いと思うのでコミュニティのアピールをしたいですね。作ったら発表する場もあるし、分からなかったらSlackで質問もできるしコミュニティ参画してね、と。MVPシステムもありますし、報われやすいですよね。
ーーそうですね。色々と企画、実行しています。
中村氏: コミュニティ貢献しやすいから試してね、と言いたいです。
ーー来年たくさんのAPIも出しますし、マネタイズの仕組みも作っていきますので。
中村氏: ブロックチェーンも入ってきますよね?その時にUIをどうつくるか統合したパッケージをLINEさんに提示してほしいです。
ーーわかりました。どうもありがとうございます。
制作:SmartHacks