最近Amazon Alexa界隈で起きたこと(11/1〜11/30)最終回

前回の記事から1ヶ月経って、Amazon Alexa界隈で何が起きたでしょうか。

目次


現時点のSkill数(US)

f:id:sparkgene:20171201012928p:plain

2万7千を超えてきました。年内に3万は難しいかなって所。 kidsカテゴリも150個になりました。

[11/8] Amazon、 日本語対応のAlexa、最新のAmazon Echo、Echo Plus、Echo Dotを日本で販売開始

amazon-press.jp

遂にというか、やっとというか、待ちに待ったEchoが日本で買えるようになりました!! まずは招待制でEcho、Echo Plus、Echo Dotが購入できるように。 同時にAmazon Music Unlimitedも上陸。US同様Echo用の安いプランも用意されています。

[11/8] Amazon、“音声ファースト”体験の創出に向け Alexa Skills KitとAlexa Voice Serviceを日本で提供開始

amazon-press.jp

もちろん、EchoだけじゃなくASKとAVSも日本に来ました。 AVSの方は試作品開発用の利用は可能ですが、商用向けの製品の販売はまだ招待制で対応中とのことです。

さっそく、日本語版のSkillを作って試そうとしたら、Alexa Appの方に出なくてハマりました。原因は、すでにUSの方でアカウント作っていたために、同じメアド使ってたらUSの方にログインしてしまう減少が起きていたから。 詳しくはこちら。

qiita.com

[11/8] Alexaスキル開発トレーニング

Alexa | アレクサ | Alexaスキル開発トレーニング

計6回が予定されているSkillの開発に必要なことが学べる動画とドキュメントの連載が出てきました。 いやー、これは便利ですね。これ見ながら開発を進めれば、あっという間にSkillの開発ができるようになります。 11/28までに第4回までが公開されました。

[11/14] スキルのテストがシミュレーター「Echosim.io」で可能になりました

スキルのテストがシミュレーター「Echosim.io」で可能になりました : Alexa Blogs

Skillの開発には無くてはならない存在である、echosimが日本語にも対応しました。 これで、招待メールが届かなくても、Skillの開発とテストが出来るようになります。

[11/15] Alexa Skills Kit と Alexa Voice Service がカナダに上陸

Alexa Skills Kit and Alexa Voice Service Expand to Canada : Alexa Blogs

日本だけじゃありません。カナダにも上陸しました!! これで計 6カ国(US、UK、ドイツ、インド、日本、カナダ)に対応しました。 ただし、ドイツ語と日本語以外は英語ベース。 人口や市場規模を考えると、そろそろスペイン語圏にも対応してくるのだろうか。

[11/16] Alexa搭載プロダクト向けにCode-Based Linkingの仕組みをリリース

Amazon Streamlines Device-Based Authorization for Alexa-Enabled Products : Alexa Blogs

通常、AVSを搭載したデバイスを利用する場合、Alexaを利用するためにユーザーにamazonのアカウントでログインさせてトークンを発行し、そのトークンを使ってAVSのAPIを利用する必要があります。 しかし、スマートTV、ウェアラブル機器、自動車の様に、入力デバイスの制限がある場合にはこの操作は大変です。 今回導入されたCode-Based Linkingを利用すると、例えば画面に表示されたコードとURLを別のスマフォのようなデバイスで開いて、amazonアカウントでログインすると利用可能になるとのことです。

[11/28] 通知機能をデベロッパープレビューとして公開

Expanded Developer Preview of Notifications for Alexa Skills : Alexa Blogs

次の四半期に公開を予定している通知機能の改善を手伝って下さいってことで、すべてのデベロッパー向けに 通知機能が提供されました。

とは言え、好きに使えるわけではなく幾つかのアンケートに答える必要があります。 場合によっては却下されることも有り、その場合は一般公開(2018年)まで待つ必要があります。

[11/29] Skillのマネタイズをデベロッパープレビューとして公開

Amazon Announces New Ways to Earn Money with Your Alexa Skills (Developer Preview) : Alexa Blogs

今までは一部のデベロッパーにのみ提供していた課金のしくみをデベロッパー向けに公開しました。 利用するには申請する必要があります。

今までデベロッパーはマネタイズの方法としては、人気のスキルになってAmazonより報酬をもらう方式しか無かったのですが、今回の発表によりSkill内課金が出来るようになりました。 課金の方法は2種類用意されています。

  • one-time purchases(売り切り)
  • subscriptions(月額課金)

基本的には無料機能が用意されている必要があり、例えばプレミアム機能を利用するために課金してもらうと言うかたちになります。 お金の支払い方法はAmazon Payを利用します。 実際に一般公開されるのは2018年を予定しています。

[11/30] Alexa for Businessの登場

aws.amazon.com

Introducing Alexa for Business : Alexa Blogs

re:Invent 2017の中で発表されました。 AWSのマネージメントコンソールに追加されるみたいで、デバイスの管理、プライベートスキル、ユーザーの管理などができるようです。 Roomsというロケーションの単位も設定することができ、デバイスを紐付けることができます。 例えばWynnはすでに各部屋にEchoを置いてますが、この機能を使って部屋ごとの電気を操作したり、空調を操作したりできているのかなと思います。 ユーザーの管理は、ユーザーを追加することで、その人の名前を指定して呼び出したりすることが出来るようです。

[11/30] カスタマーの声を判断してパーソナライズしたSkillの作成が可能に

Announcing More Personalized Skill Responses When Alexa Recognizes a Customer’s Voice (Developer Preview) : Alexa Blogs

以前、声によってプロファイルの変更がされるようになりましたが、Skillにもこの情報が送られるようになるみたいです。 詳細な個人の情報ではなく、特定のIDの様な情報が送られてくるだけなので、Skill側はその情報を元に同じ人なのかを判断する形になるみたいです。ですので、プライバシー的にも安心ですね。 まずはデベロッパープレビューに申し込む必要があります。実際のリリースは2018年の何処かになりそうです。

あとがき

個人ユース向けだけではなく、ビジネスユースに広がってきたのはびっくりしました。 オフィスに大量のEchoが置かれる日は遠くないかもしれないですね。

