Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Twilioが使えるChromeエクステンションを作った

120 views

Published on

Twilio Lounge Vol.5でLTした時のスライドです

Published in: Business
  • Be the first to comment

  • Be the first to like this

Twilioが使えるChromeエクステンションを作った

  1. 1. Twilioが使えるChromeエク ステンションを作った Leverages
  2. 2. 所属: Leverages株式会社 職種: エンジニア(料金試算、稟議書作成から客先交渉までなんでもやります) 名前: 西口瑛一(にしぐちえいいち) 好きな技術: JavaScript、テスト、スクレイピング、電話 最近: リリースまで後2週間くらい←応援してください WhoAmI
  3. 3. Twilio導入のきっかけ 社内で内製している営業管理ツールのリニューアルのため。 それに伴い、音声データも分析ができるTwilioへの移行を決定しました。 KWCでもかなり上位に入る規模の導入になるとのことです。 現時点でTwilioを触り始めて10ヶ月程度です。
  4. 4. さっそくですが、ここでExtensionのDEMO ※セキュリティの都合上、動画でお送りします ※※このスライドはアップロードしますが、DEMOはアップロードしません
  5. 5. いかがでしょうか? 🐱すごーい??🐱 (※個人の感想です)
  6. 6. ・営業管理ツールがChrome縛りのため ・Electronなども考えたが、 余計なソフトウェアを開かせたくなかったから ・電話専用Webページを作成してもよかったが、 余計なページを開かせたくなかったから エクステンションにした動機
  7. 7. リーダーから そもそもエクステンションでできるの?
  8. 8. できらぁ!
  9. 9. 半ば勢いだが、ある程度できる見込みはあった ・個人で作ったことがあった(未完成) ・エクステンションはWebページの1つのアウトプット形式 ・Twilio.Clientのデモが通常のWebページで動いている
  10. 10. 利点 ・ページを開かなくてもいいので、 オペレーターが業務に集中できる ・オペレーターがうっかり電話ページを閉じて、 受電できていなかったということが起こりづらい
  11. 11. 欠点 ・エクステンションに関する記事が少なく、 開発が思いの外、大変だった ・エクステンションはポップアップとバックグラウンドで 独立世界をもっているので、コード量が増えた(後述)
  12. 12. エクステンションの独立世界 ・Isolated Worldsという概念について →ポップアップとバックグラウンドは独立したプロセス ・ポップアップ アイコンクリックすると表示されるページ ・バックグラウンド 画面とは別に常に起動しているプロセス
  13. 13. 独立世界のコードについて ・ポップアップとバックグラウンドは メッセージでしか互いに干渉できない ・受電・架電ボタンはポップアップ上に、 通話の処理はバックグラウンドが行う ・メッセージ管理が大変😭
  14. 14. メッセージを支配しろ! ・メッセージには命名規約を持たせる ・メッセージ送受信と各プロセスの処理は 別ファイルにまとめる
  15. 15. ・欠点はイニシャルの開発の大変さだけに対し、 利点はランニングコストを減らせるため ・ランニングコストを減らせるのが最良の選択 ・開発をがんばれば、 必ずコストを回収できる日が来ることは明らか 🐱すごーい!🐱 まとめ
  16. 16. ・デモ動画をWebにアップロードするのがセキュリティ的に 難しいので、ちょっとだけ情報追加しました おまけ
  17. 17. Extensionのセキュリティについて ・Extensionの配布は弊社社員だけしかインストールできない 権限で配布しています ・ログインはGoogle認証+営業管理ツールのログインを 実行しています ・これによって社外の人にインストールされないようにし、 部署外の人の使用を制限しています
  18. 18. ・通話はClientのVer1.4.25使ってます ・在席状態と保留一覧の共有はSyncのVer.0.5.6使ってます ・受電の仕組みにTaskrouterを使っているので、Ver1.11使ってます Extensionの構成について
  19. 19. ・どっちも在席状態管理をできますが、どっちも使うのは、 Syncは他の社員の状態を見れるが、一覧内を検索しづらい、 Taskrouterは自分以外のWorkerのStatusを見れないためです ・本当は在席状態はTaskrouterに寄せたいのですが、 苦肉の策です→いい案募集中 SyncとTaskrouterの合せ技について
  20. 20. ExtensionでTwilioを動かす苦労 ・デバッグが死ぬほど大変 →独立世界と関係して、バックグラウンドとポップアップの どちらでバグが発生しているかを考えないといけない ・保留のデバッグがとてもしんどい →Extension再読込、ログインしなおし、電話かける、 電話受ける、保留するという手順を踏み直すため ・参考情報なんかない →Twilio社より先に作ってしまったのでは無いか感

×