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 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 Slide

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

    View Slide

  4. Introduction

    View Slide

  5. Backlog

    View Slide

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

    View Slide

  7. Backlog for Amazon Alexa

    View Slide

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

    View Slide

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

    View 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.

    View Slide

  11. 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

  15. VUX with Project Management

    View Slide

  16. Thinking about Project Management ...

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

  25. Be a adviser !

    View Slide

  26. Backlog for Alexa to be more adviser

    View Slide

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

    View Slide

  28. 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 Slide

  29. CodeStar

    View Slide

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

    View Slide

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

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

    View Slide

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

    View Slide

  33. Communication Layer

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  39. Workflow Layer

    View Slide

  40. OneToOne workflow

    View Slide

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

    View Slide

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

    View Slide

  43. Repository Layer

    View Slide

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

    View Slide

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

    View Slide

  46. Conclusion

    View Slide

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

    View Slide

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

    View Slide