Autonomy &amp; Control https://smarterpatterns.com/taxonomy/term/41 en Crowdsourcing https://smarterpatterns.com/patterns/166/crowdsourcing <span>Crowdsourcing</span> <div> <div>Application</div> <div><a href="/taxonomy/term/21" hreflang="en">Input Data</a></div> </div> <span><span>leighbryant</span></span> <span>Fri, 10/25/2019 - 13:38</span> <div> <div>Topic</div> <div><a href="/taxonomy/term/41" hreflang="en">Autonomy &amp; Control</a></div> </div> <div><p><strong>Problem:&nbsp;</strong></p> <p>The system has insufficient or low confidence in the data, it relies on explicit user inputs to make effective, real-time updates to the AI predictions. The user doesn’t want to put a lot of effort into this.</p> <figure><img alt="The Trainline app asks for user input to accurately show seat availability on board." data-entity-type="file" data-entity-uuid="78eb1718-bd6d-405a-a3ae-759afbdfb3c1" src="/sites/default/files/content-images/SmartPattern.gif" style="max-width:350px;width:100%" /> <figcaption>The Trainline app uses crowdsourcing to help make predictions around seat availability, keeping the interactions light so users are more inclined to participate.</figcaption> </figure> <p><strong>Solution:</strong></p> <p>The system provides easy input options for users to contribute back (by choice) to the functioning of the AI and highlights the reasons for doing so.</p> <p><strong>Discussion:</strong></p> <p>Many algorithms rely on ongoing user updates to the information they work from in order to be effective. While some do this in the background (think Google Maps or Waze and their dependence on regular traffic updates, largely gleaned from the relative speed of drivers over a distance, to accurately predict travel times), other algorithms may need users to actively give feedback. By making their input both easy to offer and the reasons for doing so clear, the AI systems can bring the user into the process to ensure the outcomes are useful for all users.</p> <p>&nbsp;</p> <p><em>Pattern submission via <a href="https://www.linkedin.com/in/srutek/">Jan Srutek</a></em><br /> &nbsp;</p> </div> Fri, 25 Oct 2019 13:38:11 +0000 leighbryant 166 at https://smarterpatterns.com Dark Pattern: Stealth Training https://smarterpatterns.com/patterns/121/dark-pattern-stealth-training <span>Dark Pattern: Stealth Training </span> <div> <div>Application</div> <div><a href="/taxonomy/term/21" hreflang="en">Input Data</a></div> </div> <span><span>leighbryant</span></span> <span>Wed, 08/21/2019 - 17:15</span> <div> <div>Topic</div> <div><a href="/taxonomy/term/41" hreflang="en">Autonomy &amp; Control</a></div> </div> <div><p><strong>Problem:</strong></p> <p>The user wants to know when inputs they provide are being used to complete their intended task(s) and when they're being used to train the system.</p> <figure><img alt="Example of stealth data collection from webscore" data-entity-type="file" data-entity-uuid="54c34f5c-3d08-42b1-a608-77eacc1e82f7" src="/sites/default/files/content-images/Stealth_Training-webscoreai_0.png" /> <figcaption>In this example, there is no explanation of what the user input will do after it is provided. Will it help to train the system?</figcaption> </figure> <p><strong>Dark pattern response:</strong></p> <p>The system collects data from the user for training purposes, but either does not declare what use the data is being put to or misleads the user to suggest that it is being used for task completion.&nbsp;</p> <p>&nbsp;</p> <p><strong>Discussion:</strong></p> <p>Understanding what the system is doing at any point is vital for building trust in the system. Beyond that, if the user knows that data is used for training and not direct task completion, they may choose not to provide that data. To lead the user to believe something which is not the case, through deliberately misleading language or simple lies of omission, is to deploy a coercive dark pattern, which should be avoided.&nbsp;<br /> &nbsp;</p> </div> Wed, 21 Aug 2019 17:15:18 +0000 leighbryant 121 at https://smarterpatterns.com Data Deletion Awareness https://smarterpatterns.com/patterns/116/data-deletion-awareness <span>Data Deletion Awareness</span> <div> <div>Application</div> <div><a href="/taxonomy/term/11" hreflang="en">Control</a></div> </div> <span><span>leighbryant</span></span> <span>Wed, 08/21/2019 - 17:14</span> <div> <div>Topic</div> <div><a href="/taxonomy/term/41" hreflang="en">Autonomy &amp; Control</a></div> </div> <div><p><strong>Problem:</strong></p> <p>The user wants to have full control over their data. Even after they have submitted it to the system, they may want to delete it.</p> <figure><img alt="Example of infotip regarding how users can delete personal information from an app" data-entity-type="file" data-entity-uuid="ae4ea37f-1e47-4803-8a3b-ab1b41329f95" src="/sites/default/files/content-images/Data_Deletion_Awareness-wysa.png" /> <figcaption>The application provides a clear explanation of how to delete data.</figcaption> </figure> <p><strong>Solution:</strong></p> <p>The system tells the user how they can delete their data as well as&nbsp;the consequences of doing so, and provides a clear means to proceed with the action.</p> <p>&nbsp;</p> <p><strong>Discussion:</strong></p> <p>Allowing the user to delete their data at any time is an effective way to ensure the user is comfortable providing such data in the first place. Of course, the onus is on the system and organization to act responsibly and genuinely remove the data in question from storage, rather than just hide it in the UI layer.<br /> &nbsp;</p> </div> Wed, 21 Aug 2019 17:14:14 +0000 leighbryant 116 at https://smarterpatterns.com Manual Overrides https://smarterpatterns.com/patterns/111/manual-overrides <span>Manual Overrides </span> <div> <div>Application</div> <div><a href="/taxonomy/term/16" hreflang="en">Display</a></div> </div> <span><span>leighbryant</span></span> <span>Wed, 08/21/2019 - 17:11</span> <div> <div>Topic</div> <div><a href="/taxonomy/term/41" hreflang="en">Autonomy &amp; Control</a></div> </div> <div><p dir="ltr"><b id="docs-internal-guid-542220bc-7fff-9025-dbfc-808af0dd3365">Problem:</b></p> <p dir="ltr"><b id="docs-internal-guid-542220bc-7fff-9025-dbfc-808af0dd3365">The system provides one or more AI-generated responses, but the user isn't happy with any of them.</b></p> <figure><img alt="Example of avatar creation flow featuring AI-generated and designer-generated options for users to choose from" data-entity-type="file" data-entity-uuid="bdcbab76-a3e5-4605-9a48-8a13a7998466" src="/sites/default/files/content-images/Manual_Overrides-avatars.png" /> <figcaption>An avatar-creation flow offers AI-generated solutions as well as pre-populated solutions created by a designer without the aid of AI.</figcaption> </figure> <p><strong>Solution:</strong></p> <p>In addition to dynamically generated AI-responses, the system provides a range of pre-made options not informed by AI to choose from.</p> <p>&nbsp;</p> <p><strong>Discussion:</strong></p> <p>Allowing designers to to pre-make alternate responses can be a useful addition to a system, since they're generally good at anticipating users' needs. There are a number of advantages to this approach: it's a good fallback if the AI fails to produce satisfactory quality; it can be a demonstration of the best of what the AI is capable of; and it allows the user to feel empowered choosing the AI-option knowing that they could otherwise opt out while still proceeding in the process.<br /> &nbsp;</p> </div> Wed, 21 Aug 2019 17:11:30 +0000 leighbryant 111 at https://smarterpatterns.com Progressive Feature Reveal https://smarterpatterns.com/patterns/106/progressive-feature-reveal <span>Progressive Feature Reveal </span> <div> <div>Application</div> <div><a href="/taxonomy/term/31" hreflang="en">System Feedback</a></div> </div> <span><span>leighbryant</span></span> <span>Wed, 08/21/2019 - 17:09</span> <div> <div>Topic</div> <div><a href="/taxonomy/term/41" hreflang="en">Autonomy &amp; Control</a></div> </div> <div><p dir="ltr"><strong>Problem:</strong></p> <p dir="ltr">The system can do a lot of interesting things. But the user doesn't want to be bombarded with information learning about them all at once.<br /> &nbsp;</p> <figure><img alt="Example of progressive feature reveal, prompting the user to take next steps in an application by explaining as the need arises" data-entity-type="file" data-entity-uuid="2bf7caa8-e2e9-42a4-a643-6813e98d0a01" src="/sites/default/files/content-images/Progressive_Feature_Reveal-youper.png" /> <figcaption>An app offers progressively more information as the user gets further into the system's set up flow.</figcaption> </figure> <p><strong>Solution:</strong></p> <p>The system slowly reveals features over the first phase of use.</p> <p>&nbsp;</p> <p><strong>Discussion:</strong></p> <p>As with <a href="/patterns/91/confirm-configuration">Confirm Configuration</a> and similar patterns, the designer should think of the features of a piece of software not just extending across a UI, but also in time. Not only what is displayed where, but what is displayed when and on what trigger? Whole sections of the app may initially be hidden and only activate later when relevant.<br /> &nbsp;</p> </div> Wed, 21 Aug 2019 17:09:58 +0000 leighbryant 106 at https://smarterpatterns.com Chat Presets https://smarterpatterns.com/patterns/101/chat-presets <span>Chat Presets</span> <div> <div>Application</div> <div><a href="/taxonomy/term/1" hreflang="en">Behaviour</a></div> </div> <span><span>leighbryant</span></span> <span>Wed, 08/21/2019 - 17:06</span> <div> <div>Topic</div> <div><a href="/taxonomy/term/41" hreflang="en">Autonomy &amp; Control</a></div> </div> <div><p dir="ltr"><strong>Problem:</strong></p> <p dir="ltr">There are lots of potential conversational paths with a chatbot and sometimes the user will type something weird that breaks the intended conversation flow.</p> <figure><img alt="Example of preset chat prompts that encourage engagement but don't require massive manual input on the part of the user" data-entity-type="file" data-entity-uuid="8c03eae7-581f-4ee4-9385-0dd5ed4f30bf" src="/sites/default/files/content-images/Chat_Presets-wysa_2.png" /> <figcaption>An app offers manual text input, pre-populated short answer suggestions, and suggested options for larger, more informational outputs with minimum user input required.</figcaption> </figure> <p><strong>Solution:</strong></p> <p>Just because an app is a chatbot doesn't mean that all responses need to be in the form of text entry. The bot can prompt the user to select a binary yes / no answer, select one from a range of preset answers, grab a slider, or even select an image or other media item as their response.&nbsp;</p> <p><strong>Discussion:</strong></p> <p>A UI that blends chatbot text entry with other input mechanisms can be the best of both worlds, allowing the presentation of conventional UI elements at strategic times while remaining embedded in a conversation that provides context and motivation for data entry.<br /> &nbsp;</p> <p dir="ltr"><strong>Other Examples:</strong></p> <figure><b id="docs-internal-guid-90fe46a7-7fff-0a8e-5fa1-4cf6e91fe6d8"><img alt="Example of chat prompt button to encourage engagement without requiring massive manual input" data-entity-type="file" data-entity-uuid="acecdd0f-fa85-474d-8305-91887ef249c2" src="/sites/default/files/content-images/Chat_Presets-youper_0.png" /></b> <figcaption>An application offers pre-set text to help direct conversation and limit chances of breaking the conversational flow.</figcaption> </figure> <p dir="ltr">&nbsp;</p> </div> Wed, 21 Aug 2019 17:06:33 +0000 leighbryant 101 at https://smarterpatterns.com Bot Conversation Starter https://smarterpatterns.com/patterns/96/bot-conversation-starter <span>Bot Conversation Starter</span> <div> <div>Application</div> <div><a href="/taxonomy/term/1" hreflang="en">Behaviour</a></div> </div> <span><span>leighbryant</span></span> <span>Wed, 08/21/2019 - 17:05</span> <div> <div>Topic</div> <div><a href="/taxonomy/term/41" hreflang="en">Autonomy &amp; Control</a></div> </div> <div><p dir="ltr"><strong>Problem:</strong></p> <p dir="ltr">When confronted with an open-ended UI such as the text box of a chatbot, it can be bewildering for the user to know where to start.</p> <figure><img alt="Example of bot conversation starter with a binary yes/no prompt to help guide the user through a natural conversation flow" data-entity-type="file" data-entity-uuid="cccde5da-87ba-419a-8c5f-0a908516d595" src="/sites/default/files/content-images/Bot_Conversation_Starter.png" /> <figcaption>A chatbot application provides a prompt question that helps direct the conversational flow for the user to help guide it through the functions of the app.</figcaption> </figure> <p><strong>Solution:</strong></p> <p>On first use, the bot asks questions that prompt predictable responses from the user, guiding feature discovery and setting user expectations around the user experience to follow.</p> <p>&nbsp;</p> <p><strong>Discussion:</strong></p> <p>Interacting with bots is still a relatively new experience for many, so curating pathways for new users is vital for creating a good first impression.<br /> &nbsp;</p> </div> Wed, 21 Aug 2019 17:05:02 +0000 leighbryant 96 at https://smarterpatterns.com Confirm Configuration https://smarterpatterns.com/patterns/91/confirm-configuration <span>Confirm Configuration </span> <div> <div>Application</div> <div><a href="/taxonomy/term/21" hreflang="en">Input Data</a></div> </div> <span><span>leighbryant</span></span> <span>Wed, 08/21/2019 - 17:04</span> <div> <div>Topic</div> <div><a href="/taxonomy/term/41" hreflang="en">Autonomy &amp; Control</a></div> </div> <div><p dir="ltr"><strong>Problem:</strong></p> <p dir="ltr">The system requires the user to provide configuration details in order to work effectively. The user does not want to invest effort into this process.&nbsp;</p> <figure><img alt="Two examples of confirmation messaging prompts in a chatbot conversation flow" data-entity-type="file" data-entity-uuid="d2b20a93-cd06-42c3-8eaf-32188e9443d3" src="/sites/default/files/content-images/Confirm_Configuration.png" /> <figcaption>In these two examples, the system uses AI to offer suggestions and prompts to set its functioning so the user can continue with a minimum of input effort.</figcaption> </figure> <p><strong>Solution:</strong></p> <p>Rather than asking for all configuration details upfront, the system starts running on minimal input and sensible defaults, and organically prompts the user to provide more configuration details over time. This can be in the form of confirming defaults, e.g. "It looks like 3:32pm where you are. Is that correct?" or it can be asking for input on unknown variables.&nbsp;</p> <p>&nbsp;</p> <p><strong>Discussion:</strong></p> <p>A key difference for many AI-driven apps compared to non-AI is that user experience will evolve over time, as the user becomes more comfortable using the system and as the system gains in accuracy and capability. With this in mind as designers, the focus should be less on fully configuring the system upfront, and more on how it can become increasingly customized to the user's requirements in a staged process. This is especially relevant for a chatbot type app, where configuration questions can slide naturally into other conversations.<br /> &nbsp;</p> </div> Wed, 21 Aug 2019 17:04:02 +0000 leighbryant 91 at https://smarterpatterns.com Qualitative Feedback for Training https://smarterpatterns.com/patterns/86/qualitative-feedback-training <span>Qualitative Feedback for Training</span> <div> <div>Application</div> <div><a href="/taxonomy/term/21" hreflang="en">Input Data</a></div> </div> <span><span>leighbryant</span></span> <span>Wed, 08/21/2019 - 16:56</span> <div> <div>Topic</div> <div><a href="/taxonomy/term/41" hreflang="en">Autonomy &amp; Control</a></div> </div> <div><p><strong>Problem:</strong></p> <p>When a system being trained by a user is not producing adequate outputs, more information is required to understand what's not working as expected or desired. The user does not want to invest a lot of effort in this process.</p> <figure><img alt="An example of a low-effort feedback option with prompts (multiple choice inputs and open text entry field) in a user app" data-entity-type="file" data-entity-uuid="98ead399-30da-4b54-b67c-e6e2c0bb264e" src="/sites/default/files/content-images/Qualitative_Feedback_For_Training-ada.png" /> <figcaption>In the two images above, a user is given the option to provide feedback with the simple push of a button, and then the application makes feedback easy by auto-generating some options as well as providing an open text field for more information if desired.</figcaption> </figure> <p><strong>Solution:</strong></p> <p>Triggered by a negative response or rating, the system prompts the user to provide qualitative feedback in the form of an explanation of what is unsatisfactory. This may be free text input or selection from preset options, and is usually done in combination with <a href="/patterns/81/quantitative-feedback-training">Quantitative Feedback for Training</a>.</p> <p>&nbsp;</p> <p><strong>Discussion:</strong></p> <p>As the effort required here is relatively high for the user with no immediate reward, care should be taken to motivate the user accordingly. This could be the system advising that this feedback will help the system improve and thus establish the benefit to the user. Or the motivation could simply be a pleasant and rewarding interaction, e.g. an interesting conversation point with a chatbot.<br /> &nbsp;</p> </div> Wed, 21 Aug 2019 16:56:34 +0000 leighbryant 86 at https://smarterpatterns.com Quantitative Feedback for Training https://smarterpatterns.com/patterns/81/quantitative-feedback-training <span>Quantitative Feedback for Training </span> <div> <div>Application</div> <div><a href="/taxonomy/term/21" hreflang="en">Input Data</a></div> </div> <span><span>leighbryant</span></span> <span>Wed, 08/21/2019 - 16:55</span> <div> <div>Topic</div> <div><a href="/taxonomy/term/41" hreflang="en">Autonomy &amp; Control</a></div> </div> <div><p dir="ltr"><strong>Problem:</strong></p> <p dir="ltr">The system needs to be trained by the user. The user does not want to invest a lot of effort in this process.</p> <figure><img alt="Example of a low-effort quantitive feedback option (thumbs up or thumbs down) included in a conversational flow with a chatbot" data-entity-type="file" data-entity-uuid="3b776fce-3e85-4264-b97b-2ceb3832121a" src="/sites/default/files/content-images/Quantitative_Feedback_For_Training-Daisy.png" /> <figcaption>By prompting for a quick thumbs up or thumbs down, the system can get quick and easy feedback from the user to train itself with.</figcaption> </figure> <p><strong>Solution:</strong></p> <p>When providing an output, the system prompts the user to rate the quality of that output. This could be in the form of a simple thumbs up / down, or require a little more granular feedback in terms of a star rating or other score.&nbsp;</p> <p>&nbsp;</p> <p><strong>Discussion:</strong></p> <p>Whether this is fed directly back into training the algorithm or is captured for analysis outside the system will depend on the specifics of the implementation. If the feedback is being captured for analysis, then it makes sense to prompt the user to also provide <a href="/patterns/86/qualitative-feedback-training">Qualitative Feedback for Training</a>, with that feedback mechanism triggered by a negative quantitative feedback.</p> </div> Wed, 21 Aug 2019 16:55:35 +0000 leighbryant 81 at https://smarterpatterns.com