さて、2015年6月にAlexaに興味を持ってから、2年半の月日が流れて遂に日本でもAlexaが使えるようになりました。

qiita.com

今では毎日多くの記事が書かれるようになり、家でも日本語でAlexaを使えるようになりました。 遂にはSkill内課金も登場し、更に多くのデベロッパーが参加してくるんじゃないかなと思います。

そんな訳で、日本語の情報も公式のブログも日本語で登場したので、1年続けてきたこのネタも今回を最終回として一旦終わりにしようと思います。

Alexaについては今後も勉強しつつ、アウトプットしていこうかなと思います。

まずは、2018年2月にAlexaの国内初&最大級のイベントを開催するので、そこに向けて色々とアウトプットを増やしていければなと思います。

alexaday2018.jaws-ug.jp

最近Amazon Alexa界隈で起きたこと(10/1〜10/31)

前回の記事から1ヶ月経って、Amazon Alexa界隈で何が起きたでしょうか。

目次


現時点のSkill数(US)

f:id:sparkgene:20171030175227p:plain

2万6千を超えました! そして、ココ一年ずっと数値を追ってて、初めてカテゴリが追加となりました。 追加されたのは、「kid」カテゴリ。8月に発表された子供向けのSkillですね。 今月はkid向けのSkillコンテストも開始したので、このカテゴリは今後伸びそうです。

Alexa Skills Challenge Offers $250,000 in Prizes for Best Kid Skills : Alexa Blogs

Grand Prizeを取ると、$25,000の賞金が得られるので、これはチャレンジしてみたいコンテストですね。


[10/02] 「Alexa」と「Amazon Echo」が年内に日本に登場

Alexa and Amazon Echo Coming to Japan Later This Year; 「Alexa」と「Amazon Echo」が年内に日本に登場 : Alexa Blogs

遂にAmazon Alexaが日本に来るようです!! 明確な日付のアナウンスはされませんでしたが、「~ Alexaをともに作り上げ、進化を支えてくださるお客様を対象にした招待制での購入が可能に ~」とあるので、まずは一部のユーザーから購入できるのかなと思います。 USでEchoが出た時はプライム会員と招待者が購入ができたので、もしかすると今回もプライム会員が購入可能になるかもしれませんね。 プライム会員だとAmazon Musicといった機能も使えるので、Echoの魅力を存分に味わってもらいたいことを考えると、プライム会員から始めるのは順当かなと思います。

ちょっと深読みすると、”「Amazon Alexa」と「Amazon Echo」” とか書かれており、Echoデバイスが全て出て来ないのかなと想像します。まずはAmazon Echoからってことですかね。 個人的にはEcho Plus、Echo Spot、Echo Show辺りが気になっているので、これらのデバイスがいつ登場するのかが気になります。

[10/04] Alexa Skills KitとAlexa Voice Serviceがインドに上陸

Alexa Skills Kit and Alexa Voice Service Expand to India : Alexa Blogs

Amazon Echo, Echo Plus, and Echo Dotを購入することが可能! 日本と違っていきなり登場しましたねw インドでの対応言語は「English(India)」となっているので、ヒンディー語とかではなく、あくまでも英語圏の拡張という位置づけなのかな。 だから、日本語版と違ってお試し期間を設けずに、一気に導入されたのかなと。 Alexa Dev Day(バンガロールデリー)もインドで開催されるみたいで、羨ましいですね。 試しにURLの都市名をtokyoとか打ち込んでも404になったので、さすがにまだ日本には来ないのかな。。

[10/4] インド向けにSkillをアップデートする方法

How to Update Your Skills for India : Alexa Blogs

すでにUS向けにSkillを公開している人向けに、インド向けの対応をする方法について紹介されています。 Alexaがインドに来ましたが、AVSの方はまだ一般公開されていないようですね。 現在はプレビューの開始が始まったら通知を受け取れるように、デベロッパー登録しておいてねぐらいのアナウンスで終わっているようです。 UKやドイツでも同様でしたので、日本に来る時も同じような感じで、ASKより少し遅れて登場するのかなと思います。

[10/6] ユーザーに愛してもらえる素晴らしいSkillを作る方法

How to Build Standout Alexa Skills Your Customers Will Love : Alexa Blogs

現在人気のSkillになるとお金がもらえるプログラムがありますが、そのような人気のSkillを作るにはどうすれば良いのか、7つの条件として紹介されています。

  1. 声を使うことで、タスクをこなすのが速くなったり簡単になること
  2. Skillの名前が直感的で、記憶に残る名前である
  3. Skillが何を出来るかが明確にされている
  4. Skillがフラストレーションを減らしてくれる
  5. Skillがユーザーに驚きと楽しさを提供してくれる
  6. Skillが新鮮なコンテンツを配信してくれる
  7. Skillが安定している

[10/13] Lambdaを使う4つの理由

Why AWS Lambda? 4 Benefits to Building Your Custom Alexa Skill with AWS Lambda : Alexa Blogs

Skillを作る際にLambdaを使うメリットを4つの理由として紹介しています。

  1. サーバの管理に来取られること無く、素晴らしいVUIの体験の構築に集中できます

Lambdaはフルマネージドなので、サーバの運用をする必要がありません。

  1. SSL証明書を用意する必要がありません

自分でサーバを立てる場合は、Alexa側からはhttpsで呼び出されるので、SSL証明書を導入する必要があります。

  1. アクセスコントロールの管理を気にしなくてよい

IAM Roleでアクセス制限が行われるため、自前でサーバを用意する時のように、不正なアクセスの脅威にさらされることはないです。

  1. Lambdaの無料枠が利用できる

Lambdaの無料枠とともに、申請をして承認されると、毎月$100のAWSクレジットが配布されるので、サーバ費用を抑えることが出来ます。

[10/23] カスタマイズリストについて

Customize Lists on Alexa : Alexa Blogs

今までは、TO-DOリストと、買い物リストの2種類しか利用できませんでしたが、カスタムのリストを追加することが出来るようになりました。 例えば、「週末のパーティー用のリストに"プレゼントを買う"を追加して」みたいなことが出来るようになります。

あとがき

