2018年6月7日ホンネトークっていうAlexaスキルをつくったよ最近Alexaがアツい。新しい技術を知りたかったら、なにかつくってみるのが一番。いうことでGWの石垣島休暇中に試しに「ホンネトーク」っていうスキルをつくってみた。Dotは、小さくて6000円というお手頃価格。GW最終日に審査提出して2週間後の5/21にリリース完了。(リリースから1週間ぐらいで30人ほどのユーザが使ってくれた。感謝!)Alexa開発のだいたいの流れを理解したので、Alexaスキルの開発からリリースまでの流れがサクッと分かる20の知識をまとめてみた。意外と簡単なので、ぜひ挑戦してみて欲しい。(ホンネ:Alexaユーザがもっと増えて欲しい笑)ちなみに、ホンネトークってどういうスキル?ホンネトークは、単にAlexaに向かって自分の本音をささやくと、いい感じにコメントをつぶやいてくれるストレス解消系スキル。うちの会社(=bravesoft)でやっているHONNEっていうアプリに集まってくる数百万件の本音つぶやきデータがベースになっているので、妙にリアルなコメントが返えってきたりして面白い笑。(smartio.lifeさんが紹介記事にしてくれた・・!)(クリックでAlexaスキルストアに移動)Alexaの端末を持っている人は「アレクサ、ホンネトークをはじめて」と言うだけで、特にインストールなども不要ですぐ遊べるので、ぜひお試しを。それでは、Alexaスキル開発の流れを説明していこう。Homeも検討してみたところ、Alexaのほうが良さそうな感じ。(2018年1月時点)￼ちなみに、北米だけでもスマートスピーカーは3500万人に普及していて毎月200万台ぐらい売れている。日本ではまだピンと来ていない人が多いけど、爆発的ヒット中だ。Homeではスキルじゃなくてアプリって言う。★Alexaのほうが2年も早く発売していた。2018/2※HomePadは今のところ第三者がアプリを作れないそれと、理屈では言えないけど、商品自体にしても開発環境にしても、なんとなくAlexaのほうが洗練されてて使いやすい感じ。Homeのほうが販売ペースが逆転したというニュースもあり、先のことはよくわからない。Echo」を抜き初の首位また、スマートスピーカーだけでの勝負というよりAndroidやiPhone、AirPodsなどいろいろ連携したp、一概にAlexaの圧勝が続くと断言できないところが面白いところ。Androidのような関係性になりそう。いずれにせよ、今どちらかを選ぶとしたら、「Alexa」。※以降の話題はAlexaのみ。2マネタイズができない・・!すでに日本でも、数百のスキルがリリースされているけど、残念ながら今のところ課金や広告で稼ぐことは一切できない(@2018/5時点の日本)。いま日本でスキルをリリースしている人は、趣味や実験、未来への投資が目的。それがつい最近、2018年5月に、北米でアプリ内課金や月額課金が開始。Payでの支払いがある。Amazonによるリワードはおもしろいシステムで、毎月よく使われているスキルをAmazonが集計して人気度に応じて報酬を払ってくれるというもの。ネットで調べたら、アメリカの個人プログラマーが月に数十万円の報酬を貰えている事例があるようだ。(リワードも日本は未対応。2018年中には日本でも開始予定とのこと)広告に関しては、アドネットワーク的なものはNG、自社のコンテンツや、例えば再生中のラジオの中で広告が流れるみたいな感じならOK。いうことは実質的にスマホのような広告売上はNG(まあ、Echoで広告音声が長々と流れるとユーザ体験も良くないかも)。31週間あればスキルはつくれるAlexaの開発環境や公式ドキュメントやネットの解説記事など充実していたのもあって、ホンネトークは開発開始から審査提出まで60時間程度で完了した。スマホアプリの開発に比べると音声UI(=VUI)は、入力も出力もシンプルなため、簡素な設計になる傾向があって、そもそもあまり開発規模が大きくならない。そもそも複雑すぎると口と耳だけに頼っているユーザもついてこれない。Dotsだが、実はたくさんのデバイスに対応している。(AndroidやiOSに対応)を搭載するだけですぐにAlexa搭載デバイスが出来上がるのだ。2018年5月現在、Wikipediaで確認するだけで100以上の対応デバイスが存在している。最近、トヨタも2018年中に自動車へ搭載することを発表していたりと、続々と対応デバイスが増えている。個人的にはAirPodsが進化してAlexaが呼び出せるようになったら面白いなと思う。5Alexaスキルの開発環境が便利!Alexaのスキルの開発やデバッグはWEBサイトの「Alexaコンソール」からできる。UI/UXが直感的に使いやすくて、すぐにスイスイ使えるようになる。￼(Alexaコンソール画面)AppleよりWEBが上手で、Googleより顧客志向な、Amazonの強みがしっかりと発揮されている。6サーバ環境はAWSのLambdaでカンタンAlexaスキルの開発には基本的にサーバが必要。サーバはLambdaっていうAWSの1サービスを使う。開発言語はNode.js。サーバについても開発言語についても他の選択肢もあるけど、この推奨環境がやっぱり簡単で参照できるドキュメントも多いのでオススメ。右が自分で用意したサーバ)Lambdaっていうのはカンタンに言うと簡易WEBサーバ環境っていう感じで、管理画面で簡単な設定&プログラムの入力だけで、すぐにWEBサービスがつくれてお手軽。自分でサーバをセットアップする手間が省けるし、開発に便利な機能がいろいろついている。￼デバイス(Echo)もサーバ(AWS)もAmazonということで、連携もカンタンだし問題も起きにくい感じ。このあたりAppleに近いものを感じる。7Echo実機での動作確認まで一瞬!自分のAmazonアカウントでEchoを設定してAlexaコンソールでサンプルの会話を設定したら、そのままEcho実機でその会話が実演できた。実機での動作確認までハヤい!(1,2時間)今までいろいろなデバイスで開発してきたけど、これほど実機での動作確認がサクッとできるのは新しい。その理由は、Amazonのアカウントで何から何まで統一管理しているのと、クラウドベースなので実機にプログラムを転送したりなどの手間が無いからだ。(たとえばスマホの場合は証明書がどうしたとかアプリを実機用にビルドして転送とか、いろいろ面倒。KitとはAlexaとの通信処理をやってくれるSDKのこと。(開発言語はNode.js、Java、Python、C#、GOなどから選べる)一番良く使われているのはNode.jsで、特に理由がなければNode.jsがオススメ。Node.jsの特徴を超カンタンに言うと、「javascriptでお手軽に書けて、大量アクセスに強い」っていう感じ。javascriptはJavaやPHPなどの言語の経験があれば習得はカンタン。ちなみにAlexaの公式ドキュメントも丁寧で充実している。ソースの雰囲気はこういう感じ￼9ビルド&デプロイがちょっと面倒Alexaの開発環境は使いやすいけど、唯一ちょっと残念だったのがLambdaへのビルドとデプロイの方法。これはAlexaというよりLambdaの問題だけど、開発プロジェクトが10MBを超えたら、ローカル環境でzip圧縮→一括アップロードの必要あり。そのためソース編集→ビルド→アップ→動作検証まで、回線が遅い離島でやったら1分程度、東京でやったら10秒程度かかってしまう。そのうちファイルが大きくとも管理画面でプログラム入力できるようになるはずなので期待。気をつけたいのが、7秒タイムアウトルールだ。alexaからlambdaに問い合わせがあって、7秒間以内に応答をしないと、強制タイムアウトでエラーになってしまう。そのためにLambda側でもタイムアウトの設定で7秒にして、処理に時間を書けないようにする。Lambdaでタイムアウト7秒に設定たしかにユーザ側も7秒も待たされたらイライラするだろう。このあたり音声UI(=VUI)アプリの新鮮なところ。11審査提出!これもらくらく開発&テストが一段落したところで審査提出。入力する内容もスマホの時と似ていて一般的なもの。簡単に答えていたらあっという間に審査に提出することができた。￼12スキルの呼び出し名が超重要。早い者勝ち!スキル開発においてとても重要なポイントがスキルの呼び出し名。「ホンネトーク」にあたるところ。このワードは重複が許されないので、いかに早い者勝ちで、覚えやすい一般的な単語を登録できるかが勝負。呼び出し名は2つ以上の単語を含む必要があって、もちろん商標にも抵触しないようなど最低限のルールはあるけど、割と自由に決められる。「引越し見積」とか、「お部屋探し」とか、分かりやすい呼び出し名は早い者勝ちの取り合いだと思うので、ドメイン名の争奪合戦&売買マーケットのような感じになるかもしれない。￼13ストアでの設定項目はスマホアプリと似てる。(特定企業にだけ公開など)ストア設定入力の画面14審査ガイドラインもAppStoreと似てる審査のガイドラインについても分かりやすいドキュメントが用意されている。AppStoreのガイドラインに似ているのでiPhoneアプリでリリースできそうなものはAlexaスキルとしてリリースできると考えて良さそう。審査提出!すると、24時間以内に結果メールが届いた。速い!(Appleは審査に3週間もかかっていた時代があった)リジェクトメールの抜粋リジェクト理由を簡単にまとめると、、1.ストアの説明文にAIが答えると書いてあるがこれがAlexaのことと誤解されるのでNG2.ストアの説明文に商標違反の懸念があるのでNG3.ストアの説明文に誤字があるのでNG4.とある状況下で「ストップ」と言っても終了しないバグ5.「やめて」と言ったときに、動作に統一感が無いバグ6.スキルの回答に、顔文字があると正しく読まれないのでNG7.スキルの回答に、芸能人など肖像権侵害があるのでNG8.呼び出し名が、〜したいなどとルール外なのでNGなどなどだった。何度かのリジェクトを経てリリースに至ったが、提出から1〜2営業日後に審査結果が届くのでテンポは良かった。公開されました!」のメールが届く。やった!この瞬間から世界中のAlexa端末(と言っても日本語だけだけど)で、特にインストールなど必要なく自分が作ったスキルが使ってもらえるようになる。日常業務の合間で忙しかったのもあり、最初の審査提出からリリースまで2週間もかかってしまった。6件しかスキルがない17レポートも見やすい!Alexaコンソールには見やすいレポート機能もある。確認できる内容は主に下記の通り。今回はじめて対話型(VUI)プログラムをつくったけど、チャットボットとも違って目に見えない声だけのやりとりなだけに、一瞬スピーカー側が何を入ったか聞き取れないこともあれば、ユーザが話した言葉が正確に伝わっていないときもある。ユーザを不安にさせたくないので、できるだけ詳しく今の状況を説明したいけど、ながながと話しているとユーザにストレスを与えてしまったりもあるので、このあたりちょうどよいバランス感でコミュニケーションを設計する必要があって、これまでのGUIとは違った思想が必要で面白い。所感2:文系的な会話のセンスが大事たとえばPCアプリ→スマホアプリに時代が写っていった時に、画面が小さくて情報量が限られる分、いかに直感的に使えるGUIを設計するかがアプリの成否を左右するほど重要になったけど、VUIとなると更にシンプル化が進んだ感じで、情報が少ない分、ひとつひとつの情報配置のセンスが問われてくる。「それではホンネを言ってください、ではどうぞ」よりも「よかったら聞かせてください。誰にも言えないホンネはなんですか?」と聞いたほうが、より自然な回答が返ってくるだろう。これからは、「目で見て直感的に」の時代から「耳で聞いて自然に」の時代に移り変わっていくかも知れない。それはより人に優しくなる方向だ。エンジニアは技術だけじゃなく、シナリオライターのような文系的な会話のセンスや想像力が求められる。20最後に:スマホ登場期のようなワクワク感!まったく新しいデバイス、UI思想、生活へのインパクト、続々と参戦する個人法人、そこから生まれるニュースター。Alexaはまさに新しい時代のドアを開いた新デバイスだ。スマホ登場期のあの頃のようなビックウェーブがまたやってくるかも知れない。本当に便利になって生活に浸透するにはまだ時間もかかりそうだし、最終的にどこまで普及するかは未知数なところもある。それでも、「新しい面白いデバイス」であることは間違いない。先が読めない今が参入のチャンス。#16菅澤英司(スガサワエイジ)「最強のものづくり集団を目指す」bravesoftのCEO&CTO。22歳で起業→15年で150名。ガールズちゃんねる,松本人志の英単語,などなど1000件以上の開発実績。