Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
koverholt committed Oct 17, 2023
1 parent 52c6970 commit aa080f9
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 59 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/conversation-design.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ on:
push:
branches:
- main
paths:
- "conversation-design/**"

jobs:
deploy:
Expand Down
2 changes: 1 addition & 1 deletion conversation-design/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Designing Actions on Google

<img width="400" align="right" alt="Intro image" src="static/intro-anim.gif">
<img width="400" align="right" alt="Intro image" src="/static/intro-anim.gif">
Creating Actions for the Google Assistant requires a breadth of design expertise
(for example, voice user interface design, interaction design, visual design,
motion design, and UX writing) that we’ve refined into a single discipline:
Expand Down
105 changes: 85 additions & 20 deletions conversation-design/docs/learn-about-conversation.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,109 @@
New to conversation design? Here are a few high-level principles and concepts to
get you started before you write your first sample dialog.

The Cooperative Principle
## The Cooperative Principle

Watch this video for a crash course on how to write dialog that's comfortable,
frictionless, and user-centric by applying the Cooperative Principle.

<iframe width="560" height="315"
src="https://www.youtube.com/embed/wuDP_eygsvs?si=YyUg_C-VOuKTfNTm"
title="YouTube video player" frameborder="0" allow="accelerometer; autoplay;
clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen></iframe>

According to the Cooperative Principle, efficient communication relies on the
assumption that there's an undercurrent of cooperation between conversational
participants.

The Cooperative Principle can be understood in terms of four rules, called
Grice's Maxims.

We instinctively cooperate in terms of... Maxim (or rule)
[Grice's Maxims](http://www.ucl.ac.uk/ls/studypacks/Grice-Logic.pdf).

- ...the truth of what we say Maxim of Quality
- ...the quantity of information that we provide Maxim of Quantity
- ...the relevance of what we contribute Maxim of Relevance
- ...the way we strive to communicate clearly, without obscurity or ambiguity
Maxim of Manner
| We instinctively cooperate in terms of... | Maxim (or rule) |
|-----------------------------------------------------------------------------|--------------------|
| ...the truth of what we say | Maxim of Quality |
| ...the quantity of information that we provide | Maxim of Quantity |
| ...the relevance of what we contribute | Maxim of Relevance |
| ...the way we strive to communicate clearly, without obscurity or ambiguity | Maxim of Manner |

Research has shown that people respond to technology as they would to another
human. This means users rely on their existing model of human-to-human
conversation and follow the Cooperative Principle even when interacting with the
persona of a conversational user interface, and they expect your persona to
follow it, too.

Expect users to be informative.

Because users are cooperative, they often offer more information than is
literally required of them.

Do.

Not only did this user answer the question about shoe-type, they also specified the size, in an attempt to find what they want quickly. Expect this kind of behavior from repeat users who know what other questions will be asked.

Don't.
<table class="grid">
<tr>
<td>
<span style="font-size:20px;">Expect users to be informative.</span>
<br/>
Because users are cooperative, they often offer more information than is literally required of them.
</td>
<td>
<img src="/static/informative-do.png">
</td>
<td>
<img src="/static/informative-dont.png">
</td>
</tr>
<tr>
<td>
</td>
<td>
<span style="color:green; font-weight:bold; font-size: 16px;">Do.</span>
</td>
<td>
<span style="color:red; font-weight:bold; font-size: 16px;">Don't.</span>
</td>
</tr>
<tr>
<td>
</td>
<td>
<span style="font-size:14px;">Not only did this user answer the question about shoe-type, they also specified the size, in an attempt to find what they want quickly. Expect this kind of behavior from repeat users who know what other questions will be asked.</span>
</td>
<td>
<span style="font-size:14px;">Here, the persona was only expecting the answer to the question about shoe-type. Cooperative users will be frustrated by having to repeat the shoe size again.</span>
</td>
</tr>
</table>

<table class="grid">
<tr>
<td>
<span style="font-size:20px;">Get the dialog back on track.</span>
<br/>
Your persona won't always be able to handle cooperative responses. In these cases, rely on lightweight and conversational error handling to get the dialog back on track in a way that doesn't draw attention to the error.
</td>
<td>
<img src="/static/informative-do.png">
</td>
<td>
<img src="/static/informative-dont.png">
</td>
</tr>
<tr>
<td>
</td>
<td>
<span style="color:green; font-weight:bold; font-size: 16px;">Do.</span>
</td>
<td>
<span style="color:red; font-weight:bold; font-size: 16px;">Don't.</span>
</td>
</tr>
<tr>
<td>
</td>
<td>
If your persona is expecting a numerical answer, then cooperative/informative responses like these won't be understood. So handle this No Match error with a rapid reprompt.
</td>
<td>
Avoid responding with long reprompts when possible. In this case, the shorter reprompt will serve the same purpose, without making the user wait as long.
</td>
</tr>
</table>

Here, the persona was only expecting the answer to the question about shoe-type. Cooperative users will be frustrated by having to repeat the shoe size again.

Get the dialog back on track.
Your persona won't always be able to handle cooperative responses. In these cases, rely on lightweight and conversational error handling to get the dialog back on track in a way that doesn't draw attention to the error.
Expand Down
43 changes: 5 additions & 38 deletions conversation-design/docs/what-is-conversation-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,41 +83,8 @@ doesn’t start for another hour.
Conversation design is about teaching computers to be fluent in human
conversation and its conventions.

<table>
<tr>
<td>
<b>Start with what humans do</b>
</td>
<td>
Conversations with a computer should not feel awkward or break patterns
that adapt to the communication system users learned first and know best.
This helps create an intuitive and frictionless experience.
</td>
</tr>
<tr>
<td>
<b>Adapt to technical limitations</b>
</td>
<td>
In some ways, computers fall short of human capabilities. Technical
limitations introduce scenarios that don’t occur in human-to-human
conversation. For example, human conversation never fails due to an
unrecoverable error. Human conversation doesn’t require starting with a
specific word or phrase, e.g., “Ok Google”. In these cases, rely on user
research to determine the best approach.
</td>
</tr>
<tr>
<td>
<b>Leverage technical strengths</b>
</td>
<td>
In other ways, computers can exceed human capabilities. They don’t get
tired of being asked the same questions. They aren’t offended by being
given commands. There’s no need to pepper their responses with filler
words or other formulaic language, e.g., ums and ahs. They can quickly
find and share information. Look for opportunities to avoid annoyance,
streamline conversations, and exceed expectations.
</td>
</tr>
</table>
| Principle | Description |
|--------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Start with what humans do | Conversations with a computer should not feel awkward or break patterns that adapt to the communication system users learned first and know best. This helps create an intuitive and frictionless experience. |
| Adapt to technical limitations | In some ways, computers fall short of human capabilities. Technical limitations introduce scenarios that don’t occur in human-to-human conversation. For example, human conversation never fails due to an unrecoverable error. Human conversation doesn’t require starting with a specific word or phrase, e.g., “Ok Google”. In these cases, rely on user research to determine the best approach. |
| Leverage technical strengths | In other ways, computers can exceed human capabilities. They don’t get tired of being asked the same questions. They aren’t offended by being given commands. There’s no need to pepper their responses with filler words or other formulaic language, e.g., ums and ahs. They can quickly find and share information. Look for opportunities to avoid annoyance, streamline conversations, and exceed expectations. |
3 changes: 3 additions & 0 deletions conversation-design/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ markdown_extensions:
extra:
generator: false

extra_css:
- style/extra.css

nav:
- Overview:
- "Welcome": index.md
Expand Down

0 comments on commit aa080f9

Please sign in to comment.