この形式のブログを書き始めてちょうど1年が経ちました。 当時は日本語の記事があまり出ていなかったということで始めたわけですが、今は毎日何かしら日本語の記事が出るようになったのは嬉しい限りです。

そしてそんな中、いよいよ日本での発表が迫ってきたようです。

www.businessinsider.jp

発売日についてはまだわかりませんが、楽しみですね!

最近Amazon Alexa界隈で起きたこと(9/1〜9/30)

前回の記事から1ヶ月経って、Amazon Alexa界隈で何が起きたでしょうか。

目次


現時点のSkill数(US)

f:id:sparkgene:20171001102811p:plain

約2万5千個のSkillとなってきました。 今月は、Music & Audioカテゴリーが大きく伸ばしてきましたね。 USでは波の音とか、雷の音とか、リラックスできる系のSkillが人気なので、そう言ったのが伸びてきたのかな。 ただ、Skillの登録数の伸びは少しゆっくりになってきた印象です。 これだけSkillがあると、自分が気に入るやつを探すだけでも一苦労ですね。


[9/5] Alexa Skill Management API, Alexa Skills Kit Command-line Interface, Events in the Alexa Skills Kit の発表

Announcing Alexa Skill Management API, Alexa Skills Kit Command-line Interface, and Events in the Alexa Skills Kit : Alexa Blogs

Alexa Skill Management API(SMAPI)

skillの管理が可能なAPIが用意されました。 サードパーティーのツールからこのAPIを利用することで、新たな開発ツールの構築が行なえます。

Alexa Skills Kit CLI

SMAPIを利用する Command Line Interfaceです。 CLIツールを利用することで、Skillの登録や更新、テストが簡単に行えるようになります。 Lambdaを含めた管理コマンドも用意されており、開発のスピードアップにも貢献します。

Events in the Alexa Skills Kit

以下のイベントを受け取ることが可能になりました。

  • Account Linked Event
  • Skill Enabled Event
  • Skill Disabled Event
  • Skill Permission Accepted Event
  • Skill Permission Changed Event

これにより、ユーザーに付加価値が高いインタラクションを行うことが出来たり、ユーザーの利用状況を知ることが出来ます。 現状は、管理画面から設定することは出来ないので、SMAPIを利用して有効にする必要があります。 https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/add-events-to-your-skill-with-smapi

[9/6] List Events と Alexa Lists とtwo way syncの紹介

Announcing List Events and Two–Way Sync with Alexa Lists : Alexa Blogs

SkillからTo-doリストや買い物リストにアクセスすることが出来ますが、今まではskill外で行われた操作を知るためには、リストをすべて取得し直す必要がありました。 List EventはListに対して行われた変化をsubscribeすることで、通知を受け取ることが出来るようになりました。 受け取れる通知は以下のものになります。

  • List Items Created Event
  • List Items Updated Event
  • List Items Deleted Event

現状は、管理画面から設定することは出来ないので、SMAPIを利用して有効にする必要があります。 Add Events to Your Skill With SMAPI - Amazon Apps & Services Developer Portal

他のインターフェイス(Web/mobile)とAlexa Skillの連携が必要な場合は、Skill Messaging APIを利用してSkillにメッセージを送ることで、連携させることが可能です。

[9/14] Alexa Voice Serviceのデベロッパー向けサイトをパワーアップしました

Amazon Launches Enhanced Developer Site for the Alexa Voice Service : Alexa Blogs

AVSのサイトが大幅にアップデートされました。

  • CapabilitiesタブでCardの表示設定や、アラーム・タイマーの利用などが簡単に設定できるように
  • 新しいメトリックスとレポートの追加
  • Documentを見やすく分類しました

[9/27] Echo Show Coming Soon to UK, Germany, and Austria

https://developer.amazon.com/blogs/alexa/post/051e0e1f-b77b-4d84-b3ec-a641ce7bedef/echo-show-coming-soon-to-uk-germany-and-austria

イギリス、ドイツ、オーストリアでEcho Showのプレオーダーが始まりました。

[9/27] Alexa Gadgets の紹介:音声UIをもっと楽しくする新しいツール

Introducing Alexa Gadgets: New Tools for Developers to Create Fun and Interactive Voice Experiences—Sign Up to Stay Tuned : Alexa Blogs

Echoボタンという、へ~ボタンみたいなガジェットが登場しました。 これは、AlexaのSkillと連携して遊べるようなガジェットの様です。 Amazon.com: Alexa Gadgets: Amazon Devices & Accessories

まだ、APIなど一般公開されていませんが、これらのガジェット向けのAPIも公開されるようですので、音声だけではなく、ガジェットを使った新しい体験を楽しめるようになります。

[9/27] Smart Homeコンシューマとデベロッパーに新機能を提供

Alexa Delivers Rich, Easy-to-Use New Features for Smart Home Consumers and Developers : Alexa Blogs

Echo Plusでは、smart home hubが内蔵されました。スマートデバイスZigBeeをサポートしており、Amazonの認証を取っていれば、Skillを介さずに直接デバイスの検出と操作が行えるようになりました。

Smart Home Skillのインターフェイスがv3になりました

例えば、電源のON/Offは、turnOn/turnOffから、Alexa.PowerController に変わります。 また、デバイスの操作結果を非同期でAlexaに返すことが出来るようになったので、デバイスクラウドから直接Alexaにステータスを送ることが出来ます。

Skillの画面で、v3を選ばない限り今までのv2のインターフェイスでAlexaからアクセスが来ます。

[9/27] 新製品登場!

今月の目玉はこれですね。ここ最近Amazon.comでEchoが品切れしているので、新型が出るのではと噂されていましたが、まさかこんなにいっぱい出てくるとは思いませんでした。

Alexaのブログより、日本語で書かれた記事のほうが分かりやすいですね。

www.itmedia.co.jp

何気に、7種類になったんですね。こちらの一覧も、比較する際に分かりやすいです。

jp.techcrunch.com

あとがき

