Slide 1

Slide 1 text

スマートスピーカー×obnizで VUI IoTを加速しよう! 田中 みそ (田中 大樹)

Slide 2

Slide 2 text

自己紹介 田中 みそ (田中 大樹) Qiita: miso_develop Twitter: miso_develop Facebook: 田中みそ Google Home購入を機にITに目覚めた 初心者非エンジニア。 好きな食べ物はRaspberry Piとバナナ。 Facebook

Slide 3

Slide 3 text

自己紹介 田中 みそ (田中 大樹) Qiita: miso_develop Twitter: miso_develop Facebook: 田中みそ Google Home購入を機にITに目覚めた 初心者非エンジニア。 好きな食べ物はRaspberry Piとバナナ。 Facebook

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

DEMO

Slide 8

Slide 8 text

Clova Extensions Kit システム構成図

Slide 9

Slide 9 text

ESP32

Slide 10

Slide 10 text

ESP32 簡単に言えばWi-Fi付きArduino  Google Homeに話しかけてお湯はりボタンを プッシュしたり  ハンドスピナーを回したり

Slide 11

Slide 11 text

つまりは…?

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

M5Stackとかとの違い 最大の違いはプログラムの置き場所 Cっぽい低レイヤー言語で書いた プログラムをマイコンに書き込む マイコンにプログラムを書き込めない(!?) クラウドでプログラムを動かす!! (Node.jsで書ける!!!)

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

ユーザーの利用フロー

Slide 18

Slide 18 text

ユーザーの利用フロー ①obnizをポチる(パーツも一緒に)

Slide 19

Slide 19 text

ユーザーの利用フロー ②パーツをつなげる

Slide 20

Slide 20 text

ユーザーの利用フロー ③Wi-Fiにつなげる(obniz単体で可能)

Slide 21

Slide 21 text

ユーザーの利用フロー ④スキルにobniz IDを伝える 1234-5678

Slide 22

Slide 22 text

ユーザーの利用フロー これだけ。たったの4ステップ…!! ①買う ②組み立てる ③繋げる ④認証する

Slide 23

Slide 23 text

ユーザーの利用フロー  ネックになるのはパーツの接続ぐらい  パーツのセット売り、購入先リンクをまとめる  基盤にはんだ付けしといてobnizに挿すだけにする  obnizごとオリジナルのケースに詰めて販売  それ以外のフローはスマートスピーカーの セットアップと変わらない

Slide 24

Slide 24 text

マネタイズの可能性  スキル開発なかなかお金にならない><  Alexaはリワードプログラムあるけど…  Tシャツはそろそろ一週間ローテいける  スマートスピーカー対応ハードウェアは…?  赤外線学習リモコンは年度末ぐらいまで ほぼ売り切れ状態だった

Slide 25

Slide 25 text

スキル開発での知見

Slide 26

Slide 26 text

obniz IDの登録フロー  obnizは8桁の数字で構成されるIDを持つ  これさえあればobnizがどこにあろうと オンライン状態であれば操作可能

Slide 27

Slide 27 text

obniz IDの登録フロー  スキルの初回起動時に音声で登録を行う  8桁を1度に発話してもらう?  4桁を2回に分けて発話してもらう?

Slide 28

Slide 28 text

obniz IDの登録フロー  4桁を2回に分けて発話してもらう!  ID登録は基本的に初回のみ  利便性より確実性を重視  8桁数字はユーザーも発話に詰まる恐れあり  スマートスピーカー自体も聞き間違えが発生 しやすくなる

Slide 29

Slide 29 text

obniz IDの登録フロー  スロット  Clovaの場合  ビルトインスロット「Clova.NUMBER」  数字を単体読みすると認識しない  サンプル発話で4つに分けても認識がイマイチ…  「2018」→「にせんじゅうはち」と読めば認識可能…  単発数字発話用のスロットを作成することで解決!

Slide 30

