SlideShare a Scribd company logo
DeepDive в Bot платформу Microsoft.
Сергей Поплавский
Microsoft Ukraine
Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"
• There are many different kinds of bots…
• across many different canvases…
Source: Competitive report and strategic overview series, Kurt DelBene (April 2016)
The CaaP landscape beyond Microsoft and Facebook
• and serving many different kinds of tasks…
Source: Conversational Interfaces, STCI Research (March 2016)
• Despite all the differences, common user requirements emerge
1. Real User Needs: meet the needs people have while chatting
2. Discoverability: awareness of bots and their features
3. First use: guidance for first run use
4. Input: appropriate, natural modalities
5. Output: surfacing information clearly and effectively
6. Responsiveness: timeliness and relevance of responses
7. Personality: verbal and visual cues that can enhance user engagement
8. Context: knowledge of situations and previous exchanges
9. Privacy: actions that build trust
10. Ongoing engagement: methods for creating repeated usage
We can develop a more engaging and usable experience by designing for:
1. Real User Needs
Successful utility bots provide new functionality that fulfills unmet needs. In most
cases, simply porting an existing experience to a chat bot will not work because it’s
hard to replace users’ existing habits. Build bot experiences that meet the needs
people have when chatting.
• Focus on solving real-world problems more efficiently than existing solutions.
• Drive for convenience because it’s a key driver of bot usage.
• To the extent possible, keep people in the chat experience so they don’t lose
context.
Examples of meeting Real User Needs
Cola bots keep it all in-chat:
Users can use Cola bots to send
out polls, create to-do lists, locate
each other, etc. Everything is kept
in the conversation so users don’t
have to leave.
Slack bots solve real-world problems:
The Meekan_scheduler bot coordinates
calendars and finds the best time/place
for a meeting.
2. Discoverability
People need to discover how to obtain the bot and, once they have it, discover the
bot’s features.
Bot Discovery
• Build in ways for users to discover the bot.
• Look for exciting, shareable features.
Feature Discovery
• An easy OOBE can make a big difference.
• Reinforce feature discovery by responding to chit chat and user explorations,
as well as surfacing suggestions or promoting new “skills.”
Examples of Discoverability
Kik’s Bot Shop
makes bots easy
to find
Kik offers an easily
accessible Bot
Shop in which
users can browse
and discover bots.
Facebook Messenger bots are hard
to find
As a result, most users don’t even
know bots exist on this platform.
Examples of Discoverability
Xiaoice is engaging and viral
Xiaoice uses image technology
for engaging party tricks like
telling users which two people
in a picture are most likely to
date, who in a picture is most
attractive, or who in a picture
should pay for dinner. Users
share these fun features with
friends, helping new users
discover Xiaoice.
3. First Use Experience
The first use experience is a great opportunity to teach the user about the bot’s
capabilities and how to interact with the bot, as well as providing an initial
impression of the bot’s personality.
• Be clear about the value prop so the user knows what the bot can do and what
problems it can solve
• Instruct the user how to use the bot, so they can immediately begin interacting
with it
• Make it easy for users to find these instructions again later, as they’re likely to
forget, especially if instructions are complicated or they don’t use the bot for a
bit
• If possible, put legalese and policies on bot’s contact page or somewhere other
than in the first use messaging. Legalese interferes with the bot’s personality,
and adds a lot of text that most users won’t read
Examples of First Use Experience
Weather bot on
Telegram has easy
instructions
It has a nice first-
use message
(although none of
the commands
seem to work)
Shop Spring bot on
FB Messenger gives
no instructions:
Nothing happens
until user types
something. Then,
instructions appear
and point users to
buttons that don’t
exist
4. Input
People don’t want to spend a lot of time figuring out how to interact with a bot.
Good support for natural language allows the bot to ‘just work’. Keyboard usage
on mobile devices can be annoying, so allowing voice and providing clear action
buttons can be very useful.
• Maximize natural language. If syntax is required, make it simple and memorable.
• Users may be using voice or text input. Users may frame their request differently
depending on the input, and there may be extra utterances (e.g. “umm”) in
voice input.
• People may favor different input methods based on their situation. For
example, if they are at work they may be using keyboard. If that’s the case, it
might be inappropriate to respond to text input with audio output.
• Recognition is easier than recall and can help improve the usability of products.
Reduce the amount of keyboard usage and minimize cognitive load by
providing contextually relevant action buttons/links.
Examples of Input
Hi Poncho uses
natural language
Hi Poncho on FB
responds to
natural language
queries about the
weather and even
reacts to ‘Likes’
Shop Spring uses
recognition over
recall
Shop Spring
presents its
categories as
action buttons,
enabling users to
quickly browse
without having to
figure out syntax
Examples of Input
Slack provides
syntax assistance
Slack opens an
autosuggest menu
when the user
types "@" or "/" to
prompt the user
with common
commands.
5. Output
The output of a conversation is the payoff for interacting with a bot. We need to
celebrate our content.
• Text: Avoid walls of text. Use cards, media, and other modalities when appropriate.
• Cards: People tend to respond positively to cards that have:
• Clean design and good layout
• Clear information hierarchy
• Information that effectively supports decision making (e.g., length of a movie, #
of pages in a book, synopsis of a play)
• For content that is time-relevant (e.g., stocks, scores, weather), use a date and
time stamp
• Carousels: Useful for displaying multiple cards, but are not appropriate for
comparing information (e.g., seeing a 5 day weather forecast, seeing stocks in
your portfolio, seeing a sports schedule).
Examples of Output
Cards for weather often use
information hierarchy
Temperature is largest text,
icon has a pop of color. Lower
priority weather details are present,
but lower contrast font.
Carousels prevent
easy comparisons
A carousel is an
inefficient way to
display a weather
forecast – like in
example with Hi
Poncho.
6. Responsiveness
Responses provide valuable feedback for learning.
• Bots should respond to all input. Responses should be relevant, non-repetitive,
and timely.
• For slow replies, the bot might give an “I’m thinking” cue like “…” to indicate it’s
processing.
• If the bot can’t find anything relevant, then some response is better than no
response, as no response leaves the user unsure whether something is broken.
• Bot should be flexible in understanding word order.
Examples of Responsiveness
No response in the
Bing Music App for
Skype:
The bot returns
nothing for Lyrics
Eagles, although the
message was clearly
sent. Frustrating for
user to get no
response.
The WSJ bot has
“I’m Thinking” cue
The WSJ bot lets
the user know that
it is ‘looking up’
something shortly
after you make a
selection.
7. Personality
Personality is part of the bot experience, even for a utility bot.
• Personality is unavoidable. If you don’t build it in, users will infer their
own.
• Personality primarily comes from wording, but also media choices,
manners & responsiveness, audio characteristics, and avatars.
• When completing tasks, bot communication should be efficient yet
friendly.
• But when fulfilling social functions, bots can showcase a more “fun”
personality and engaging skills. Bots should reach out to users, as well
as the reverse – narrative can help.
• In general, users respond best to young, attractive, female
characteristics in bots (voice, etc.).
@gif
Telegram Google Now Slackbot Facebook MTelegram bots (@gif,
PollBot)
Google Now Slackbot Facebook M
Personality from:
• Curatorial choices
Personality from:
• Phrasing (“robotic”)
• Message duration
• Voice audio
Personality from:
• Phrasing (“quirky”)
• Exclamation points!
• Emoji
Personality from:
• Phrasing
• Fun exchanges & Easter
eggs
• “Human” task completion
Described as:
• Precise
• Purposeful
• Formal
Described as:
• Purposeful
• Precise
• Formal
Described as:
• Sociable
• Caring
• Enthusiastic
Described as:
• Precise
• Purposeful
• Sociable
Examples of Personality
Examples of delivering on Personality
Xiaoice has a fun
personality
Here, the user asked
Xiaoice to send a
photo of herself and
replies with a hidden
face. This was
considered as positive
and playful.
Choose the
personality of the
Invisible Girlfriend
bot
Users choose
personality traits
during set up. Plus
interests and
demographics.
And it can be
changed later on.
8. Context
Contextual awareness increases bots’ believability and usefulness.
Bots can show context awareness of:
• User intent (basic relevance)
• Location and situation (e.g. traffic, shopping)
• Past conversational exchanges (“Are you feeling better today?”)
• Social or emotional state of the user
Examples of Context
Bing Bot for FB
Messenger uses
location data
Knowing the user’s
location lets the bot
provide useful local
information.
9. Privacy
Some of users’ biggest concerns in this space are around security and privacy –
What is being shared, and with whom?
This includes concerns about the bot developer, the platform, and people in
the conversation.
Make it clear to users what is shared, particularly in human-to-human+bot
scenarios.
Examples of Privacy
Telegram privacy
concerns
Users are intrigued
by bots, but are
concerned that
Telegram or the 3rd
party developer
would be
monitoring and
saving
conversations.
Bing App for Slack privacy concerns
Users loved the useful information,
but were worried that their searches
would auto-post and their chat-
mates would see all of their searches.
Examples of Privacy
Invisible Girlfriend bot
privacy concerns
By the end of the sign-
up process, user doesn’t
trust the system enough
to share information. It
asks for particularly
private info (phone
number, credit card),
but wasn’t clear where
information would go or
who would see it.
10. Ongoing Engagement
For most bots, the goal is ongoing engagement – not just a single use. The
following things can lead to repeated usage.
• Proactivity can be effective for re-engagement, but can quickly turn into
clutter
• Situational triggers can be powerful. Repeat bot usage primarily comes
when a user need arises and the bot is the easiest way to address it.
Example: Booking a restaurant is much simpler with Facebook M
• Promote ongoing user education through multiple approaches
• Releasing updates on a regular schedule can lead to regular re-
engagement
Examples of Ongoing Engagement
TrumpChat uses
notifications well
This Kik bot is simple,
but engaging because
it’s entertaining and
offers 3 quick election
news stories per day.
Also pings users once
a day reminding them
of updated news.
Xiaoice announces new
skills every Wednesday
A regular schedule of new
features re-engages users
by reminding and enticing
them. Example skills:
• Counting sheep
• Chinese word play
• Telling jokes
• Guessing age
• Judging beauty
• Toilet time jokes
• PK fighting
• Weather
• Read your mind
Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"
Bots are not artificial
intelligence only
Bots are not text
interface only
Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"
Your bot code
Entity
Extraction
Speech
Bot
Clipboard w
entities
Natural
Language
Translation
+ Intelligent Services
Bing
Knowledge
User
Preferences
Image
Intelligence
…
Message input <> output
Add logic and keep track of dialogs and state
Connect to people where they are
+Directory for finding your bot, registration and
management dashboard
Bot Connector Conversation Canvas
……
…
Other services, APIs,
Databases, …
Bot Builder SDK
Web Chat
Directline…
Email
Facebook
GroupMe
Kik
Skype
Slack
Telegram
Twilio (SMS)
Azure or other
Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"
Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"
Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"
Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"
Roll your own with REST APIs
Simple to add: just a few lines of
code required
Integrate into the language and
platform of your choice
Breadth of offerings helps you find the
right API for your app
Built by experts in their field from
Microsoft Research, Bing, and Azure
Machine Learning
Quality documentation, sample code,
and community support
Easy Flexible Tested
GET A
KEY
Microsoft
Cognitive
Services
Give your apps
a human side
Computer Vision API
Distill actionable
information from
images
Video API
Analyze, edit, and
process videos within
your app
Face API
Detect, identify, analyze,
organize, and tag faces
in photos
Emotion API
Personalize experiences
with emotion
recognition
Vision
Speech
Bing Speech API
Convert speech to text
and back again, and
understand its intent
Speaker Recognition API
Give your app the ability
to know who's talking
Custom Recognition
Intelligent Service
Fine-tune speech
recognition for anyone,
anywhere
Speech
Bing Spell
Check API
Detect and correct
spelling mistakes
within your app
Language Understanding
Intelligent Service
Teach your apps to
understand
commands from your
users
Web Language
Model API
Leverage the power
of language models
trained on web-scale
data
Linguistic
Analysis API
Easily parse complex
text with language
analysis
Text Analytics
API
Detect sentiment, key
phrases, topics, and
language from your
text
Language
LanguageKnowledge
Academic Knowledge
API
Explore relationships
among academic papers,
journals, and authors
Recommendations
API
Provide personalized
product recommendations
for your customers
Knowledge
Exploration Service
Add interactive search
over structured data to
your project
Entity Linking
Service
Contextually extend
knowledge of people,
locations, and events
KnowledgeSearch
Bing Web
Search API
Connect powerful
search to your apps
Bing Video
Search API
Trending videos,
detailed metadata,
and rich results
Bing Autosuggest
API
Give your app
intelligent autosuggest
options for searches
Bing Image
Search API
Bring advanced
image and metadata
search to your app
Bing News
Search API
Link your users to
robust and timely
news searches
Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"
Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"
Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"