初代Echoが発表されてから3年。今では8種類のEchoが登場しており、3rdパーティーを含めたら、とんでもない数のデバイスがAlexaに対応しました。 音声UIはまだ始まったばかりなので、Echo ShowやEchoボタンの様な音声以外のUIとの組み合わせもどんどん出てきてきたりと、まだまだ最適解を探しているような状態ですが、これからもっと便利になっていきそうですね。

US以外でEcho Showが販売されるまでしばらく掛かりましたが、日本にAlexaが登場する際もそんな感じに、少しづつ入ってくるのかな。 とりあえずは、Alexaの日本語版はよっ。

最近Amazon Alexa界隈で起きたこと(7/31〜8/31)

前回の記事から1ヶ月経って、Amazon Alexa界隈で何が起きたでしょうか。

目次


現時点のSkill数(US)

f:id:sparkgene:20170901221250p:plain

今月も約3000個のSkillが追加され、Skillの総数が2万件越えてきました。 昨年の10月からのSkillの増え方をグラフにするとこんな感じです。 去年の10月から5倍と、順調に増えていってますね!

f:id:sparkgene:20170902123809p:plain


AVSでDisplay Cardsを使ってマルチモーダルな体験の作り方

How to Build Multi-Modal Voice Experiences Using Display Cards for AVS : Alexa Blogs

この記事では、AVSを利用したデバイスでどうやってEcho Showで利用されているdisplay templateを使うかを簡単に解説しています。 AVSのサンプルソースでは、すでに受信したdisplay cardsの情報をjsonで吐いてくれるサンプルが含まれているそうなので、Echo Showの様な画面付きのデバイスを開発する際の参考になりそうです。


List Templateの正しい使い方

Designing Skills for Echo Show: Choosing the Right List Template : Alexa Blogs

前回は、Body Templateの使い所を説明していましたが、今回はListの使い方について解説しています。

List Template 1は垂直方向にアイテムを表示してくれるリストです。

  • 発話例の一覧
  • 銀行の取引履歴
  • 食材の一覧
  • 目次
  • タイムテーブル といった情報を表示するに適したレイアウトとなっています。

表示できるテキストは3ヶ所となっているので、食材名、分量、カロリーみたいなレイアウトで表示することが可能です。

List Template 2は水平方向にアイテムを表示してくれるリストです。 このリストでは画像が必須となるので、本、映画、ビデオといった、目で見て理解しやすい物を表示するのに適しています。 画像は正方形、縦長、横長といった種類の画像にも対応しています。

Qiitaの方にサンプルソースを解説しているので、実際にskillを作ってデベロッパーコンソールで表示を確認することができます。

qiita.com


良いスキルを作るデベロッパーはお金が稼げます

Developers Earn Money for Eligible Skills Customers Love : Alexa Blogs

前に、ゲーム、トリビアのカテゴリで評価の高いSkillを開発したデベロッパーには、Amazonからお金をもらえるというプログラムを開始しましたが、 今回のアナウンスで、対象となるカテゴリが増えました。

  • Education & Reference
  • Food & Drink
  • Health & Fitness
  • Lifestyle
  • Music & Audio
  • Productivity

噂によれば、DAU 10万ぐらいのSkillだと、$5,000位もらえるとか。


商用デバイスメーカー向けのAVS SDKの紹介

Introducing the Alexa Voice Service Device SDK for Commercial Device Makers : Alexa Blogs

今まで提供されていたサンプルはJavaベースでしたが、今回のはC++ベースのライブラリを提供してくれるものです。

SDKには、AVS APIを活用して、スピーチ認識や合成、ストリーミングメディア、タイマーとアラーム、通知、天気予報、数千のカスタムスキルなどのその他の機能を含む、Alexaのコア機能を処理するケーパビリティエージェントも含まれています。


Echo Show向けのSkillの審査で失敗しないためのTips

Tips for a Successful Echo Show Alexa Skills Certification : Alexa Blogs

  1. Alexaの喋る音量とSkillが利用する音声データの音量を合わせましょう

text-to-speechでAlexaが喋る音量と、skillで音声データや動画を利用する場合に、音量が極端に違うとユーザーはそのためにボリュームの調整が必要となり、非常にストレスです。 ガイドがあるので、参考にして調整しましょう。 https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/normalizing-the-loudness-of-audio-content

  1. GUIの挙動を正しく組み込みましょう

実際に審査に上がってくるEcho Show向けのSkillで画面をタップしても正しい画面に遷移しなかったりする物があるようです。 正しく実装して、ユーザーが迷わずに操作できるようなUIを心がけましょう。

  1. 画面にはユーザーが読める文字だけ表示しましょう

既存のサービスで利用しているデータをそのまま利用すると、たまにHTMLタグが含まれていたり、記号など読めない文字が含まれていることがあるそうです。そのようなSkillだと、審査に落ちてしまうのでちゃんと確認しましょう。

  1. 著作権に気をつけましょう

Echo Showでは画像や動画など、外部から引っ張ってきて表示することが出来ます。しかし、Amazonではそれが無断で利用された著作物なのか、商標に該当するかまではわかりません。 もし、Skillでそのようなコンテンツを利用する場合は、利用を停止するか、そのコンテンツを利用する権利を持つことをAmazonに示す必要があります。

Amazon.com Help: Trademark Usage Guidelines


バイスメーカーにさらに新しい音楽体験を追加出来るようになりました

AVSに新たなる機能が追加されました。

  • Connected Speaker APIs
  • Multi-Room Music SDK

Connected Speaker APIs

バイスメーカがクラウドベースのサービスをAVSに接続できるようにします。 デバイスメーカーがこれに対応することによって、自分たちのスピーカーシステムをAlexaから操作できるようになります。

Multi-Room Music SDK

先日発表された新しい機能で、複数のEcho端末に対して音楽を再生させるというのが発表されました。

Alexa’s new music feature makes your speakers work like Sonos - CNET

このSDKを利用することで、デバイスメーカーがAlexa対応のスピーカーをグループ化されたAmazon Echoなど一緒に音楽を再生することが可能になります。


子供向けのSkillが開発できるようになりました

Alexa Now Supports Kid Skills : Alexa Blogs

13歳未満の子供に向けたSkillをリリースすることが出来るようになりました。 ユーザーがSkillを利用したい場合は、親による承認プロセスを経る必要があります。


