-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs(ux-writing): Adds conversation design and chatbot guidelines. #4206
base: main
Are you sure you want to change the base?
Changes from 9 commits
1e032d0
0e8219b
0f47a3b
6ecaaf0
6485a29
3866c4f
554fb85
9498897
b575bf2
8ae6730
8625cea
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,64 @@ | ||||||
--- | ||||||
id: Chatbots | ||||||
section: AI | ||||||
subsection: Conversation design | ||||||
--- | ||||||
|
||||||
import { Button, Card, CardBody, CardFooter, CardTitle, Divider, Gallery, GalleryItem } from '@patternfly/react-core'; | ||||||
import ArrowRightIcon from '@patternfly/react-icons/dist/esm/icons/arrow-right-icon'; | ||||||
|
||||||
## Writing for chatbots | ||||||
|
||||||
When chatbots are designed to meet the needs of your users, they can improve the overall UX of your product, because they are convenient, efficient, and persistent. | ||||||
|
||||||
Chatbots are only as good as the writing that goes into them. The language they use must build trust and clearly establish the “rules” of the conversation. | ||||||
|
||||||
There 2 main types of chatbots: | ||||||
|
||||||
<Gallery hasGutter minWidths={{default:'400px'}}> | ||||||
<GalleryItem> | ||||||
<Card isFullHeight isLarge> | ||||||
<CardTitle>Rule-based chatbots</CardTitle> | ||||||
<CardBody>Bots that are based on a set of predefined rules. These use a planned, guided dialog, and have a script that the user must stay on. The script is written by a human, including any microcopy, rules, prompts, and responses.</CardBody> | ||||||
<CardFooter> <Button component="a" href="https://www.patternfly.org/ux-writing/chatbots" variant="link" icon={<ArrowRightIcon />} iconPosition="end"> View chatbot writing guidelines </Button></CardFooter> | ||||||
</Card> | ||||||
</GalleryItem> | ||||||
<GalleryItem> | ||||||
<Card isFullHeight isLarge > | ||||||
<CardTitle>AI-based chatbots</CardTitle> | ||||||
<CardBody>Bots that use technologies like natural language processing and generative AI to parse user input and decide how to response. Often makes for a more natural, free flowing conversation, but relies on a trustworthy AI model.</CardBody> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
<CardFooter> <Button component="a" href="https://www.patternfly.org/" variant="link" icon={<ArrowRightIcon />} iconPosition="end"> Use our chatbot extension</Button> </CardFooter> | ||||||
</Card> | ||||||
</GalleryItem> | ||||||
</Gallery> | ||||||
|
||||||
## When should I use a chatbot? | ||||||
|
||||||
It is important to only use chatbots when they add value to the user experience. Do not use chatbots simply for the sake of novelty. Your users aren't likely to be excited to interact with a new chatbot feature, unless it directly helps them. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
Common chatbot uses include: | ||||||
- Providing customer assistance, when waiting for human help would take longer | ||||||
- Connecting users with resources, to streamline the process of searching for resources on their own | ||||||
- Using natural language to share information with users (requires generative AI support) | ||||||
- Assisting users with common, recurring tasks | ||||||
|
||||||
Before building a chatbot, ask yourself the following questions: | ||||||
- What are your users’ goals? | ||||||
- How could a bot help your users reach their goals? | ||||||
- How is a bot better than traditional contextual support, like wizards, modals, and so on? | ||||||
|
||||||
| **Don't** | **Do** | | ||||||
| --- | --- | | ||||||
| Don't use a chatbot when users can accomplish tasks more efficiently through the UI. | Do use a chatbot to help resolve common problems more efficiently. | | ||||||
| Don't use a chatbot for a complex or lengthy process. | Do use a chatbot to make it easier for users to complete routine tasks. | | ||||||
| Don't use a chatbot for sensitive or emotional topics, that need real humans. | Do use a chatbot if users would benefit from on-demand help, quicker than humans can provide. | | ||||||
|
||||||
## Chatbot personality and branding | ||||||
|
||||||
Chatbots should be aligned with the [PatternFly brand guidelines.](/ux-writing/brand-voice-and-tone) If your chatbot is designed for a Red Hat product, there are [additional Red Hat brand guidelines](https://www.redhat.com/en/about/brand/standards) that you should follow. | ||||||
|
||||||
Additionally, you will need to customize a brand for your chatbot, including a name, personality, and avatar. Doing so will help users identify and understand the bot, and will also help you build a consistent bot identity. | ||||||
|
||||||
|
||||||
|
||||||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,47 @@ | ||||||
--- | ||||||
id: About conversation design | ||||||
section: AI | ||||||
subsection: Conversation design | ||||||
--- | ||||||
|
||||||
# What is conversation design? | ||||||
|
||||||
**Conversation design** is a subset of UX that's focused on the design of conversation between humans and technology, most often through chatbots or voicebots. The goal of conversation design is to create an interactive experience that resembles human-to-human conversation as much as possible. | ||||||
|
||||||
It is important to align conversation design with the established [PatternFly brand voice and tone](/ux-writing/brand-voice-and-tone), as well as our [AI guidelines](/ai/ai-guidelines) and [principles.](/ai/about-ai) | ||||||
rebeccaalpert marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
## What do conversation designers do? | ||||||
|
||||||
Often coming from the field of UX, **conversation designers** combine technical and writing skills with the fundamentals of user-centered design to ensure that the development and use of chatbots is centered on real user needs. They work on all text related to the conversational UI, including prompts, replies, and buttons. | ||||||
|
||||||
Conversation designers work across the following phases of design. | ||||||
|
||||||
- **Strategy:** Based on goals, expectations, and desires of users. | ||||||
- Develop an understanding on your audience through existing research, personas, and interviews. | ||||||
- Decide on an approach for the chatbot's personality, voice, and tone. | ||||||
- Outline the paths that a user could take in a chatbot conversation, as well as the consequences of veering off a path. | ||||||
|
||||||
- **Writing and design:** Following the strategy you develop, write the chatbot's dialog, including questions and responses. | ||||||
- Typically write messages for welcome, opt-in, global help and stop requests, quick replies and buttons, and re-engagement messages. | ||||||
- Start with an outline and fill in the gaps. | ||||||
- By being reliable, predictable, and transparent, build trust and confidence that your chatbot can deliver what it says it will. | ||||||
|
||||||
- **Prototyping and testing:** Create a working prototype, test it, and iterate as needed. | ||||||
- Use a prototyping software to build the chatbot flows. | ||||||
- Identify any points of friction or error. | ||||||
- Check with stakeholders that the chatbot is helping users meet the right goals. | ||||||
|
||||||
## Best practices | ||||||
|
||||||
These best practices for conversation design will help ensure that your users needs are met and that their experience with your chatbot is positive and painless. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
- Reference your chatbot's goal in your opening and keep it the focus throughout the conversation. | ||||||
- Be clear. Keep it short and simple. Try to stick to 3 lines of text in a message. Only send 1 to 3 messages before allowing a user to provide input. | ||||||
- Avoid open ended questions. If you ask any, make them very simple, increase pause time between messages, and tell users when they should type. | ||||||
- Be direct. Limit choices for users as much as possible and provide examples when you can. | ||||||
- Frame questions in terms of value for the user. | ||||||
- Unlike traditional content design, *don't lead with the benefit.* End with the benefit to be sure that its read and acted upon. Users should be able to complete an action solely based on a chatbot's last sentence. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
- If you ask for personal info, tell users "why" you're asking first. | ||||||
- Establish conversation patterns and stick to them. | ||||||
- Always have the last word. | ||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
--- | ||
id: Conversation design | ||
section: PatternFly-AI | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Which sections do we want this and the chatbots.md files to appear in the nav? Should they be under patternfly-ai/conversation-design as different tabs? if so, i think you should be able to do that by using
|
||
--- | ||
|
||
import { Button, Flex, FlexItem } from '@patternfly/react-core'; | ||
import ArrowRightIcon from '@patternfly/react-icons/dist/esm/icons/arrow-right-icon'; | ||
|
||
|
||
# Conversation design guidelines | ||
|
||
**Conversation design** is method of writing for conversational interfaces, like chatbots or voicebots. The goal of conversation design is to create an interactive experience that resembles human-to-human conversation as much as possible. Like traditional content design, conversation design is focused on using words to make experiences clear, concise, and well-timed. | ||
|
||
Good conversation design combines content strategy, writing, and design to ensure that the development and use of chatbots is centered on real user needs. This includes making sure that all text related to the conversational UI supports easy engagement with chatbots, while staying aligned with brand standards. | ||
|
||
When designing AI conversations alongside PatternFly-based projects, it is important to align with our established [brand voice and tone](/ux-writing/brand-voice-and-tone), as well as our [ethical guidelines for AI.](/patternfly-ai/ai-guidelines) | ||
rebeccaalpert marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Best practices | ||
|
||
Following these best practices to help ensure that your users can complete their goals through an AI-based conversation: | ||
|
||
- Be transparent about AI use. | ||
- Be direct, brief, and consistent. | ||
- Frame questions in terms of value for the user. | ||
- If you ask for personal info, tell users "why" you're asking first. | ||
- Always have the last word. | ||
|
||
## Writing for chatbots | ||
|
||
When chatbots are designed to meet the needs of your users, they can improve the overall UX of your product. They are convenient, efficient, and persistent. | ||
|
||
[Our virtual assistant extension](/patterfnfly-ai/chatbot/about-virtual-assistant) utilizes PatternFly components to create a foundation for an AI-based chatbot, with additional customization options. | ||
edonehoo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
<Flex> | ||
<FlexItem> | ||
<Button component="a" href="/patternfly-ai/chatbot/about-chatbot" target="_blank" variant="primary" size="lg">Use the chatbot extension <ArrowRightIcon /></Button> | ||
</FlexItem> | ||
</Flex> | ||
|
||
Chatbots are only as good as the writing that goes into them. The language they use must build trust, clearly establish the “rules” of the conversation, and support users' goals. | ||
|
||
In addition to general microcopy, like headings or buttons, you will need to write: | ||
- Welcome and goodbye messages. | ||
- Bot prompts. | ||
- AI disclosures. | ||
|
||
### Welcome and goodbye messages | ||
|
||
It is important to always welcome users to the chatbot experience, and (if applicable) to say goodbye when they've ended the chat. A goodbye message isn't always necessary, like in instances where users can "minimize" a chat window to come back to it later. | ||
|
||
When you know your user's name, address them directly. | ||
|
||
![Chatbot welcome message with user's name](./img/chatbot-welcome.png) | ||
|
||
### Bot prompts | ||
|
||
When writing your bot's prompts: | ||
|
||
- Keep messages short and simple. Try to stick to 3 lines of text in a message and only send 3 messages at most before allowing a user to provide input. | ||
- Be direct and limit choices for users as much as possible. | ||
- Unlike traditional content design, *don't lead with the benefit.* End with the benefit to be sure that its read and acted upon. Users should be able to complete an action solely based on a chatbot's last sentence. | ||
- Frame any questions from the bot in terms of value for the user. | ||
- Provide examples when relevant. | ||
- Avoid open ended questions. If you ask any, make them very simple, increase pause time between messages, and tell users when they should type. | ||
- Utilize different methods of presenting information, like cards or buttons. You don't have to always use plain text in your messages; sometimes different message types can be more convenient and engaging. | ||
|
||
![Chatbot prompt examples](./img/chatbot-prompts.png) | ||
|
||
### AI disclosure | ||
|
||
Make sure to disclose any use of AI in chatbots. Our users should be able to trust that we are honest and transparent with them as much as possible. | ||
|
||
- Use labels and other visual styling cues to clearly identify AI features. | ||
- Add necessary legal disclosures where you can, like in the chatbot footer. | ||
- Display an indicator when the bot is "thinking" or "typing," so that users know to expect feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this link exist?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oops, I actually meant to delete this page!