More Related Content

PPTX
An Introduction To Chatbots
PDF
Chatbots and AI
PDF
Chatbots - An Introduction
PDF
Finance bots - The move toward conversational finance
PDF
Chatbot interaction design — IxDA London July 2017
PPTX
Using Chatbots in Extension Programming
PDF
Chatbots, and how will Microsoft help us with this?
PDF
The User Experience of Chatbots - Nielsen Norman Group
An Introduction To Chatbots
Chatbots and AI
Chatbots - An Introduction
Finance bots - The move toward conversational finance
Chatbot interaction design — IxDA London July 2017
Using Chatbots in Extension Programming
Chatbots, and how will Microsoft help us with this?
The User Experience of Chatbots - Nielsen Norman Group

What's hot (14)

PPTX
Nihad Abbasov-Intellectual technology presentation
PDF
The Rise of Chatbots in 2016
PPTX
Designing L2 Interactive Tasks with an Artificial Intelligence Robot
PDF
Mark Swaine UX Guy Designing Bot Experiences
PDF
Converations on conversational Ux
PPTX
Communication and Information Technology
PDF
What's trending in the Chat Bot market so far? - Gytenis Galkis, CEO at Blue ...
PPTX
Digital literacy edpc605
PPT
Landing Your Next PHP Job
PDF
3 ways to make people love your chatbot
PDF
Introduction to Chatbots
PDF
Introduction to Chatbots
PDF
Effective Data Science: The Art of Delivering and Demonstrating Value
PDF
Datascope: Designing your Data Viz - The (Iterative) Process
Nihad Abbasov-Intellectual technology presentation
The Rise of Chatbots in 2016
Designing L2 Interactive Tasks with an Artificial Intelligence Robot
Mark Swaine UX Guy Designing Bot Experiences
Converations on conversational Ux
Communication and Information Technology
What's trending in the Chat Bot market so far? - Gytenis Galkis, CEO at Blue ...
Digital literacy edpc605
Landing Your Next PHP Job
3 ways to make people love your chatbot
Introduction to Chatbots
Introduction to Chatbots
Effective Data Science: The Art of Delivering and Demonstrating Value
Datascope: Designing your Data Viz - The (Iterative) Process
Ad