あとがき

今月の後半は、色んなデバイスメーカーからAlexa対応のスマートスピーカが発表されました。

そして、最も興味深い話として、MicrosoftのCortanaとAmazon Alexaが相互に連携できるようになるという発表がありました。

gigazine.net

Google Homeと比べるとAlexaは曖昧なワードでの検索みたいな部分が弱かったですが、Cortanaの無効にあるBingと繋がれるようになれば、苦手だった部分が克服できます。 また、Cortanaからビジネス領域では絶大なるシェアを持つOffice 365と言った、部分にアクセスできるようになるので、toCだけではなくtoBの部分でも利用が考えられます。 もちろん、CortanaはAmazonのECだったりAmazon MusicやVideoと言ったエンターテイメントの部分とも連携できるようになるかもしれないので、どちらにとっても良い提携話だったのではないでしょうか。

こういった感じで、それぞれのプラットフォームの良さをお互いが補完できるように連携できると、ユーザーとしてはどんどん使いやすくなっていくので、大歓迎ですね。

最近Amazon Alexa界隈で起きたこと(6/30〜7/30)

前回の記事から1ヶ月経って、Amazon Alexa界隈で何が起きたでしょうか。

目次


現時点のSkill数(US)

f:id:sparkgene:20170730155703p:plain

今月も3000個以上のSkillが追加され、2万の大台も目前という状態になりました。 先月に引き続き、Dotのキャンペーンが行われているので、すごい勢いで追加されていますね。

審査のスピードも上がっっているように感じます。 先日、AWSのリリースを答えてくれるFlash Briefing Skillを審査に出してみたら、1日で通ったので前よりもかなり速くなったと思います。


[6/31] ドイツで照明操作用のSmart Home Skillが対応された

Understanding the Smart Home Skill API - Amazon Apps & Games Developer Portal

Smart Home Skillによる照明の操作自体は以前から利用可能でしたが、それは照明をON/OFF出来るだけのものでした。今回の対応により、「温かい」や「涼しい感じ」みたいな表現で照明の色を変更することが出来ます。 詳しくは前に解説した記事を参考にしてください。

[6/30] Echo Show向けのSkillの作り方

How to Build Alexa Skills for Echo Show : Alexa Blogs

Echo Showはディスプレイを搭載しているので、音声の返事だけで完結せずに、ディスプレイに表示された一覧をスクロールさせたり、動画を再生したりと、よりリッチな体験ができるようになりました。

Echo Show用に追加されたIntentやTemplateという仕組みについて紹介されています。動画の再生は実機じゃないとダメなので、Template周りについて調べた記事を別で書いたので、詳しく知りたい場合はそちらを見てみてください。

qiita.com

[7/5] Flash Briefing Skillの審査を通すためのTips

Tips for a Successful Alexa Flash Briefing Skill Certification : Alexa Blogs

Flash Briefing Skillの審査がスムーズに済むようにする方法について紹介されています。

  1. 音量を調節しましょう。

Alexaが喋る音量と、Flash Briefing Skillでオーディオファイルを利用してニュースを喋られた時に、音量の差が大きいとユーザーにとって凄くストレスとなるので、ちゃんと調整しましょう。

音量のガイドライン

2.日付を更新しましょう

フィードに含まれている日付が7日以上前の場合、Alexaはそのコンテンツを無視します。また、Skill登録時に更新頻度が7日以上だと登録できないので、日付をちゃんと更新しましょうということです。

3.意図しない発話をしないように

フィードに特殊記号(HTML, XML, SSMLタグなど)など含まれていると正しく喋ってくれないので、フィードの中身をちゃんと確認しておきましょうということ。

Flash Briefing Skillの審査に出す際のチェックリストが公開されているので、これで確認しておくと良いでしょう。

Flash Briefing Skill Certification Checklist - Amazon Apps & Services Developer Portal

[7/6] Alexa Dev Days開催

Introducing Alexa Dev Days – Learn to Create Voice Experiences at Free, Interactive Events from Amazon : Alexa Blogs

来年の2月まで、25の都市でライブデモ、セッション、ワークショップを含むAlexa Dev Daysというイベントを開催するようです。(残念ながら日本での開催はない)

オンラインのウェビナーは毎週開催していましたが、このようなリアルイベントが開催されるのは、いろんな人と会えるのでいいですね。

Twitterでもイベントの雰囲気が紹介されていました。

[7/7] シノニムの設定がSkill Builder Betaで楽になる

先日発表されたシノニムですが、Skill BuilderのGUIで入力できるようになりました! シノニムを利用すると単語の揺れをSlot側で吸収することが出来るので、Skill側のコードがスッキリしますので、Skillを作る時に使えるのならシノニムを導入するといいですね。

[7/12] Echo Showの体験を最大限にするための7つのTips

7 Tips for Creating Great Multimodal Experiences for Echo Show : Alexa Blogs

1.Echo Showの新機能を使いましょう

ディスプレイにはテキスト、画像、動画を表示できるようになりました。適切なサイズと容量を守ることでロード時間を短くすることが出来、ユーザー体験が向上します。 背景に画像を利用する場合は、テキストが見えなくならないように、少しぼかし、透過率70%ぐらいの黒いレイヤーを載せると良いです。

2.すでにリリースされている素晴らしいSkillを参考にしましょう

Allrecipes, Bloomberg, Uber, Jeopardy といったSkillはEcho Showの魅力を最大限に引き出している物なので、実際に試してみるのが良い。

3.Echo Showを遠くからでも使えるようにデザインする

ユーザーが必ず画面を見るとは限りません。ユーザが見ていない、または2メートル離れても使いやすいようなレイアウトを利用しましょう。

4.Templateを利用して一貫性のあるUIを作りましょう

レイアウトが統一されるので、Template機能を使いましょう

5.画面の表示と発話を合わせる

画面に表示していることと違う內容を音声で流すとユーザーが混乱します。まずは音声を優先させた作りを心がけましょう。

6.テキストは簡潔に

テキストと発話を完全に一致させる必要はありません。テキストを表示する時は発話を短くして、読むのを速くするのも良いでしょう。

