Skip to content
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: Adds design guidelines #330

Merged
merged 8 commits into from
Dec 3, 2024
Merged

Conversation

edonehoo
Copy link
Contributor

@edonehoo edonehoo commented Nov 20, 2024

Copy link

@kaylachumley kaylachumley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is great! I left some comments throughout - thanks erin!


1. **Container:** The window that contains the entire ChatBot experience and all of its components.
1. **Header:** A persistent region at the top of the ChatBot window that contains navigation, branding, and actions.
1. **Navigation:** A menu that contains navigational options, including access to the conversation history.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Im wondering if we can be more specific here and name this secondary navigation and then the options menu could be called primary navigation? or we can keep it as options menu? Not sure so I'll refer to you erin!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm def open to opinions on this! My thought is that the terminology of "options menu" makes the most sense for that menu, and the idea "navigation" is going to be familiar with that hamburger icon. But if "navigation" itself sounds too derivative, we could def switch this back to "Conversation history" or even "Conversation navigation" to be more descriptive?

1. **Attachments:** Details about files that a user has uploaded to the ChatBot.
1. **Footer:** A persistent region at the bottom of the ChatBot window that contains the message bar and the footnote.
1. **Footnote (optional):** A persistent, short message that contains any legal disclaimers or important information about the ChatBot. Footnotes are optional, but strongly recommended. For more information, refer to the [ChatBot footnote guidelines](#footnotes).
1. **Toggle:** The button that allows users to open and close the ChatBot window. When the ChatBot is opened, the toggle should appear below the ChatBot window.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wondering if we can call this Launch Toggle instead of Toggle just to be more specific. Since toggle could potentially confuse users with the menu toggle verbiage? who knows 🤷‍♀️

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm that's a fair point. My only thought with "launch toggle" is that the toggle also handles minimizing, rather than just launching (ik this is nitpicky). We could call it the "ChatBot toggle" to make it more standalone? I think the slight repetitiveness of "ChatBot" isn't distracting in this situation?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree @edonehoo Let's call it ChatBot Toggle

![A basic user message, bot message, and quick reply buttons.](./img/message-elements.svg)
</div>

1. **Bot message:** Messages from the ChatBot, which are marked with an "AI" label to communicate the use of AI to users. You should choose a descriptive name for your ChatBot.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if the user can change their profile picture and name? it may be built into your login info? we dont have any designs built out for editing a profile

Copy link
Member

@rebeccaalpert rebeccaalpert Nov 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We provide support for swapping out the name and avatar for both bot and user messages, but how that happens is up to the product right now. We do force the AI label if it's a bot message.


## Variations

There are a few display modes that users can choose when interacting with a ChatBot.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, I am currently playing around with different ways to present display modes and the LM switcher. The language model switcher is currently meant to be shown in the menu toggle in the header but its quite obstructive and I'm thinking we want to avoid drawing attention to that. Planning to discuss more during our sync. Anyways, I imagine that these images will need updated when we make a decision. Here is an example of what I am talking about!
Screenshot 2024-11-20 at 9 18 55 PM

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know we discussed this during our last sync, but did we officially decide to go with option 3 here? I didn't include any info about model switching in my last commit, but can update again if we do want to share some guidance here!

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still up in the air - We were discussing a settings page model switch and completely removing the menu toggle within the header. No definitive decisions were made yet regarding this


By clicking into the navigation menu, users can search through previous conversations and perform additional actions, such as sharing a conversation with others.

## Variations

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what if we named this Display variations?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our design guidelines template has an h2 variations section (https://www.patternfly.org/ux-writing/writing-patternfly-design-guidelines), so I just added an h3 right below called display variations! lmk if you have thoughts on that approach

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha! sounds good

</div>

- **Embedded:** The ChatBot is embedded within a product as its own page.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may want to add a small section dedicated to the option to change language models - currently located in the header in a menu toggle. I'm wondering if this is something that can be turned on and off? meaning that a product could limit the user to one type of language model at all times if they wanted... question for rebecca and nicole for sure!
Screenshot 2024-11-20 at 9 22 10 PM

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They can decide not to show this at the present moment - the header can have anything in it, whether we provide it or not: https://virtual-assistant-pr-virtual-assistant-330.surge.sh/patternfly-ai/chatbot/ui#header-options.

@edonehoo
Copy link
Contributor Author

@rebeccaalpert @kaylachumley ty for your feedback! I pushed some updates - can you take another look? I left comments above open if I didn't 100% integrate them, or if I had responses, but lmk if you see anything to edit/add!

Copy link
Member

@rebeccaalpert rebeccaalpert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, looking good. There's a few things that seemed like they needed minor adjustments (numbering) and then I had some comments about how some features actually work.


When users select the footnote, you can display a popover that provides more information than would fit in the footnote:

<div class="ws-docs-content-img">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2024-11-25 at 7 06 00 PM

It looks like this in reality ^.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The screenshot in the design guidelines has the footer popup a little higher than it is in reality, but it's not a blocker from my side.

- Opening a menu with attachment options that are chosen by designers and developers

<div class="ws-docs-content-img">
![Menu with file attachment options.](./img/attachment-menu.svg)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Button is not actually blue when active, but it could just be one of the many instances of drift we have here.

Screenshot 2024-11-25 at 7 08 54 PM

2. **Docked:** Anchors the ChatBot to the side of the page content. When docked, the ChatBot window is persistent, and cannot be toggled.

<div class="ws-docs-content-img">
![ChatBot in docked mode.](./img/docked.svg)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a box shadow here in real life.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's apparently this weird figma bug where it doesn't always export shadows ? This is how the image looks before I export, gonna try and figure that out 🤔

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still present, but not worth blocking this imho.

Copy link
Member

@rebeccaalpert rebeccaalpert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great to me - just noting one small typo I noticed.

@rebeccaalpert
Copy link
Member

rebeccaalpert commented Dec 2, 2024

@kaylachumley - Do we want the code side to have the blue selected attach button state when the menu is open, or to have the quick response action state where it's blue with an icon? I'm happy to ticket these out if you want them - just let me know if you want them. I saw these in Erin's design guidelines screenshots.

Copy link
Contributor

@nicolethoen nicolethoen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😍

Copy link
Member

@rebeccaalpert rebeccaalpert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

She's a beaut!

Copy link

@andrew-ronaldson andrew-ronaldson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel so guided. LGTM 😉

Copy link

@kaylachumley kaylachumley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks amazingggg

@nicolethoen nicolethoen merged commit 1a669e1 into patternfly:main Dec 3, 2024
5 checks passed
Copy link

github-actions bot commented Dec 4, 2024

🎉 This PR is included in version 2.1.0-prerelease.24 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ChatBot Design guidelines
6 participants