Viewers also liked (18)

PPTX
Игорь Леонтьев "Azure Container Service: not only Docker"
PPTX
Сергей Калинец "Стероиды для Дотнетчика"
PPTX
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
PPTX
Стас Султанов "Assembling Solutions with Microsoft Azure"
PPT
Владимир Никонов "Вызовы при разработке enterprise продукта"
PPTX
Сергей Радзыняк ".NET Microservices in Real Life"
PDF
Антон Молдован "Type driven development with f#"
PPTX
Денис Резник "Зачем мне знать SQL и Базы Данных, ведь у меня есть ORM?"
PPTX
Евгений Напрягло ".NET Framework Hosting API Overview"
PPTX
Андрей Чебукин "Построение успешных API"
PPTX
Игорь Фесенко "What’s New in C# 7.0"
PPTX
Борис Могила "Isomorphic React apps in production"
PDF
Алексей Косинский "React Native vs. React+WebView"
PDF
Алексей Волков "Еще несколько слов об архитектуре"
PDF
Юлия Пучнина "PhaserJS for advertisement: игры внутри баннеров"
PDF
Григорий Шехет "Treasure hunt in the land of Reactive frameworks"
PDF
Юрий Лучанинов "Критерии выбора JS-фреймворков"
PDF
Сергей Яковлев "Техническая сторона email-маркетинга"
Игорь Леонтьев "Azure Container Service: not only Docker"
Сергей Калинец "Стероиды для Дотнетчика"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Стас Султанов "Assembling Solutions with Microsoft Azure"
Владимир Никонов "Вызовы при разработке enterprise продукта"
Сергей Радзыняк ".NET Microservices in Real Life"
Антон Молдован "Type driven development with f#"
Денис Резник "Зачем мне знать SQL и Базы Данных, ведь у меня есть ORM?"
Евгений Напрягло ".NET Framework Hosting API Overview"
Андрей Чебукин "Построение успешных API"
Игорь Фесенко "What’s New in C# 7.0"
Борис Могила "Isomorphic React apps in production"
Алексей Косинский "React Native vs. React+WebView"
Алексей Волков "Еще несколько слов об архитектуре"
Юлия Пучнина "PhaserJS for advertisement: игры внутри баннеров"
Григорий Шехет "Treasure hunt in the land of Reactive frameworks"
Юрий Лучанинов "Критерии выбора JS-фреймворков"
Сергей Яковлев "Техническая сторона email-маркетинга"
Ad

