Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Backlog for Amazon Alexa enhance.

Backlog for Amazon Alexa enhance.

haruharuharuby

April 06, 2019
Tweet

More Decks by haruharuharuby

Other Decks in Programming

Transcript

  1. Backlog for Alexa
    Enhance
    Thinking about ...
    between VUX and Project Management

    View full-size slide

  2. Who am I (Tomoharu Ito)
    Alexa Champion
    Assisted Certified Alexa Skill
    Builder as a Subject Matter
    Expert
    Living in the Netherlands
    https://hugtech.io

    View full-size slide

  3. Agenda
    Introduction
    VUX with Project Management
    Backlog for Alexa to be more adviser
    Conclusion

    View full-size slide

  4. Introduction

    View full-size slide

  5. 「Backlog」とは?
    Nulab.Inc の提供する課題管理SaaS
    APIは(ほぼ)オープン。管理画面でできることはだいたいなんでもできる
    Typetalk、Cacooとシームレスな連携が可能
    マークダウンの描きごこちは一長一短かな
    家計管理にまでBacklog使う人が出てきている
    全体的にやわらかい色とデザインがプレッシャー感じなくて好き(*超個人的意見)

    View full-size slide

  6. Backlog for Amazon Alexa

    View full-size slide

  7. 「Backlog for Amazon Alexa 」とは?
    Backlogスペースの進捗をAlexaが教えてくれるスキル
    初回リリースは、自分が担当している課題の進捗状況と、スペース全体の進捗状況を教
    えてくれる
    日本とUSで提供
    「アレクサ 、バックログを開いて、進捗を教えて」

    View full-size slide

  8. Bypassing Account Linking
    Account Link
    Bypassing
    OAuth2
    [ Authenticate URL ]
    .backlog.com

    View full-size slide

  9. Bypassing Account Linking
    Account Link
    Bypassing
    OAuth2
    OAuthParameter
    {STATE: xxxxxxx} OAuthParameter
    {
    spaceId: aaaaa,
    STATE: xxxxxxx
    }
    Length of STATE parameter does not
    match of size.

    View full-size slide

  10. Bypassing Account Linking
    Account Link
    Bypassing
    OAuth2
    OAuthParameter
    {STATE: xxxxxxx} OAuthParameter
    {
    spaceId: aaaaa,
    STATE: xxxxxxx
    }
    Length of STATE parameter does not
    match of size.
    Nulabさんにアサーションしたら
    1週間ほどで直してくれました。

    View full-size slide

  11. Conception for Construction
    Communica
    tion
    Workflow
    Repository
    HogeHogeIntent
    ‘Project looks good today.
    Resolved: 10,
    Tasks: 22
    InProgress: 10
    Term: 4 months

    View full-size slide

  12. Communication Layer
    ユーザーとの会話を豊かにするための層
    「利用状況に合わせた発話」
    「利用頻度に応じたWelcomeメッセージ」
    「ちょっと気の利いたひとこと」

    View full-size slide

  13. Workflow Layer
    ユーザーの発話した内容から意図を汲み取り、処理する層
    (ユーザーの意図は Intent としてすでに分けられた状態でスキルに入ってくるので、実
    質ここではそれぞれの Intent に対する処理を記述するだけ)
    「進捗状況を取得して、分析して、結果をコミュニケーションレイヤーに送る」

    View full-size slide

  14. VUX with Project Management

    View full-size slide

  15. Thinking about Project Management ...

    View full-size slide

  16. Project Managerは沢山のことを考えている。
    The Project Manager has a lots of things to have to care.

    View full-size slide

  17. What a Project Manager doing usual?
    Analyze/judgement
    Decision

    View full-size slide

  18. さまざま入力を分析、判断して次の決定につなげている
    The Project Manager gained many inputs for analytics and judgement.

    View full-size slide

  19. Voice Assistant に出来ることはなんだろう?

    View full-size slide

  20. What things can the Backlog do ...
    Get Space
    Get Recent Updates
    Get Space Logo
    Get Space Notification
    Update Space Notification
    Get Space Disk Usage
    Post Attachment File
    Get User List
    Get User
    Add User
    Update User
    Delete User
    Get Own User
    Get User Icon
    Get User Recent Updates
    Get Received Star List
    Count User Received Stars
    Get List of Recently Viewed Issues
    Get List of Recently Viewed Projects
    Get List of Recently Viewed Wikis
    Get List of Groups
    Add Group
    Get Group
    Update Group
    Delete Group
    Get Status List
    Get Resolution List
    Get Priority List
    Get Project List
    Add Project
    Get Project
    Update Project
    Delete Project
    Get Project Icon
    Get Project Recent Updates
    Add Project User
    Get Project User List
    Delete Project User
    Add Project Administrator
    Get List of Project Administrators
    Delete Project Administrator
    Get Issue Type List
    Add Issue Type
    Update Issue Type
    Delete Issue Type
    Get Category List
    Add Category
    Update Category
    Delete Category
    Get Version/Milestone List
    Add Version/Milestone
    Update Version/Milestone
    Delete Version
    Get Custom Field List
    Add Custom Field
    Update Custom Field
    Delete Custom Field
    Add List Item for List Type Custom Field
    Update List Item for List Type Custom Field
    Delete List Item for List Type Custom Field
    Get List of Shared Files
    Get File
    Get Project Disk Usage
    Get List of Webhooks
    Add Webhook
    Get Webhook
    Update Webhook
    Delete Webhook
    Get 、Issue List
    Count Issue
    Add Issue
    Get Issue
    Update Issue
    Delete Issue
    Get Comment List
    Add Comment
    Count Comment
    Get Comment
    Update comment
    Delete Comment
    Get List of Comment Notifications
    Add Comment Notification
    Get List of Issue Attachments
    Get Issue Attachment
    Delete Issue Attachment
    Get List of Linked Shared Files
    Link Shared Files to Issue
    Remove Link to Shared File from Issue
    Get Wiki Page List
    Count Wiki Page
    Get Wiki Page Tag List
    Add Wiki Page
    Get Wiki Page
    Update Wiki Page
    Delete Wiki Page
    Get List of Wiki attachments
    Attach File to Wiki
    Get Wiki Page Attachment
    Remove Wiki Attachment
    Get List of Shared Files on Wiki
    Link Shared Files to Wiki
    Remove Link to Shared File
    from Wiki
    Get Wiki Page History
    Get Wiki Page Star
    Get Watching List
    Count Watching
    Get Watching
    Add Watching
    Update Watching
    Delete Watching
    Mark Watching as Read
    Get Project Group List
    Add Project Group
    Delete Project Group
    Get Group Icon
    Get Licence
    Get List of Teams
    Add Team
    Get Team
    Update Team
    Delete Team
    Get Team Icon
    Get Project Team List
    Add Project Team
    Delete Project Team
    144 APIs ...
    BacklogのAPIを声で使えるようにする?

    View full-size slide

  21. 欲しいのは意思決定するための多角的な分析

    View full-size slide

  22. What can Alexa do for a Project Manager?
    Don’t give alternatives.
    Give suggestions.

    View full-size slide

  23. アシスタントが実装すべきは、機能でなくノウハウ

    View full-size slide

  24. Be a adviser !

    View full-size slide

  25. Backlog for Alexa to be more adviser

    View full-size slide

  26. New Construction
    Communica
    tion
    Workflow
    Repository
    HogeHogeIntent
    Resolved: 10,
    Tasks: 22
    InProgress: 10
    Term: 4 months
    Analytics

    View full-size slide

  27. Environment
    ASK-SDK: v1
    Editor: 各自好きなもの
    リポジトリ: Bitbucket
    言語: node.js
    デプロイ:
    Interaction Model: ASK-CLI
    Backend: Serverless framework
    ASK-SDK: v2
    Editor: Cloud9
    リポジトリ: CodeCommit
    言語: node.js
    デプロイ:
    Interaction Model: CodeStar
    Backend: CodeStar

    View full-size slide

  28. Pros of CodeStar
    AlexaスキルのCI/CDプロセスが一瞬で作れる
    テンプレートが豊富。SAMが勝手についてくる
    ASK-CLIの設定でこける心配をしなくてよい
    リポジトリへのPushでデプロイできる
    IAMの設定がSAM側のテンプレで可能
    チームプレイがしやすくなる
    チームメンバーの管理もAdmin画面でできる

    View full-size slide

  29. Cons of CodeStar
    CloudFormation のデプロイになるので時間がかかる
    Pushするたびに、Lambda と InteractionModel の両方をデプロイするので、時間がかか

    Cloud9 がEditorとしては少し他におとる。Extensionが豊富な VS Code と比較すると見
    劣りする。標準で選べるエディタとしては、「VisualStudio」という選択肢もある。(Cloud9
    はエンハンスが早いので期待)

    View full-size slide

  30. Note
    AlexaのテンプレートからCodeStarのプロジェクトを作ったら、まず最初にデフォルトの状
    態でデプロイしておく。(InvocationNameやスキル名はhello nodeになる)
    上の状態から変更を加えていくこと。
    先にInteractionModelを作っておいて、あとから、CodeStar経由でデプロイすることはで
    きない。

    View full-size slide

  31. Communication Layer

    View full-size slide

  32. Localization
    V1 の Language プロパティ → Interceptor に移行
    https://developer.amazon.com/blogs/alexa/post/285a6778-0ed0-4467-a602-d9893eae34d7/how-to-localize-your-alexa-skills

    View full-size slide

  33. Localization
    言語部分だけを切り出して定義できる。

    View full-size slide

  34. Localization (customized)
    初回訪問
    2回目
    3回目以降
    indexを指定して取る
    arrayからランダムに1つ取る

    View full-size slide

  35. Talk オブジェクト
       それぞれのインテントに名前を対応さ
    せてつくるとわかりやすい。
    Localize したオブジェクトを組み合わせてシーンに合わせた会話を作る。
    会話を膨らませたり、シンプルに返したり。。。

    View full-size slide

  36. Talk オブジェクト(使っているところ)
       
    talkインスタンスの中でいろい
    ろできるので、柔軟に会話がビ
    ルドできる。

    View full-size slide

  37. Workflow Layer

    View full-size slide

  38. OneToOne workflow

    View full-size slide

  39. handler オブジェクト(使っているところ)
       
    Handle() の中がシンプルに。

    View full-size slide

  40. Analytics
    Backlogから取得した情報を分析するオブジェクト。スキルの脳みそ部分。

    View full-size slide

  41. Repository Layer

    View full-size slide

  42. Api
    BacklogのAPIをCallして、分析の元になるデータをもらう層

    View full-size slide

  43. New Construction (Detail)
    handler workflow
    talk
    api
    i18n
    analytics
    エントリー コンダクター
    コミュニケーター
    ホスピタリティ

    View full-size slide

  44. 「コミュニケーターとホスピタリティ」
    ● コミュニケーター層で会話を豊かに。
    ● ホスピタリティ層でプラスアルファを。
    ● コンダクターを導入してハンドラーをシンプルに。
    ● チームで開発で規模の大きなスキルを作成するなら、CodeStarの利用がおすす
    め。

    View full-size slide

  45. Be a adviser for Project Manager !
    Don't become copy of the System.

    View full-size slide