Notes to self:
Bots will probably/augment replacing websites as an interface (conversational) to a service.
web interface -> mobile interface -> conversation interface
Types of bots: personal vs team; super vs. specific (domain/content/purpose); b2b vs b2c (this changes how they interact / engage with users); new vs integration with legacy (salesforce)
Bots platforms: business (slack), consumer (FB); voice (alexa); legacy (email/sms). We need to pick the right platform to ensure success of our bot -- audience? revenue model? features to deliver your service most effectively;
Use cases:
to exploit business flows with bots and enhance productivity/reduce op-ex;
coach bot
notification/reminder bot
router between specialist humans
customer service and FAQ
entertainment
Anatomy: important to focus on how humans communicate & design bots. Features that matter:
personality: depends on audience
logos & icons: to show human like attributes
name: brand
human intervention: for error handling
NLP, conversation, image recognition, prediction (Q&A), sentiments
on boarding conversation is crucial - explicitly state the purpose of the bot
functionality scripting: flow for each function the bot performs, mitigate failure modes
feedback & error handling: crucial for long term user engagement
help & support - with a direct human, expected response latency
links, formatting, emojis, persistent menus are nice to haves.
Context and memory are a big challenge - since humans do it effortlessly in conversation
engagement methods: notifications, asking users to invoke, subscription to periodic notifications
Branding, logo, name matter.
Personality of the bot is a differentiator - think of audience, environment, job it does, social acceptance & values of your company. Keep this personality consistent across the experience.
To avoid personality issues, some human intervention might be required to keep things going smoothly (at least initially) - resolve ambiguity, escalation (speak to your supervisor :P ), supervised training online, humans improve conversation (domain experts)
AI: NLP, conversation management, computer vision, sentiment analysis to steer flow. Using AI is not always necessary for all types of bots.
Bots offer a new interface to an established human interaction - so tailor it to those etiquettes. During on boarding a user - state the purpose of the bot clearly and how to configure it, don't be a pushy salesman but make the value prop clear to engage users.
Task led conversation leads user through a funnel (via stories, intent mapping, entity extraction etc). Best to have least number of steps to complete a task. Topic led conversation is about user engagement so no such restriction but use divergence to bring it back. Add character, persona, gifs, random variation in dialogue. Priming users for formatting, ack to confirm, consistent experience. To revive engagement - try to ask questions and offer reminders etc and proactively show follow up available features.
Error handling is crucial to success - when to ignore vs. human intervention (latency expected), restarting conversation gracefully, refer to other bots.
Buttons are a great to guide the conversation, frame the interaction or steer the users within a set of possibilities (and avoid errors). Buttons are NOT good when there are too many options.
Links should show preview so user knows where they will lead - unfurling.
Bots should keep as much context as possible - e.g.: user intent so it can be used when referred to if user comes back to it later (otherwise face palm! errors), infer from pronouns, just be explicit & ask specific questions to avoid ambiguity in interaction.
Monetization ??? subscription, ads, market research, selling services, referrals, virtual goods.
Design process:
use case definition -- purpose, platform, persona, logo visuals;
conversation scripting -- workflow then feedback +/-, error handling, intent, entity; buttons? validate on users?
design & test - small text
Make sure you look at your data & continuously improve the bot.