Similar to Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft" (20)

PDF
Workshop: Chatbot in a box - Introduction to conversation design and conducti...
PDF
Chatbots 101
PDF
Several bots are typing - Talk given at Nashville UX
PDF
Everything you need to know about chatbots
PPTX
Final presentation on chatbot
PDF
antraaa-181127090143.pdf
PPTX
Chatbot Abstract
PPTX
The Software Challenges of Building Smart Chatbots - ICSE'21
PPTX
Chatbot
PDF
Student information chatbot final report
PPTX
Chatbot
PPTX
Using Generative AI in the Classroom .pptx
PDF
UXPA 2021: Putting words in the mouths of chatbots: Designing cognitive intents
PDF
A Survey on Various Types of Chatbots
PPTX
How to create a chatbot
PDF
Chat apps v02
PDF
Subotが考えるBotの可能性 - Thinking about the Bot potential -
PDF
Introduction to Facebook Messenger, Conversational UI & NLP
PDF
Ultimate Cheat Sheet For Building Chatbot
PPTX
Conversational apps UX best practices
Workshop: Chatbot in a box - Introduction to conversation design and conducti...
Chatbots 101
Several bots are typing - Talk given at Nashville UX
Everything you need to know about chatbots
Final presentation on chatbot
antraaa-181127090143.pdf
Chatbot Abstract
The Software Challenges of Building Smart Chatbots - ICSE'21
Chatbot
Student information chatbot final report
Chatbot
Using Generative AI in the Classroom .pptx
UXPA 2021: Putting words in the mouths of chatbots: Designing cognitive intents
A Survey on Various Types of Chatbots
How to create a chatbot
Chat apps v02
Subotが考えるBotの可能性 - Thinking about the Bot potential -
Introduction to Facebook Messenger, Conversational UI & NLP
Ultimate Cheat Sheet For Building Chatbot
Conversational apps UX best practices

