O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Designing Bots

Book Description

From Facebook Messenger to Kik, and from Slack bots to Google Assistant, Amazon Alexa, and email bots, the new conversational apps are revolutionizing the way we interact with software. This practical guide shows you how to design and build great conversational experiences and delightful bots that help people be more productive, whether it’s for a new consumer service or an enterprise efficiency product.

Ideal for designers, product managers, and entrepreneurs, this book explores what works and what doesn’t in real-world bot examples, and provides practical design patterns for your bot-building toolbox. You’ll learn how to use an effective onboarding process, outline different flows, define a bot personality, and choose the right balance of rich control and text.

  • Explore different bot use-cases and design best practices
  • Understand bot anatomy—such as brand and personality, conversations, advanced UI controls—and their associated design patterns
  • Learn steps for building a Facebook Messenger consumer bot and a Slack business bot
  • Explore the lessons learned and shared experiences of designers and entrepreneurs who have built bots
  • Design and prototype your first bot, and experiment with user feedback

Table of Contents

  1. Praise for Designing Bots
  2. Preface
    1. Who Should Read This Book?
      1. Designers
      2. Product Managers
      3. Entrepreneurs
    2. How Is This Book Organized?
      1. Overview
      2. Theory
      3. Practical Design
      4. To Infinity and Beyond
    3. O’Reilly Safari
    4. Comments and Questions
    5. Acknowledgments
  3. 1. What Are Bots?
    1. So, What Are Bots?
    2. The Bot Revolution and Evolution
    3. Stages of Bot Adoption
    4. Not All Bots Are Born the Same
    5. Closing Thoughts
  4. 2. Bot Types
    1. Personal Versus Team Bots
    2. Super Bots Versus Domain-Specific Bots
    3. Business Bots Versus Consumer Bots
    4. Voice Versus Text Bots
    5. Net New Bots Versus Integrations Exposing Legacy Systems
    6. Closing Thoughts
  5. 3. Major Platforms
    1. The Business Bot Platform: Slack
    2. The Consumer Bot Platform: Facebook Messenger
    3. The Voice Bot Platform: Alexa
    4. The Teens’ Bot Platform: Kik
    5. The Legacy Bot Platforms
      1. Email
      2. SMS
    6. How to Choose a Platform
      1. Exploration Stage
      2. Audience
      3. Consumer bot or business bot
      4. Feature availability
      5. Preferred devices
      6. Evaluation Stage
      7. Validation Stage
    7. Closing Thoughts
  6. 4. Major Use Cases
    1. Conversational Commerce
    2. Bots for Business
    3. Productivity and Coaching
    4. Alert/Notification Bots
    5. Bots as Routers Between Humans
    6. Customer Service and FAQ Bots
    7. Third-Party Integration Bots
    8. Games and Entertainment Bots
    9. Brand Bots
    10. Closing Thoughts
  7. 5. Bot Anatomy
    1. Breaking Down Bots
    2. Core Purpose and Functionality
    3. Closing Thoughts
  8. 6. Branding, Personality, and Human Involvement
    1. Branding
      1. Visual Branding
      2. Logo
      3. Stickers
      4. Images
      5. Naming
    2. Personality
      1. WordsBot
      2. Poncho
      3. Expressing Your Personality
    3. Human Intervention
      1. Humans Resolving Ambiguity and Providing Response Supervision
      2. Humans Enabling Error/Failure Escalation
      3. Humans Training Bots Online
      4. Humans Improving the Bot Conversation
      5. Bots as Facilitators for Human Tasks
    4. Closing Thoughts
  9. 7. Artificial Intelligence
    1. Natural Language Understanding
    2. Conversation Management
    3. Image Recognition/Computer Vision
    4. Prediction
    5. Sentiment Analysis
    6. When to Use Artificial Intelligence
    7. Not Using Artificial Intelligence
    8. Closing Thoughts
  10. 8. The Conversation
    1. Onboarding
      1. Declaring the Purpose
      2. Teaching the User How to Use the Bot
      3. Configuration
      4. Inciting Users to Get Value from the Bot
      5. Setting the Tone and Personality
      6. Onboarding in a Team Environment
    2. Functionality Scripting
      1. Task-Led Conversation
      2. Divergent flows and course correction
      3. Entity extraction
      4. Intent mapping and conversational controls
      5. Shorthanding
      6. Stories/flows
      7. The conversation funnel
      8. Topic-Led Discussion
      9. Divergence as a way to course correct
      10. Entity extraction
      11. Intent mapping and conversational controls
      12. Stories/flows
      13. Task-led pathways in topical conversations
    3. Decoration
      1. Randomization
    4. Priming the User to Give the Right Information
    5. Acknowledgment and Confirmation
      1. Responsiveness
      2. Explicit Versus Implicit Confirmation
      3. Avoid repetition
      4. Accept user confirmation permutations
    6. Consistency
    7. Reciprocity
      1. Communicate Value Before Asking for Input
      2. Initiate and Revive Engagement with Questions and Offers
      3. Proactivity
      4. Common Courtesy
    8. Team Versus Private Interactions
      1. Choosing the Right Interaction Mode
      2. Using @Mentions
      3. Training and Onboarding
      4. Knowing When to Shut Up in a Team Conversation
    9. Error Handling
      1. Course Correction
      2. Human Intervention
      3. Restarting the Conversation
      4. Redirecting to Another Bot
      5. Keeping It Consistent
      6. Learning from Your Bot’s Mistakes
    10. Help and Feedback
      1. Providing Help
      2. Soliciting Feedback
    11. Closing Thoughts
  11. 9. Rich Interactions
    1. Files
      1. When to Use Files in a Conversation
    2. Audio
    3. Videos
      1. When to Use Videos in a Conversation
    4. Images
      1. When to Use Images in a Conversation
    5. Buttons
      1. Buttons in Slack
      2. Buttons in Facebook Messenger
      3. Canned Responses in Facebook Messenger and Kik
      4. Putting It All Together
      5. When to Use Buttons in a Conversation
      6. When NOT to Use Buttons for Navigation
    6. Templates
      1. When to Use Templates in a Conversation
    7. Links
      1. When to Use Links in a Conversation
    8. Emojis
      1. When to Use Emojis in a Conversation
    9. Typing Events
    10. Persistent Menus
    11. Slash Commands
    12. Webviews
    13. Connecting It All Together
    14. Closing Thoughts
  12. 10. Context and Memory
    1. Bot Amnesia
    2. Context
      1. Inferring Context from Pronouns
      2. Deriving Context Through Rich Controls
      3. Context Errors and Ambiguity
    3. Memory
    4. Closing Thoughts
  13. 11. Bot Discovery and Installation
    1. Bot Directories
    2. App Review Process
    3. Direct Installation Links
    4. QR Codes
    5. @Mentions
    6. Bot Referrals
    7. Closing Thoughts
  14. 12. Engagement Methods
    1. First Impression
    2. Ongoing Engagement Points
      1. Notifications
      2. Promoting Engagement by Just Being Useful
    3. Closing Thoughts
  15. 13. Monetization
    1. Subscription
    2. Ad Serving
    3. Data—Analytics and Market Research
    4. Selling Goods and Services
    5. Referral Fees
    6. Brand Promotion
      1. Extending a Paid-for Product
      2. In-Bot Virtual Goods
    7. When Should You Start Charging Users?
    8. Closing Thoughts
  16. 14. Design Process Overview
    1. The Steps
    2. The Tools
  17. 15. Use Case Definition and Exploration
    1. Basic Analysis
      1. Setting a Purpose
      2. Picking a Bot Platform
      3. Defining a Persona
      4. Choosing a Logo and Visuals
      5. Naming Conventions
    2. Solution Exploration
  18. 16. Conversation Scripting
    1. Outline of Flows
      1. Onboarding
      2. PTOBot
      3. VacationBot
      4. Main Flow
      5. PTOBot
      6. VacationBot
      7. Help
      8. PTOBot
      9. VacationBot
      10. Feedback
      11. Error Handling
    2. Intent Mapping
    3. Entity Mapping
    4. Scripting Sample Bot Outputs
      1. Onboarding
      2. PTOBot
      3. VacationBot
      4. Main Flow
      5. PTOBot
      6. VacationBot
      7. Help
      8. PTOBot
      9. VacationBot
      10. Feedback
      11. Error Handling
  19. 17. Designing and Testing
    1. Designing VacationBot for Facebook Messenger with Botsociety
    2. Designing PTOBot for Slack with Walkie
    3. User Testing
      1. Before You Start—Prototyping a Mockup Bot
      2. Planning the Test
      3. Creating Tasks and Discussion Guides
      4. Recruiting Participants
      5. Setting Up the Environment
      6. Moderating the Sessions
      7. Analyzing the Data
      8. Improving and Iterating
  20. 18. Bot Building Overview
    1. Bot Architecture
    2. Bot Building Technologies
      1. Visual Authoring Tools and Integrated Development Environments (IDEs)
      2. Artificial Intelligence (AI) Services
      3. Software Development Kits and Bot Frameworks
      4. Roll Your Own
      5. Hosting Solutions
    3. Picking the Right Tool
  21. 19. Analytics and Continuous Improvement
    1. How Do Bot Analytics Work?
    2. Looking at Logs
    3. Insights from Analytics Solutions
      1. Third-Party Hosted Solutions
      2. Self-Hosted Analytics Solutions/SDKs
      3. Be Careful Not to Worry About the Wrong Thing
    4. Continuous Improvement
  22. 20. To Infinity and Beyond—The Future of Bots
    1. Future Trends in Bot Platforms
      1. More Interactivity
      2. Better Ways to Present Information
      3. Discovery
      4. Monetization
      5. Super Bot Platforms Opening Up
    2. Future Trends in Bots
      1. From Notification to Interactivity
      2. Multiplatform Bots
      3. Identity Consolidation
      4. Agile Conversation Based on User Segmentation and Sentiment
      5. Domain-Specific Bots Versus Super Bots
    3. Will Bots and AI Eat the World?
      1. Will Bots Replace Apps?
      2. Will Bots Take People’s Jobs?
    4. Bots in Every Part of Our Lives
  23. A. About the Author
  24. About the Author
  25. Colophon
  26. Index
  27. Copyright