7.ヒントを利用しましょう

Hintを表示することで、ユーザーにどんなコマンドがあるかを知らせることが出来ます。コマンドを知ることで、ユーザーはSkillで何が出来るのかを知ることが出来ます。

[7/25] Skillにアカウントリンキングを上手に追加する10のTips

10 Tips for Successfully Adding Account Linking to Your Alexa Skill : Alexa Blogs

1.審査に出す時は複数のテストアカウントを用意しよう

審査をする際に、テストアカウントが1つだけだと十分にSkillの魅力を引き出すことが出来ないかもしれません。 例えば注文履歴などを見る機能があるとするなら、新規に追加されたアカウントだけではその機能をテストすることが出来ません。そのような場合は、履歴をいっぱい持っているアカウントも提示して審査に出すと良いでしょう。 このように色んな状態のテストアカウントと操作手順を用意することで、審査がスムーズになります。

2.ログインページでは混乱させないようにしましょう

ログインページが別のサービスを利用している場合は、ユーザーがリンクしようとしたサービスと違うと勘違いしてしまい混乱する可能性があります。ログインページではカスタマーに分かりやすいよう、サービス名やメッセージを伝えましょう。

3.サービスと同等のサインイン・サインアップ機能を提供しよう

既存のサービスがFacebookTwitterGoogleAmazonなどのアカウントを利用してログインできるのであれば、Skillのアカウントリンキングでも同じように選べるようにしておきましょう。そうしないと、一部のユーザーがログインできないと行った問題がでてきてしまいます。 またサインアップに対応しているのであれば、アカウントリンキングでも同じようにサインアップ出来るようにしましょう。

4.アカウントのリカバリーに対応しましょう

アカウントリンキングする時に、ユーザーがパスワードを覚えていない可能性があります。パスワードの再発行をするパターンも想定してテストしておきましょう。 また、ログインに失敗するパターンも想定し、ロックしたりCAPTCHAが表示されたりといった動作も確認しておく必要があります。 エラーや失敗した時にユーザーに分かりやすいメッセージを表示するようにすることも大切です。

5.ログインフォームのバリデーションを正しくしましょう

スマートフォンを利用してログインする場合は、コピペで意図しないスペースが含まれたり、英字が大文字になってしまうことが有ります。このような時は正しく入力をチェックして分かりやすいメッセージを表示しましょう。

6.すべての環境でテストしましょう

多くのアカウントリンキングはスマートフォン上で行われますが、それでもOSの種類やバージョンブラウザの違いが多くあります。PCを利用した場合は更に多くのOSとブラウザの種類があります。これらの環境で正しく行えることを確認しましょう。

7.ナビゲーションの確認

ログインページにリンクがある場合、正しく動作することを確認しましょう。審査でもこれらのリンクをテストします。リンク先から戻ってきた時にその後の処理が正しく動くことも確認しましょう。

8.ヘルプを用意しましょう

アカウントリンキングでログインが出来ずに困るユーザーもいます。そのようなユーザーにはヘルプやカスタマーサポートへ問い合わせる手段を用意しましょう。

9.必要な場合のみ使いましょう

同一セッション内でのユーザーの判別は、アカウントリンキングを利用しなくても出来ます。アカウントリンキングを導入することによって、本来音声だけで操作できるのが、人の手を介す必要が出てきてしまうため、シームレスではなくなります。 住所と言った情報を取得出来るAPIも用意されていますので、本当に必要な時だけ利用するようにしましょう。

10.レスポンスヘッダーのサイズに注意しましょう

HTTPヘッダーサイズには文書化された制限はありませんが、ページローディングの問題を避けるために2,000文字以下に抑えることが良いです。 そうすることで、OAuthアカウントのリンクとは無関係の不要なCookie値を排除する必要が出てくる場合があります。

最後に、

ログインが正常にできたらAmazonのページにリダイレクトするのを忘れないようにしましょう。

最近Amazon Alexa界隈で起きたこと(5/31〜6/29)

前回の記事から1ヶ月経って、Amazon Alexa界隈で何が起きたでしょうか。

目次


現時点のSkill数(US)

f:id:sparkgene:20170629214918p:plain

今月は3000個ぐらいのSkillが追加されました。凄いですね!

理由はおそらく、Skillを公開するとDotが1個もらえるってキャンペーンを開催したからと思います。

f:id:sparkgene:20170629215222p:plain

そんなわけで、総Skill数は1.6万を超えました。

f:id:sparkgene:20170629215333p:plain

このグラフを見て分かるように、Games, Trivia & Accessoriesが大きく増えています。


[5/31] Alexa Skill Metrics DashboardにSmart Home SkillとFlash Briefing Skillのメトリックスが見れるように

Use Alexa Skill Metrics Dashboard to Improve Smart Home and Flash Briefing Skill Engagement : Alexa Blogs

今まではCustom Skillのメトリックスしか見れなかったのですが、Smart HomeやFlash Briefing Skillでも利用状況が見れるようになりました。「Flash Briefing skill usage metrics can take up to 28 hours to appear.」と注意書きがあるので、一日ちょっとしてから数字が反映されそうですね。 一般的なアプリでもそうですが、リアルタイムで利用状況を確認したい場合は、Datdogなど他のサービスを利用して自分で数値を収集するほうが良さそうですね。


[6/5] Amazon AlexaのVUIのデザインガイド登場

Introducing the Amazon Alexa Voice Design Guide : Alexa Blogs

通常のアプリケーションを開発するときにも、ユーザーが何を求めてて、サービスはどんな価値を提供できて、といったことを最初に考ええて、UXの設計をすると思います。 音声のUIでも同じで、Skillがどんな価値を提供でき、ユーザーはどんなシチュエーションでSkillを使い、どのように会話を成り立たせるのがUXとして良いのかを考える必要があります。 この資料では、どういった観点でVUI(Voice User Interface)を考え、実際にユーザーとAlexaの会話の例を書き起こして設計する方法についても説明しています。

Google Assistant SDKでも同じようにVoice Designについて解説してるページがあります。

https://developers.google.com/actions/design/