More from Fwdays (20)

PDF
"Mastering UI Complexity: State Machines and Reactive Patterns at Grammarly",...
PDF
"Effect, Fiber & Schema: tactical and technical characteristics of Effect.ts"...
PPTX
"Computer Use Agents: From SFT to Classic RL", Maksym Shamrai
PPTX
"Як ми переписали Сільпо на Angular", Євген Русаков
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
PDF
"Validation and Observability of AI Agents", Oleksandr Denisyuk
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
PPTX
"Co-Authoring with a Machine: What I Learned from Writing a Book on Generativ...
PPTX
"Human-AI Collaboration Models for Better Decisions, Faster Workflows, and Cr...
PDF
"AI is already here. What will happen to your team (and your role) tomorrow?"...
PPTX
"Is it worth investing in AI in 2025?", Alexander Sharko
PDF
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
PDF
"Scaling in space and time with Temporal", Andriy Lupa.pdf
PDF
"Database isolation: how we deal with hundreds of direct connections to the d...
PDF
"Scaling in space and time with Temporal", Andriy Lupa .pdf
PPTX
"Provisioning via DOT-Chain: from catering to drone marketplaces", Volodymyr ...
PPTX
" Observability with Elasticsearch: Best Practices for High-Load Platform", A...
PPTX
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
PPTX
"Istio Ambient Mesh in production: our way from Sidecar to Sidecar-less",Hlib...
"Mastering UI Complexity: State Machines and Reactive Patterns at Grammarly",...
"Effect, Fiber & Schema: tactical and technical characteristics of Effect.ts"...
"Computer Use Agents: From SFT to Classic RL", Maksym Shamrai
"Як ми переписали Сільпо на Angular", Євген Русаков
"AI Transformation: Directions and Challenges", Pavlo Shaternik
"Validation and Observability of AI Agents", Oleksandr Denisyuk
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
"Co-Authoring with a Machine: What I Learned from Writing a Book on Generativ...
"Human-AI Collaboration Models for Better Decisions, Faster Workflows, and Cr...
"AI is already here. What will happen to your team (and your role) tomorrow?"...
"Is it worth investing in AI in 2025?", Alexander Sharko
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Database isolation: how we deal with hundreds of direct connections to the d...
"Scaling in space and time with Temporal", Andriy Lupa .pdf
"Provisioning via DOT-Chain: from catering to drone marketplaces", Volodymyr ...
" Observability with Elasticsearch: Best Practices for High-Load Platform", A...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"Istio Ambient Mesh in production: our way from Sidecar to Sidecar-less",Hlib...

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Approach and Philosophy of On baking technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Modernizing your data center with Dell and AMD
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Unlocking AI with Model Context Protocol (MCP)
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Approach and Philosophy of On baking technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
The AUB Centre for AI in Media Proposal.docx
Machine learning based COVID-19 study performance prediction
NewMind AI Monthly Chronicles - July 2025
Mobile App Security Testing_ A Comprehensive Guide.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Dropbox Q2 2025 Financial Results & Investor Presentation
Spectral efficient network and resource selection model in 5G networks
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Modernizing your data center with Dell and AMD

