2017 年の記事

2017年を振り返って

· Other

2017年も残りわずかとなりました。毎年必ず振り返りエントリを書いてますが、今年も書いてみたいと思います。 娘が4歳になりました ![conclusion20171.jpg](/yoichiro/images/2017/12/conclusion20171.jpg) 4月から幼稚園の年少さんとなりました。行けるかな〜、毎日泣いちゃうかもなぁ、という心配をしていましたが、まったくの無用でした。 楽しく毎日通っています。 度重なる風邪 ![conclusion20172.jpg](/y…

Read more →

GoogleアシスタントアプリからAndroidアプリを起動する方法

· actions on google

2017年12月19日に、Android開発者向けにGoogle Play APP DOJOというイベントが行われました。これは毎月行われているイベントです。 [Google Play APP DOJO 案内ページ](https://events.withgoogle.com/appdojojp/) 今回のテーマは、「Android x Dialogflow/Actions on Google」ということで、最近僕が没頭していることが内容でした。講師として 僕にもお声がかかり、資料などを準備…

Read more →

Googleアシスタント向けアプリの掲載が始まった模様です

· actions on google

Googleアシスタントは、Android端末やGoogle Home、Android TV搭載のテレビ、ChromeOS、そしてiOS向けのGoogleアシスタントアプリなど、 本当に皆さんの身近にいる存在です。Actions on Googleの提供によって、Googleアシスタント向けアプリの開発と提供が可能になりましたが、公開 されたアプリを発見するための場所が今までありませんでした。Amazon Alexa向けのSkillは、Amazon Alexaアプリの中で探すことができますが、 …

Read more →

Conversations "Basics"の日本語訳です

· actions on google

Googleアシスタントが生息するデバイスは主に2つの形態があります。Googleアシスタント向けアプリの開発では、これらの存在を意識して、ユーザに最適なUIを提供しなければなりません。 音声のみのデバイス(Google Homeのような)。 音声と画面を持つデバイス(Androidのような)。 Actions on Googleのドキュメントにある[Conversations - Basics](https://developers.google.com/actions/assista…

Read more →

Localization "Fulfillment"の日本語訳です

· actions on google

Googleアシスタントは、既に複数の言語をサポートしています。その中には、当然英語と日本語も含まれています。Actions on GoogleによるGoogleアシスタント向けアプリの開発では、同時に複数の言語に対応したアプリ開発をすることが可能です。ユーザに返事を返すのは主にフルフィルメントの役目ですので、フルフィルメントの実装には国際化のための実装が含まれることになります。 Actions on Googleのドキュメントにある[Localization - Fulfillment](h…

Read more →

Build with Actions SDK "Deploy Fulfillment"の日本語訳です

· actions on google

Actions SDKを使ったGoogleアシスタント向けのアプリにおいて、作成したフルフィルメントを呼び出すためには、フルフィルメントをデプロイしてインターネット上から利用可能な状態にして、そのエンドポイントURLをアクションパッケージ内に記載することが必要です。Firebase Cloud Functionsとしてフルフィルメントを開発していた場合には、Firebaseにデプロイ後に決定されるURLを登録することになります。 Actions on Googleのドキュメントにある[Buil…

Read more →

Build with Actions SDK "Submit Your App"の日本語訳です

· actions on google

Actions SDKを使ったGoogleアシスタント向けアプリの開発が完了した後は、実機でのテストを経て、承認プロセスを通過するためにレビュー依頼を提出することになります。それらには、gactionsコマンドを使います。 Actions on Googleのドキュメントにある[Build with Actions SDK - Submit Your App](https://developers.google.com/actions/sdk/submit-app)にて、それらの手順が説明され…

Read more →

Build with Actions SDK "Build Fulfillment"の日本語訳です

· actions on google

Googleアシスタント向けのアプリにて、実際にユーザからの入力を処理して返事を返すのは、フルフィルメントの役目です。Actions SDKを使ったアプリにおいても、フルフィルメントを作ることになります。 Actions on Googleの[Build with Actions SDK - Build Fulfillment](https://developers.google.com/actions/sdk/fulfillment)では、フルフィルメントをどう実装すれば良いかが説明されてい…

Read more →

Build with Actions SDK "Define Actions"の日本語訳です

· actions on google

[プロジェクトとアクションパッケージの作成](https://www.eisbahn.jp/yoichiro/2017/11/actionsongooglebuildsdk2.html)が終わった後は、具体的なアクションを定義していきます。アクションは、ユーザがアプリをアプリ名によって呼び出した際に起動されるデフォルトアクションや、付帯情報(○○を使った△△と話す、のような)を伴ったアクションの呼び出し(具体的な、が転じて「深い(Deep)」という表現が使われます)、つまりディープリンクを行うた…

Read more →

Build with Actions SDK "Create a Project and Action Package"の日本語訳です

· actions on google

Actions SDKを使ってGoogleアシスタント向けアプリを開発するための第1歩は、プロジェクトの作成と、アクションパッケージの作成です。アクションパッケージの実体はJSONファイルであり、 gactions コマンドでそのひな形を得ることができます。 以下は、[Build with Actions SDK - Create a Project and Action Package](https://developers.google.com/actions/sdk/create-a-p…

Read more →

Build with Actions SDK "Overview"の日本語訳です

· actions on google

Actions on Googleでは、Dialogflowが提供するNLPやその他のリッチな機能を使ったGoogleアシスタント向けアプリの開発だけでなく、Actions SDKを使って、低レベルな(NLPを含むほとんどの処理を自前で)アプリ開発も行うことができます。例えば、コマンド型の簡単なリクエスト/レスポンス形式のアプリであったり、NLPを行うための機構を既に持っていてそれを使いたい場合は、Actions SDKを採用すると良いでしょう。 Actions on Googleのドキュメン…

Read more →

Build with Dialogflow "Number Genie"の日本語訳です

· actions on google

Dialogflowを使ったGoogleアシスタント向けのアプリ開発の手順について、総決算として「Number Genie」という名前の数当てゲームの作り方が、Actions on Googleの[Build with Dialogflow "Number Genie"](https://developers.google.com/actions/dialogflow/tutorials/number-genie)に掲載されています。以下は、その日本語訳です。 ここに書かれている内容が、ほとん…

Read more →

Build with Dialogflow "Deploy Your App"の日本語訳です

· actions on google

[フルフィルメントのデプロイ](https://www.eisbahn.jp/yoichiro/2017/11/actionsongooglebuilddialogflow6.html)まで済んでいれば、あとはアプリをデプロイして承認プロセスに進むことになります。Actions on Googleの[Deploy Your App](https://developers.google.com/actions/dialogflow/submit-app)では、アプリをデプロイして実機(Google…

Read more →

Build with Dialogflow "Deploy Fulfillment"の日本語訳です

· actions on google

[フルフィルメントの構築](https://www.eisbahn.jp/yoichiro/2017/11/actionsongooglebuilddialogflow5.html)では、FirebaseのCloud Functionとしてフルフィルメントを作りました。これをFirebaseにデプロイするための方法が、Actions on Googleの[Deploy Fulfillment](https://developers.google.com/actions/dialogflow/de…

Read more →

Build with Dialogflow "Build Fulfillment"の日本語訳です

· actions on google

Actions on GoogleとDialogflowにてGoogleアシスタント向けアプリを開発する際に、そのアプリの本体とも言えるものがフルフィルメント(Fulfillment)になります。フルフィルメントは、DialogflowからWebhookで呼び出され、ユーザからの入力の解析結果が渡されます。そして、何か処理を行った後に、ユーザに返事をする処理を書くのも、フルフィルメントです。 Actions on Googleでは、Dialogflowでのフルフィルメントの作り方について、[B…

Read more →

Build with Dialogflow "Define Actions"の日本語訳です

· actions on google

Dialogflowを使ったGoogleアシスタント向けのアプリ開発において、[Create a Project and Dialogflow Agent](https://www.eisbahn.jp/yoichiro/2017/11/actionsongooglebuilddialogflow3.html)にてプロジェクトを作成できたら、次はアクションを定義していきます。アクションの作成方法は、Actions on Googleの[Define Actions](https://develo…

Read more →

Build with Dialogflow "Create a Project and Dialogflow Agent"の日本語訳です

· actions on google

[会話の設計]を終えた後は、Dialogflowを使ってアプリを作成していきます。Actions on GoogleのBuild with Dialogflowにある[Create a Project and Dialogflow Agent](https://developers.google.com/actions/dialogflow/project-agent)では、サンプルのスターターアプリをダウンロードし、Dialogflowにてプロジェクトを作成するまでの手順が書かれています。以下…

Read more →

Conversations SSML and Audio "SSML"の日本語訳です

· actions on google

Googleアシスタント向けのアプリでは、基本的にユーザにはテキストから音声合成された結果を「聞かせる」ことになるのですが、時としてもっと異なるものを聞かせたくなることがあります。音声合成を細かく制御するために、またオーディオファイルの再生を指示するために、SSML(Speech Synthesis Markup Language)のサブセットを利用することができます。Actions on Googleの [Conversations SSML and Audio - SSML](https:/…

Read more →

Build with Dialogflow "Design a Conversation"の日本語訳です

· actions on google

Dialogflowを使ってGoogleアシスタント向けのアプリを開発する最初のステップは、Dialogflowを使わずに、まず会話を設計することです。ユースケースを選び、ペルソナを作成して、アプリ名を考え、そしてダイアログ(対話: ユーザとアプリでやり取りされる具体的な会話の内容)を書き出しています。以下は、[Build with Dialogflow - Design a Conversation](https://developers.google.com/actions/dialogfl…

Read more →

Build with Dialogflow "Overview"の日本語訳です

· actions on google

Googleアシスタント向けのアプリは、基本的にはActions SDKを使って開発を行います。しかし、Dialogflowを使うことで、直接Actions SDKを使わなくても、使いやすいIDEや自然言語理解(NLU)、そして機械学習などの追加機能が一通り揃った上で開発を行うことができるようになります。以下は、[Build with Dialogflow - Overview](https://developers.google.com/actions/dialogflow/)の日本語訳です。…

Read more →

Best Practices "In Conversation, There Are No Errors"の日本語訳です

· actions on google

GUIによるアプリでは、ユーザが何か期待していないことを行った時や、システムが予期せぬ状況になった時には、エラーメッセージをユーザに提示することが一般的です。しかし、会話型UIでは、エラーダイアログといったインタフェースはありません。全てが会話です。人間同士の会話でも、突然相手から「○○エラーです」とか提示されることは、あり得ません。その代わり、会話は継続されます。その会話の中で、間違いは自然な形で訂正されていくはずです。 Actions on Googleで掲載されているベストプラクティスの…

Read more →

Actions on Googleの開発者向けドキュメントの日本語訳リスト

· actions on google

Googleアシスタント向けのアプリを開発するための情報が掲載されている [Actions on Google](https://developers.google.com/actions/) - [GUIDES](https://developers.google.com/actions/extending-the-assistant) の各記事の日本語訳です。 いくつか公式ドキュメント側が日本語訳され始めていますので、既に日本語訳されたドキュメントについては、勝手翻訳ではなく公式のページを…

Read more →

Best Practices "Instilling User Confidence Through Confirmations and Acknowledgements"を日本語訳しました

· actions on google

誰かと会話をしている際に、相手が本当に自分が言ったことを理解してくれているのか、とても気になると思います。理解したことを相手が自分に繰り返してくれれば、理解されたんだな、と確認することができます。また、適度に「はい」「オッケー」「わかりました」と、自分が言ったことを相手が肯定してくれれば、さらに会話はスムーズに進んでいくはずです。 Actions on GoogleのBest Practicesの[Instilling User Confidence Through Confirmations…

Read more →

Best Practices "Unlocking the Power of Spoken Language"を日本語訳しました

· actions on google

普段の会話と比べて、自動音声応答に対して「機械的だなぁ」と思ってしまったことは誰しもあることだと思います。これは、ちょっとしたことに気をつけるだけで、避けることができます。どうしてもコンピュータ相手には「命令をする」というイメージで考えがちですが、会話型UIでは、あくまで相手はコンピュータかどうかではなく、「会話相手」として自然に感じるような設計が必要です。 Actions on GoogleのBest Practicesに[Unlocking the Power of Spoken Lang…

Read more →

Best Practices "Be Cooperative...Like Your Users"を日本語訳しました

· actions on google

Actions on Googleのドキュメントサイトでは、会話型UIを設計するために役に立ついくつかのベストプラクティスが掲載されています。最初のベストプラクティスは、[Be Cooperative...Like Your Users](https://developers.google.com/actions/design/be-cooperative)です。ここでは、会話が協力的な原則で成り立っていることをベースとして、ユーザにとって自然な会話型UIを設計するためのポイントや具体例が説明さ…

Read more →

Design in Action "Design Checklist"を日本語訳しました

· actions on google

Design in Actionの[設計原則と方法論](https://www.eisbahn.jp/yoichiro/2017/10/actionsongooglecustomdesign3.html)と[会話を巧みに作る](https://www.eisbahn.jp/yoichiro/2017/10/actionsongooglecustomdesign4.html)を読むことで、Googleアシスタント向けのアプリにてどのように会話型UIを組み立てていけば良いかをイメージすることができる…

Read more →

Design in Action "UI toolkit"を日本語訳しました

· actions on google

[会話を巧みに作る](https://www.eisbahn.jp/yoichiro/2017/10/actionsongooglecustomdesign4.html)にて書き出されたダイアログ(対話)によって、作成したいGoogleアシスタント向けアプリの実際のイメージを掴むことができるようになります。しかし、さらに「その会話をユーザはどのように行うことになるんだろう?」とユーザ体験を確認したくなると思います。 ここでは、Design in Actionの[UI toolkit](http…

Read more →

Design in Action "Design Walkthrough"を日本語訳しました

· actions on google

[設計原則と方法論](https://www.eisbahn.jp/yoichiro/2017/10/actionsongooglecustomdesign3.html)にて、会話型UIを設計するための指針について得ましたが、具体例がないと、なかなかイメージすることは難しいかもしれません。特に、「ダイアログ(対話)を書き出す」ということが何を意味しているのか、最初は想像できないと思います。[Crafting a Conversation](https://developers.google.co…

Read more →

Design Overview "How Conversations Work"を日本語訳しました

· actions on google

[会話型UIとそれが重要な理由](https://www.eisbahn.jp/yoichiro/2017/10/actionsongooglecustomdesign1.html)に続いて、ここでは[Understanding How Conversations Work](https://developers.google.com/actions/design/how-conversations-work)の日本語訳を紹介します。会話型UIの重要性から、会話の仕組みを理解することで、アプリを…

Read more →

Design Overview "Conversational UI and Why It Matters"を日本語訳しました

· actions on google

Google AssistantへのアプリによるUIの提供は、会話型になります。つまり、GUIのような「画面の操作」ではないので、アプリの開発者はどのように会話を組み立てれば良いのか、悩むはずです。Actions on Googleのドキュメントでは、アプリのデザインの概要として、[Conversational UI and Why It Matters](https://developers.google.com/actions/design/)が掲載されています。以下はその日本語訳になります…

Read more →

Build First App with Templatesを日本語訳しました

· actions on google

[前回のエントリ](https://www.eisbahn.jp/yoichiro/2017/10/actionsongooglegetstarted1stappdialogflow.html)では、Dialogflow(旧API.AI)を使ったアプリのチュートリアルドキュメントの日本語訳を紹介しました。ここでは、Dialogflowよりももっと簡単にアプリを作ることができるテンプレートのチュートリアル([GET STARTED - Build Your First App - with Tem…

Read more →

「ソーシャルアプリプラットフォーム構築技法」という本を出版しました

· book

技術評論社より、10月20日から「ソーシャルアプリプラットフォーム構築技法」という書籍が出版されます。2016年の春から書き始めていたので、1年半以上かかってしまいましたが、何とか出版というゴールを迎えることができました。題名の通り、ソーシャルアプリプラットフォームを作るための様々なことについて書かれています。この本を通じて伝えたかったこと、それは「プラットフォームを構築することこそが、インターネットの進化であり、ビジネスそのものである」ってことです。 取り上げている範囲としては、「プラッ…

Read more →

Build Your First App with Dialogflowを日本語訳しました

· actions on google

[前回のエントリ](https://www.eisbahn.jp/yoichiro/2017/10/actionsongooglegetstartedbasics.html)では、Actions on Googleの基本を説明したドキュメントの日本語訳を紹介しました。ここでは、Dialogflowを使ったアプリのチュートリアル([GET STARTED - Build Your First App - with Dialogflow](https://developers.google.com/…

Read more →

Actions on Googleの「GET STARTED - Basics」の日本語訳を作ってみました

· actions on google

Google Homeがついに日本でも発売が開始されました。Google Homeは、Googleアシスタントと声でやりとりすることができるデバイスです。そして、開発者としては、Googleアシスタントに自作のアクションを登録できることに注目すべきですし、その作り方に興味を持つことでしょう。その作り方は、[Actions on Google](https://developers.google.com/actions/)というサイトにまとめられています。 自作アクションを作るために最初に読むべ…

Read more →

LINE Developer Day 2017に参加してきました

· LINE

昨年に引き続き、今年もLINE Developer Dayに参加させていただきました。 ![linedd171.jpg](/yoichiro/images/2017/09/linedd171.jpg) レセプションの横には、Waveの他にも、今後発売予定と思われるスマートスピーカーが並んでました。 ![linedd172.jpg](/yoichiro/images/2017/09/linedd172.jpg) サリーの、欲しい!!! Keynoteが始まるのを待っている間、どんな人が来…

Read more →

Chrome AppsでSentryを組み込んでみた時の話

· Chrome Apps , Sentry

僕はChrome OS(Chromebook/boxに搭載されているOS)向けに、いくつかのChrome Appsをリリースしています。そのほとんどは、Chrome OSにてリモートにあるファイルシステムを、あたかもローカルにあるようにマウントすることができるchrome.fileSystemProvider APIの実装です。Dropbox、SFTP、OneDrive、SMB、WebDAVの4つの実装を作りました。その中で、最もユーザ数の多い実装が、Dropboxです。 [File Syst…

Read more →

macOSでのChrome Appsや拡張機能の通知に関する変更

· Chrome Apps , Chrome Extensions

Chromeウェブストアに開発者登録している方は、おそらく「Changes to Apps and Extensions notifications on macOS」という題名のメールを受け取っていると思います。Chrome 59から、chrome.notifications API経由で送信された通知について、Chromeが独自に提供してきた機構ではなく、macOS側が持つ通知システムにて表示されるように変更される、とのことです。 ![](https://developers.google…

Read more →

Increments社を退職します

· Other

昨年の5月からIncrements社でQiitaの開発に従事していましたが、今月末をもってIncrements社を退職します。在籍期間は10ヶ月。今日が最終出社日です。 [![retireincrements5.png](/yoichiro/images/2017/02/retireincrements5.png)](https://increments.co.jp/) Incrementsでは、Qiitaの機能追加開発を主に担当していました。Qiita Blogには、僕がリリースしてきた機…

Read more →

GitLabの障害復旧風景

· Other

GitLab.comのデータベースに障害が発生して、IssueおよびMerge Requestsが消し飛ぶ、という事態となりました。障害発生の6時間前までのデータベースのスナップショットがあって、それから復旧させるようです。 [GitLab.com Database Incident - 2017/01/31](https://docs.google.com/document/d/1GCK53YDcBWQveod9kfzW-VCxIABGiryG7z6jHdVik/pub) 面白いというと不…

Read more →

HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様

· Web

今日では HTTP(s) で API が公開されることは当たり前の時代ですが、エラーをアプリケーションにどう伝えるかは、個々の API の設計に依存していました。特に、HTTP ステータスコードは有限であり、元々持っている意味があるので、自由に使うことはできません。API はそのドメインごとにもっと複雑で細かなエラー情報があるはずで、それらはレスポンスボディに載せてアプリケーションに伝えることになりますが、その書式に規定は今までありませんでした。 HTTP API にて、アプリケーションにエラ…

Read more →