Googleの方はVoice Designの解説に力を入れててすごく良い資料になっているので、そっちも見ながらAlexa Skillを作ると良いものができそうです。もちろん、Google Assistant SDKを使ってGoogle Home向けのAction(Skill)を作るのも良いと思います。


[6/7] Skillで利用するAudioのボリュームを調整しよう

How Loud Is Too Loud? Tips for Setting Your Alexa Skill's Audio Volume Level : Alexa Blogs

ユーザーは色んなSkillを使います。そのなかで、自分が作成したSkillに含めたオーディオの音レベルが他と極端に違うと、ユーザーにとってはものすごくストレスです。 この記事では、そのようなSkillにならない様に、オーディオのマスターレベル推奨値やフォーマットについて紹介しています。 ユーザーの不満はそのままSkillのレビューに反映されるので、こういった気遣いも大事ですね。


[6/8] AlexaついにVideoを操作できるように

How to Control Your Content with the Video Skill API : Alexa Blogs

Amazon Enables Video Providers to Control Content with the Video Skill API - a New Addition to the Alexa Skills Kit : Alexa Blogs

最新のFire TVではAlexaも使えるようになっています。今回発表されたVideo Skill API では、Fire TVで動画サービスを提供しているアプリケーションをAlexaから操作できるようになるというものです。 例えば、「Alexa, Nexflixで進撃の巨人が見たい」みたいに話しかけると、Nexflixのアプリで再生を始めることができるようになります。 現在提供されている操作は、以下のものです。

  • ChangeChannel
    • チェンネルの選択
    • 発話例「Alexa, change channel to 200 on device」
  • PlaybackController
  • RemoteVideoPlayer
    • 検索して再生(SearchAndPlay)
    • 検索して詳細を表示(SearchAndDisplayResults)
    • 自由な検索(Handling Ambiguous Play Requests)
      • この場合は、実装する側の判断で、再生させるのか、リストを表示するのかを返します
  • SeekController
    • 特定のポジションまでのシーク
    • 発話例「Alexa, skip 30 seconds on device」

音声で操作できるアプリケーションは、Alexa.Discoveryインターフェイスに対応しておく必要があり、そのレスポンスで上に書いたどの操作ができるかを返す必要があります。


[6/21] Slotでシノニムが使えるように

Announcing Alexa Entity Resolution : Alexa Blogs

任意の曲を再生するSkillを作っていたとして、ユーザーが曖昧な表現で言ってきても再生させたいとします。 例えば、ユーザーがマイケル・ジャクソンの曲を流してほしい場合は、以下のように言ってくる可能性があります。

  • Alexa, play Michael Jackson
  • Alexa, play MJ
  • Alexa, play Mike
  • Alexa, play King Of Pop

このような場合は、それぞれのワードをカスタムSlotに登録して、Skill側でどの発話でもマイケル・ジャクソンをリクエストしてきているんだなと判断する必要がありました。 今回の機能によって、事前に以下のようなSlotを定義しておくと、これらの判定はSkill側で行う必要はなくなり、Alexa側で判断して mj と送ってくれるので、Skill側のハンドリングを減らすことが出来ます。もちろん、実際に King Of Pop と発話していたらその情報も送ってきます。

{
  "types": [
    {
      "name": "artist",
      "values": [
        {
          "id": "MJ",
          "name": {
            "value": "mj",
            "synonyms": ["Michael Jackson","MJ","Mike", "King Of Pop"]
          }
        }
      ]
    }
  ]
}

[6/22] Smart Home Skillでカメラが使えるように

Introducing Smart Home Camera Control with Alexa : Alexa Blogs

Echo Showで外部のカメラからの動画を再生できるようになりました。 この動画を見ると「Alexa、show me the front door」と話しかけることで、カメラのリアルタイムな映像がEcho Showに表示されているのがわかります。

www.youtube.com

Echo Showにリアルタイム動画を表示させる要件として以下のことが要求されています。

分類 仕様
Media streaming and transport RTSP controlling media transmission over RTP
Underlying transport protocol Interleaved TCP on port 443 (for both RTP and RTSP)
Feed encryption TCP socket encryption on port 443 with TLS 1.0
RTSP 1.0 Command support implementation DESCRIBE, SETUP, PLAY, and TEARDOWN commands are required although a full RFC compliant implementation of RTSP 1.0 is recommended
Video format H.264
Audio format AAC/G711
Feed authentication HTTP Digest authentication

Alexaから動画の表示を要求された際のレスポンスは以下のフォーマットです。

{
      "header": {
          "namespace":"Alexa.ConnectedHome.Query",
          "name":"RetrieveCameraStreamUriResponse",
          "payloadVersion":"2",
          "messageId":"ABC-123-DEF-456"
      },
      "payload": {
          "uri": {
              "value":"rtsp://link.to.video:443/feed.mp4"
          },
          "imageUri": {
              "value":"https://link.to.image/image.jpg"
          }
      }
}

特定のURIを渡すと、Echoの方から直接カメラ(もしくは中継器)にリクエストが行くみたいですね。 ということは、ラズパイのカメラで撮影したものをEcho Showで表示するみたいなこともできそうです。 これは、実験してみたいですね〜〜、はやくEcho Show日本に来ないかな。


[6/28] Echo Showで使えるVideoとDisplayの仕様が追加されました

Build Skills for Echo Show: New Alexa Skills Kit Features for Display and Video Interfaces : Alexa Blogs

Echo Showが発表されてからずっと気になっていた機能の仕様がでてきました。 Showの画面に表示されるのはCardの拡張かと思っていましたが、Displayという新しいインターフェイスが追加されました。 既存のEcho AppなどにはCardでUIを表示し、Echo Showのようなディスプレイを持ったデバイスにはDisplayとtemplateを使って表示します。

Display Interface Reference - Amazon Apps & Services Developer Portal

Displayでは複数のtemplateが用意されています。

テンプレート 表示できるもの
BodyTemplate1 タイトル、詳細、アイコン、背景画像
BodyTemplate2 タイトル、詳細、アイコン、背景画像、画像(右側)
BodyTemplate3 タイトル、詳細、アイコン、背景画像、画像(左側)
BodyTemplate6 詳細、背景用のフルスクリーン画像
ListTemplate1 タイトル、アイコン、背景画像、テキストのリスト表示(縦)、リストのサムネイル
ListTemplate2 タイトル、アイコン、背景画像、サムネイルのリスト表示(横)、サムネイルの下にテキスト