Slide 30 text

半角、全角、漢数字、 ひらがなを一通り拾う

Slide 31

Slide 31 text

一桁づつスロット名 を割り振る 作ったスロットを指定

Slide 32

Slide 32 text

obniz IDの登録フロー  Alexaの場合  「AMAZON.FOUR_DIGIT_NUMBER」 というビルトインスロットがある…!

Slide 33

Slide 33 text

obniz IDの登録フロー  Google Assistantの場合  英語なら「@sys.number-sequence」がある…  「@sys.flight-number」無理やり使えるかも?

Slide 34

Slide 34 text

obniz IDの登録フロー  各スマートスピーカーで対応している GUIからもID登録可能にしておく  Clova: LINE Bot  Alexa: Echo Spotの画面  Google Assistant: スマホ版Google Assistant  アカウントリンクを使う  IDの変更、消去の手段も用意しておく

Slide 35

Slide 35 text

obniz IDの登録フロー  obniz IDがわかればどこからでも操作できる  悪い人にバレると危険☠!!!!  アクセストークンがあるけどこれを有効化すると…  IDはDB格納時に暗号化、利用時は複合しよう  スキル申請時にプライバシーポリシーへの 記載が必要?

Slide 36

Slide 36 text

タイムアウトの壁  センサーからのデータ取得に時間がかかる ケースがある  基本的にはほとんどのセンサーは一瞬で値を 返してくれるはず  今回ハッカソンスキルで使った心拍センサーは 値取得に6~7秒かかる…  さすがにストレス  というかClovaがタイムアウト…

Slide 37

Slide 37 text

タイムアウトの壁  対策  スキル起動インテントのLambdaから 心拍取得用の裏Lambdaをキック  ユーザーが次のインテントを呼び出すまでの 間に心拍数をDBに格納する  基本的に3秒以内のレスポンスを目指す

Slide 38

Slide 38 text

ここが 長い…→ 「心の音へようこそ…」 センサーから心拍数取得 「心に響く曲教えて」 「現在の心拍数は…」 「心の音を開いて」

Slide 39

Slide 39 text

ここが 長い…→ 「心の音へようこそ…」 センサーから心拍数取得 「心に響く曲教えて」 「現在の心拍数は…」 「心の音を開いて」 タイムアウト!!!!

Slide 40

Slide 40 text

「心の音を開いて」 「心の音へようこそ…」 裏Lambdaキック! ← センサーから 心拍数取得…! (Lambda自体の タイムアウト長め) DBから心拍数取得 DBに心拍数格納! 「心に響く曲教えて」 「現在の心拍数は…」 ここが 長い…→

Slide 41

Slide 41 text

タイムアウトの壁  対策(時間稼ぎ)  setTimeoutでwaitする  長くても500msecぐらい  応答メッセージを沢山しゃべる  SSMLで発話スピードを遅くする  起動時にオープニングSEを入れる

Slide 42

Slide 42 text

タイムアウトの壁  UXの悪化とトレードオフ  起動時SEはスキルのタイプによる  SSML: 個人的にはユーザーが発話スピードを 自由に設定できるような実装が理想  複数のインテントに少しづつ色んな アプローチをすることでUXの悪化を軽減!

Slide 43

Slide 43 text

 スマートスピーカーはIoTデバイス  obnizはその機能を拡張する可能性を秘めている…!  何よりスキル開発の楽しさが格段にアップ!!  興味がでてきた方は  まずは公式ページをチェック(https://obniz.io/)  サンプルやドキュメントがすごく充実!  ぜひハンズオンにも参加してみて!  コマンドひとつも打たず、ローカルファイルすら作らない 不思議なハンズオン…! さいごに

Slide 44

Slide 44 text

 ハッカソン、めちゃくちゃ楽しい!!!  LINE BOOT AWARDS終わっても 毎月開催してください…!!! さいごに

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

おわり ご清聴ありがとうございました