carbon-design-system / carbon-contribution

Documentation on how to contribute back to Carbon
https://www.carbondesignsystem.com/contributing/designers
7 stars 4 forks source link

Contribution: Chatbot / Conversational UI Pattern #16

Open vincentsnagg opened 5 years ago

vincentsnagg commented 5 years ago

Hello Carbon! 👋🏽 In Watson Health, we've been working on conversation design standards (content, UX, and visual design) for healthcare products, as our product teams were building bots and reinventing the wheel with each new bot. Not too long after this work started, we realized that while much of the content design guidance is specific to healthcare, the UX and visual guidance we were providing is not, and could be leveraged by other teams interested in using conversational UIs. From day one, we've worked to ensure that the visual guidelines follow the IBM Design Language and that it would be built with accessibility in mind (a huge problem in chatbots today). With all this said, it feels like the perfect candidate to further flesh out Carbon's portfolio of patterns!

Name of pattern

Chatbot / Conversational UI

The research supporting and reasoning behind the proposed change

Chatbots or bots have become an increasingly popular way to solve common business problems across domains, including.

Problem: As these bots have proliferated recently, so do the inconsistencies between them when it comes to conversational UIs. Here are just a few examples of this ..there are a LOT more internal examples, across business units:

screen shot 2019-05-14 at 10 19 30 am

screen shot 2018-11-30 at 11 48 38 am

Proposed Designs

These proposed designs contain several new components within it, in addition to pattern guidance. They are the product of feedback from and iteration with Watson Health product teams, the Watson Assistant team, the Watson team, and Mike A. + IBM Design Language Core team

"Carbonized" Chatbot Components (i.e., symbols created for all 4 Carbon themes)

In Progress



Here's a preview of how these main chatbot components start to come together. All chatbot components are spec'd within our Sketch files:

Components / Static Designs

Regular + Tight Variants Across all Carbon Themes (see below)

screen shot 2019-05-15 at 2 30 05 pm

Chatbot Window

screen shot 2019-05-15 at 9 33 59 am

Watson Message

screen shot 2019-05-15 at 2 25 28 pm

User Message

screen shot 2019-05-15 at 2 25 50 pm

Structured Response

screen shot 2019-05-15 at 2 25 06 pm

Chatbot Text Input

screen shot 2019-05-15 at 2 24 47 pm

Flows

Primary Flow: Requesting Information Via Chatbot (All Components Carbonized)

screen shot 2019-05-14 at 10 28 07 am

Multiple Threads (WIP)

screen shot 2019-05-14 at 10 31 58 am

Launching Chatbot Window (WIP)

screen shot 2019-05-14 at 10 31 48 am

Proposed Pattern Guidance

A pattern needs usage guidelines, and my team has content we'd love to propose that falls into these buckets:

  1. Overview
    • Pattern Value, Target Users, User Needs
    • Common Use Cases
  2. Pattern Usage
    • Design / Content Elements
      • Sub-components usage / variants
    • Practical Applications
    • Related Patterns / Components

Links

Design

Development

Internal Github Link: https://github.ibm.com/Watson-Health/design-library/issues/258

Names of the contributing designer(s) & developer(s) working on this contribution

Design

Vincent Snagg, UX Designer Watson Health Public GH: vincentsnagg; Internal Slack: vincent.snagg; Internal email: vincent.snagg@ibm.com

Emma Sainz, Design Director for IBM Watson Internal Slack: emma.sainz; Internal email: emma.sainz@ibm.com

Development

Liz Judd, User Interface Architect, Watson Health Public GH: elizabethsjudd; Internal Slack: liz.judd; Internal email: liz.judd@ibm.com

Scott Nath, System Architect, Watson Health Public GH: scottnath; Internal Slack: snath; Internal email: snath@us.ibm.com

designertyler commented 5 years ago

Hi, @vincentsnagg thanks for proposing this content. I think this would be a great addition to Carbon and will reach out to schedule a meeting to figure out next steps.