詳細ではプレーンテキストとリッチテキスト(一部のHTMLタグが利用可能)が利用できます。

VideoApp Interface Reference - Amazon Apps & Services Developer Portal

Echo Showでのビデオ再生はGUIによるビデオ操作と、音声による操作が可能です。 利用できるビデオは、HLSとH.264の2種類。

以下のように再生する動画のURLを指定するので、自分が用意した動画を再生させることも可能です。

"videoItem":
  {
    "source": "https://www.example.com/video/sample-video-1.mp4",
    "metadata": {
      "title": "Title for Sample Video",
      "subtitle": "Secondary Title for Sample Video"             
   }
}

期待していた仕様が満たされているので、実際に使うのが楽しみです。


あとがき

待ちに待った、Show向けの仕様が出揃ってきましたね。数日前からUSでEcho Showの出荷が始まったようなので、それに合わせて出してきたようです。 デバイス側がだんだんリッチになってきており、Skillを開発する際も実機じゃないと動作確認できないので、Echo Show向けのSkillを開発するのも段々大変になってきたように思えます。

今回は新しく追加された機能を中心に紹介したので、あんまりAlexa界隈で起きたことはないですね。 というのも、最近は日本語の記事で海外のAlexaネタが多く出るようになったので、タイムリーなやつはそっちにお願いして、ここはAlexaの技術周りの話に絞っていこうかなと思いました。

Microsoft Azureと戯れてみた

AWSは公私共に使う機会が多く、GCPも最近仕事で触るようになってきました。

しかし、ガートナーのレポートによればクラウドIaaSではMicrosoftが2番と書かれているのだけれども、一度も使ったことがなかったのでどんなものかを試してみることにしました。

AWSにもありますがオンラインのトレーニングがAzureにも有り、「AWS の専門家のための Microsoft Azure」と言う、いかにも私みたいな人に向けた物が用意されていたので、これを試してみることに。

AWS の専門家のための Microsoft Azure | Microsoft Learning

今回始めてAzureのアカウントを作ったのですが、初回登録時に20,500円分のクレジットが付与されたので無料で色々と試す事ができました。

このオンライントレーニングは、以下のような複数の章立て(モジュールと書かれているけど)になっていて、段階的に学ぶことが出来ました。

AWSとAzure」ではAWSとのサービスとAzureのサービスの表があり、どのサービスがAzureで代用できるかが確認できました。 想像していたよりも多くのサービスがAzureでも用意されていて、ちょっとしたサイトどころか大規模なサイトを構築する場合でも、不自由しないで構築できそうなことがわかりました。

MicrosoftだからといってWindowsサーバが必須ってこともなく、Linuxの主なディストリビューションを利用してサーバを構築することも可能です。 そのあたりが詳しく書かれているのが「Azure上のLinux」の章。 普段はAmazon Linuxを使うことが多いので、AzureでもLinux系のOSを利用できるのは良いですね。

仮想マシン」の章では実際にAzureのマネージメントコンソールを利用してLinuxインスタンスを立ち上げるラボと言われるセッションも有り、実際に操作しながらAzureを理解できる作りになってました。

このマネージメントコンソールにダッシュボードって機能があって、自分で表示したい情報を選んでデザインすることが出来、実際に起動しているインスタンスの状態とかを俯瞰して見れるようなダッシュボードが作れます。

blogs.msdn.microsoft.com

これすごくいいな〜と思って、AWSにもこんな機能が欲しい。

マネージメントコンソールでもう一ついいな〜と感じたのは、ブレードと呼ばれるUIで、メニューからアイテムを選ぶと右にドンドン追加されていって、使いやすかったです。 f:id:sparkgene:20170622223617p:plain

とは言え、実際に運用し始めたらGUIで操作して環境作るのはそんなに現実的ではないので、それほど使わないかもしれないけど。。

トレーニングの中ではGUIでの構築だけではなく、CLIを使った構築も学ぶことが出来ます。 資料のCLIバージョンが少し古いせいか、最新をインストールして進めようとしたら、オプションとかが違ってそれを調べながら進めるのはちょっとめんどくさかった。(そのおかげで、理解が深まった感はありますがw)

Resource Managerの章では、AWSで言うCloud Formationみたいなテンプレートの使い方を学ぶことになるのですが、GUIでブレードで操作してインスタンスを立てる際の情報もテンプレートとしてダウンロードしたり、ライブラリとして登録できるので、くり返し同じ作業が必要な時などはこれを使えば、簡単に構築ができそうです。 AWSでも同じような感じでGUIの結果をCloud Formationのデータとしてダウンロードできると便利だなと思いました。

最後の章は「Azure Active Directory」について学ぶのですが、オンプレミスのActive Directoryとの連携とかを詳しく学ぶので、現在のオンプレの資産を活かしつつAzureを使ったパブリッククラウドも利用したい人にはすごくいい内容なのではないでしょうか。

一通りトレーニングを終えると、理解度確認の課題が用意されており、Azureについてどれぐらい理解できたかを確認することが出来ます。

f:id:sparkgene:20170623134023p:plain

52%。。すごく微妙な数字。。。70%がボーダーなので、まだ修行が足りないってことですね。 間違えている問題は確認できるので、そこを再度見直せば良さそうです。

あとがき

今までAzureは使ったことが無かったけど、無料枠を使いながら基本的なことを学べたのは良かったです。 コースの概要では16h〜24hかかるってあったけど、12〜13hぐらいで終わりました(だから52%しかいかないんだよというツッコミ)。 業務ではADを使うことはあまりなかったので、個人的にはAzure Active Directoryのパートは別の内容になってたほうが良かったという印象ですが、AWSの知識はあってゼロからAzureを勉強するにはちょうどいい内容じゃないかと思います。

FunctionsやIoT Hubなど面白そうなサービスもいっぱいあり、これらも別のコースで学ぶことができるので、そのうちやってみたいと思いました。