Сергей Поплавский "DeepDive в Bot платформу Microsoft. Технические аспекты разработки Botрешений на базе технологий Microsoft"

  • 1. DeepDive в Bot платформу Microsoft. Сергей Поплавский Microsoft Ukraine
  • 3. • There are many different kinds of bots…
  • 4. • across many different canvases… Source: Competitive report and strategic overview series, Kurt DelBene (April 2016) The CaaP landscape beyond Microsoft and Facebook
  • 5. • and serving many different kinds of tasks… Source: Conversational Interfaces, STCI Research (March 2016)
  • 6. • Despite all the differences, common user requirements emerge 1. Real User Needs: meet the needs people have while chatting 2. Discoverability: awareness of bots and their features 3. First use: guidance for first run use 4. Input: appropriate, natural modalities 5. Output: surfacing information clearly and effectively 6. Responsiveness: timeliness and relevance of responses 7. Personality: verbal and visual cues that can enhance user engagement 8. Context: knowledge of situations and previous exchanges 9. Privacy: actions that build trust 10. Ongoing engagement: methods for creating repeated usage We can develop a more engaging and usable experience by designing for:
  • 7. 1. Real User Needs Successful utility bots provide new functionality that fulfills unmet needs. In most cases, simply porting an existing experience to a chat bot will not work because it’s hard to replace users’ existing habits. Build bot experiences that meet the needs people have when chatting. • Focus on solving real-world problems more efficiently than existing solutions. • Drive for convenience because it’s a key driver of bot usage. • To the extent possible, keep people in the chat experience so they don’t lose context.
  • 8. Examples of meeting Real User Needs Cola bots keep it all in-chat: Users can use Cola bots to send out polls, create to-do lists, locate each other, etc. Everything is kept in the conversation so users don’t have to leave. Slack bots solve real-world problems: The Meekan_scheduler bot coordinates calendars and finds the best time/place for a meeting.
  • 9. 2. Discoverability People need to discover how to obtain the bot and, once they have it, discover the bot’s features. Bot Discovery • Build in ways for users to discover the bot. • Look for exciting, shareable features. Feature Discovery • An easy OOBE can make a big difference. • Reinforce feature discovery by responding to chit chat and user explorations, as well as surfacing suggestions or promoting new “skills.”
  • 10. Examples of Discoverability Kik’s Bot Shop makes bots easy to find Kik offers an easily accessible Bot Shop in which users can browse and discover bots. Facebook Messenger bots are hard to find As a result, most users don’t even know bots exist on this platform.
  • 11. Examples of Discoverability Xiaoice is engaging and viral Xiaoice uses image technology for engaging party tricks like telling users which two people in a picture are most likely to date, who in a picture is most attractive, or who in a picture should pay for dinner. Users share these fun features with friends, helping new users discover Xiaoice.
  • 12. 3. First Use Experience The first use experience is a great opportunity to teach the user about the bot’s capabilities and how to interact with the bot, as well as providing an initial impression of the bot’s personality. • Be clear about the value prop so the user knows what the bot can do and what problems it can solve • Instruct the user how to use the bot, so they can immediately begin interacting with it • Make it easy for users to find these instructions again later, as they’re likely to forget, especially if instructions are complicated or they don’t use the bot for a bit • If possible, put legalese and policies on bot’s contact page or somewhere other than in the first use messaging. Legalese interferes with the bot’s personality, and adds a lot of text that most users won’t read
  • 13. Examples of First Use Experience Weather bot on Telegram has easy instructions It has a nice first- use message (although none of the commands seem to work) Shop Spring bot on FB Messenger gives no instructions: Nothing happens until user types something. Then, instructions appear and point users to buttons that don’t exist
  • 14. 4. Input People don’t want to spend a lot of time figuring out how to interact with a bot. Good support for natural language allows the bot to ‘just work’. Keyboard usage on mobile devices can be annoying, so allowing voice and providing clear action buttons can be very useful. • Maximize natural language. If syntax is required, make it simple and memorable. • Users may be using voice or text input. Users may frame their request differently depending on the input, and there may be extra utterances (e.g. “umm”) in voice input. • People may favor different input methods based on their situation. For example, if they are at work they may be using keyboard. If that’s the case, it might be inappropriate to respond to text input with audio output. • Recognition is easier than recall and can help improve the usability of products. Reduce the amount of keyboard usage and minimize cognitive load by providing contextually relevant action buttons/links.
  • 15. Examples of Input Hi Poncho uses natural language Hi Poncho on FB responds to natural language queries about the weather and even reacts to ‘Likes’ Shop Spring uses recognition over recall Shop Spring presents its categories as action buttons, enabling users to quickly browse without having to figure out syntax
  • 16. Examples of Input Slack provides syntax assistance Slack opens an autosuggest menu when the user types "@" or "/" to prompt the user with common commands.
  • 17. 5. Output The output of a conversation is the payoff for interacting with a bot. We need to celebrate our content. • Text: Avoid walls of text. Use cards, media, and other modalities when appropriate. • Cards: People tend to respond positively to cards that have: • Clean design and good layout • Clear information hierarchy • Information that effectively supports decision making (e.g., length of a movie, # of pages in a book, synopsis of a play) • For content that is time-relevant (e.g., stocks, scores, weather), use a date and time stamp • Carousels: Useful for displaying multiple cards, but are not appropriate for comparing information (e.g., seeing a 5 day weather forecast, seeing stocks in your portfolio, seeing a sports schedule).
  • 18. Examples of Output Cards for weather often use information hierarchy Temperature is largest text, icon has a pop of color. Lower priority weather details are present, but lower contrast font. Carousels prevent easy comparisons A carousel is an inefficient way to display a weather forecast – like in example with Hi Poncho.
  • 19. 6. Responsiveness Responses provide valuable feedback for learning. • Bots should respond to all input. Responses should be relevant, non-repetitive, and timely. • For slow replies, the bot might give an “I’m thinking” cue like “…” to indicate it’s processing. • If the bot can’t find anything relevant, then some response is better than no response, as no response leaves the user unsure whether something is broken. • Bot should be flexible in understanding word order.
  • 20. Examples of Responsiveness No response in the Bing Music App for Skype: The bot returns nothing for Lyrics Eagles, although the message was clearly sent. Frustrating for user to get no response. The WSJ bot has “I’m Thinking” cue The WSJ bot lets the user know that it is ‘looking up’ something shortly after you make a selection.
  • 21. 7. Personality Personality is part of the bot experience, even for a utility bot. • Personality is unavoidable. If you don’t build it in, users will infer their own. • Personality primarily comes from wording, but also media choices, manners & responsiveness, audio characteristics, and avatars. • When completing tasks, bot communication should be efficient yet friendly. • But when fulfilling social functions, bots can showcase a more “fun” personality and engaging skills. Bots should reach out to users, as well as the reverse – narrative can help. • In general, users respond best to young, attractive, female characteristics in bots (voice, etc.).
  • 22. @gif Telegram Google Now Slackbot Facebook MTelegram bots (@gif, PollBot) Google Now Slackbot Facebook M Personality from: • Curatorial choices Personality from: • Phrasing (“robotic”) • Message duration • Voice audio Personality from: • Phrasing (“quirky”) • Exclamation points! • Emoji Personality from: • Phrasing • Fun exchanges & Easter eggs • “Human” task completion Described as: • Precise • Purposeful • Formal Described as: • Purposeful • Precise • Formal Described as: • Sociable • Caring • Enthusiastic Described as: • Precise • Purposeful • Sociable Examples of Personality
  • 23. Examples of delivering on Personality Xiaoice has a fun personality Here, the user asked Xiaoice to send a photo of herself and replies with a hidden face. This was considered as positive and playful. Choose the personality of the Invisible Girlfriend bot Users choose personality traits during set up. Plus interests and demographics. And it can be changed later on.
  • 24. 8. Context Contextual awareness increases bots’ believability and usefulness. Bots can show context awareness of: • User intent (basic relevance) • Location and situation (e.g. traffic, shopping) • Past conversational exchanges (“Are you feeling better today?”) • Social or emotional state of the user
  • 25. Examples of Context Bing Bot for FB Messenger uses location data Knowing the user’s location lets the bot provide useful local information.
  • 26. 9. Privacy Some of users’ biggest concerns in this space are around security and privacy – What is being shared, and with whom? This includes concerns about the bot developer, the platform, and people in the conversation. Make it clear to users what is shared, particularly in human-to-human+bot scenarios.
  • 27. Examples of Privacy Telegram privacy concerns Users are intrigued by bots, but are concerned that Telegram or the 3rd party developer would be monitoring and saving conversations. Bing App for Slack privacy concerns Users loved the useful information, but were worried that their searches would auto-post and their chat- mates would see all of their searches.
  • 28. Examples of Privacy Invisible Girlfriend bot privacy concerns By the end of the sign- up process, user doesn’t trust the system enough to share information. It asks for particularly private info (phone number, credit card), but wasn’t clear where information would go or who would see it.
  • 29. 10. Ongoing Engagement For most bots, the goal is ongoing engagement – not just a single use. The following things can lead to repeated usage. • Proactivity can be effective for re-engagement, but can quickly turn into clutter • Situational triggers can be powerful. Repeat bot usage primarily comes when a user need arises and the bot is the easiest way to address it. Example: Booking a restaurant is much simpler with Facebook M • Promote ongoing user education through multiple approaches • Releasing updates on a regular schedule can lead to regular re- engagement
  • 30. Examples of Ongoing Engagement TrumpChat uses notifications well This Kik bot is simple, but engaging because it’s entertaining and offers 3 quick election news stories per day. Also pings users once a day reminding them of updated news. Xiaoice announces new skills every Wednesday A regular schedule of new features re-engages users by reminding and enticing them. Example skills: • Counting sheep • Chinese word play • Telling jokes • Guessing age • Judging beauty • Toilet time jokes • PK fighting • Weather • Read your mind
  • 32. Bots are not artificial intelligence only
  • 33. Bots are not text interface only
  • 35. Your bot code Entity Extraction Speech Bot Clipboard w entities Natural Language Translation + Intelligent Services Bing Knowledge User Preferences Image Intelligence … Message input <> output Add logic and keep track of dialogs and state Connect to people where they are +Directory for finding your bot, registration and management dashboard Bot Connector Conversation Canvas …… … Other services, APIs, Databases, … Bot Builder SDK Web Chat Directline… Email Facebook GroupMe Kik Skype Slack Telegram Twilio (SMS) Azure or other
  • 40. Roll your own with REST APIs Simple to add: just a few lines of code required Integrate into the language and platform of your choice Breadth of offerings helps you find the right API for your app Built by experts in their field from Microsoft Research, Bing, and Azure Machine Learning Quality documentation, sample code, and community support Easy Flexible Tested GET A KEY
  • 42. Computer Vision API Distill actionable information from images Video API Analyze, edit, and process videos within your app Face API Detect, identify, analyze, organize, and tag faces in photos Emotion API Personalize experiences with emotion recognition Vision
  • 43. Speech Bing Speech API Convert speech to text and back again, and understand its intent Speaker Recognition API Give your app the ability to know who's talking Custom Recognition Intelligent Service Fine-tune speech recognition for anyone, anywhere
  • 44. Speech Bing Spell Check API Detect and correct spelling mistakes within your app Language Understanding Intelligent Service Teach your apps to understand commands from your users Web Language Model API Leverage the power of language models trained on web-scale data Linguistic Analysis API Easily parse complex text with language analysis Text Analytics API Detect sentiment, key phrases, topics, and language from your text Language
  • 45. LanguageKnowledge Academic Knowledge API Explore relationships among academic papers, journals, and authors Recommendations API Provide personalized product recommendations for your customers Knowledge Exploration Service Add interactive search over structured data to your project Entity Linking Service Contextually extend knowledge of people, locations, and events
  • 46. KnowledgeSearch Bing Web Search API Connect powerful search to your apps Bing Video Search API Trending videos, detailed metadata, and rich results Bing Autosuggest API Give your app intelligent autosuggest options for searches Bing Image Search API Bring advanced image and metadata search to your app Bing News Search API Link your users to robust and timely news searches