We Make Bots. For Real

We Make Bots. For Real

Transcript

  1. None
  2. @listochkin

  3. <3 Ruby

  4. No Ruby today

  5. None
  6. Rust Favorite language Ruby Extensions WASM

  7. RustFest Workshops Intro Advanced Adoption

  8. Mozilla Travis CI Samsung Chef CloudFlare Evo

  9. Steve Klabnik lislis Ingvar Stepanyan Paul Colomiets

  10. Rust is for Rubyists

  11. http://bit.ly/rustfest2017ruby 50% off

  12. I’ll talk about my work

  13. None
  14. Bot building system

  15. None
  16. None
  17. Conceived about 6 years ago

  18. We’ve been building bots before it was cool

  19. Bot

  20. IRC WoW bots Web Scrapers

  21. Chatbots

  22. Conversational Commerce

  23. A bot pretends to be a human

  24. Makes stuff happen

  25. Emphasis on “Human” aspect

  26. Wit.ai API.ai Motion.ai Microsoft Bot Framework Init.ai <Whatever>.ai

  27. Can you <deliver> <my order> to <my work address> instead?

  28. What to do when there’s no match?

  29. Guess Bail out

  30. AI + Human

  31. Facebook M 70% required human

  32. Leaky abstraction

  33. Bots are Dead End of story

  34. “Human”-like is a red herring

  35. How vs What

  36. Goal Scenario Guidance

  37. Humanize later

  38. Scenario

  39. Workflow

  40. Do X Do Y Do Z

  41. Customer case: PeopleReady

  42. Workforce matching

  43. “Uber for Workers”

  44. I’m a construction worker I’m free next Friday

  45. I need 5 extra construction workers on site next Friday

  46. Phone Decision Tree

  47. “If you need X press 1”

  48. IVR “Interactive Voice Response”

  49. Step 1: Static Tree

  50. Step 2-∞: Refinements Shortcuts A/B tests

  51. Identify a person/role Reduce tree

  52. Known pending request: top-level notification

  53. Global shortcuts

  54. Keywords, numbers, etc.

  55. Bot-to-Bot IVR-to-IVR

  56. Pass context

  57. Session storage HTTP/SIP headers Forward DTMFs

  58. Dumb Boring

  59. Efficient Predictable Less frustrating

  60. None
  61. Workflow Builder Execution Services Operator Apps Reporting

  62. Many competitors Not a winner-takes-all

  63. Lessons Learned

  64. 1. Providers

  65. Slack, Messenger, Telegram, Skype, Email, sms, HipChat, WeChat, LINE, etc

  66. The more the better?

  67. SMS Phone Email

  68. No middle man apps Brand <=> Phone

  69. 2. Execution model

  70. State Machine

  71. State Machine as Data

  72. Flow Tree => Data Structure Executor

  73. State Machine as Code

  74. Flow Tree => Data => Code

  75. Separate Infrastructure Separate Deploys Separate Load

  76. AWS Lambda

  77. 3. Steps are the key

  78. if … else Choice 10-15

  79. Smart Steps 100s

  80. Phone Transfer

  81. Transfer to X Backup number? Voicemail? Transcode?

  82. Feature discovery

  83. Higher quality Bots by default

  84. Programmable steps

  85. Flow => Step

  86. Step = Logic + UI both programmable

  87. Custom JS Step

  88. 4. Service Flows

  89. Pick up the phone Identify a User Voice Choice …

  90. Number Provisioning API Adapter Reporting Events Hide Secrets …

  91. Service flows Global Events with ACL

  92. 5. Dogfooding

  93. Everything is a bot

  94. Admin tools Monitoring Reporting Billing

  95. 6. UI and Reporting Sell Platform retains

  96. UI! So many capabilities!

  97. “Can you set it up for us?”

  98. Typical Customer: sets thing up once receives reports

  99. 7. Reporting!

  100. SQL Server OLAP Direct access

  101. Let customers play with the data

  102. 8. AWS Lambda

  103. async (req, context) => { ... }

  104. Node 4.3 (6!) Python Java

  105. Use Large

  106. 1 request = 1 new process

  107. Dynamo & Redis :) Mongo, SQL :(

  108. Dynamo is amazing!

  109. 9. Voice

  110. Voice is inherently hard!

  111. Twilio Best API and DevTools Still hard :(

  112. Larger customers need cheaper voice

  113. TwiML Twilio SIP + Custom Voice Direct SIP-to-SIP

  114. SIP + RTP

  115. SIP Commands & Events Bi-directional

  116. RTP - audio

  117. Often Arcane practices

  118. Huge Risk

  119. Opens doors

  120. 10. Small things Big Impact

  121. Haiti Earthquake SMS Fundraiser

  122. Suicide Prevention Hotline

  123. Washington DC city bot

  124. Roadside assistance Match-making Marketing Customer support Sales

  125. OneReach

  126. 29-30 RustFest http://bit.ly/rustfest2017ruby 50% off

  127. 29-30 RustFest http://bit.ly/rustfest2017ruby 50% off 2 free tickets today