Introduction

Exploring Generalized Commenting Pattern

This project aims to explore and create universal commenting user experience (UX) design patterns for various C3.ai applications, with a specific emphasis on the Anti-Money Laundering (AML) application's use case. The goal is to design a standardized comment UX pattern and its components, accompanied by thorough documentation that other designers can refer to

2022 summer internship project @ C3.ai

Project Duration

3 months | Jun 2022 - Aug 2022

My Role

I spearheaded the commenting design project working closely with two designer mentors and a product manager. I led the development of commenting patterns, crafted interactive prototypes, and thoroughly documented the design system

Project Member

Product Designer | Soo Hwang
Product Manager
Design System Designer
Application Engineers

Process

Project Contents

Define Problem

Explore and define the current comment design pattern's problems

Background Research

Conduct user interviews and research analysis on comment pattern

Design a Visionary workflow

Create a visionary prototype with three different design options

Create a Feasible workflow

Create a final design iteration with the design system compliances

Pattern Documentation

Create design documentation with interactive patterns

Do you want a quick view of
the final design deliverable?  

define problem

Lack of consistency in Commenting Pattern

lack consistency in the patterns, interactions, and components of commenting. Given that commenting is a pivotal feature across multiple apps, the need for consistent and standardized commenting patterns has become increasingly crucial for both the design and engineering teams
A comment serves to showcase descriptions, discussions, notes, and user feedback, usually consisting of just a few lines. However, the existing C3 applications.

12 applications and 5 industry branches are using commenting features. However, there is no consistency in both interactions and patterns.

DESIGN goal

How might we create consistency and guidance for designers when incorporating comments?

To address this question, I established three design goals aimed at improving the usability of the commenting design pattern. Throughout the design process, these principles should be given priority and adhered to in order to develop standardized design system patterns and documentation.

Consistent

The commenting pattern should exhibit consistent UI components and behavioral patterns.

Applicable

The pattern and documentation should be applicable across multiple applications.

User-Centered

The pattern itself should be clear, easily understandable for everyone, and focused on the user.

design decisions

Challenge 1 : Which UI Design Style should commenting pattern follow?

For the commenting style, I explored a total of four ways of design style explorations. Each style possesses distinct characteristics, prompting me to explore multiple iterations and determine the most suitable style for commenting patterns and behavior. Below, I have organized the pros and cons of each style that I discovered throughout the iteration process. Hover on each design style to see its pros and cons.

In-line Top Input

✅ Pros

▫️ Natural Chronicle Order ( It shows the latest comment on the top)
▫️ Less additional actions for the user to input

⛔️ Cons :

▫️ In the case of large data (bulk text), in-line editing might give the limitation due to space limit.
▫️ The user might be distracted due to other information on the screen.

In-line Bottom Input

✅ Pros

▫️ Familiar UI for users to input, edit  view comments (Chat UI)
▫️ Less additional actions for the user to input


⛔️ Cons :

▫️ Showing the latest comment need additional actions (automatically scrolling down to recent/unread comment)

Take-over modal

✅ Pros

▫️ Make users focus on the content.
▫️ There are some specific use cases like adding a bulk of text or screenshots in the comment. It is suitable for those multiple inputs.


⛔️ Cons :

▫️ Separate users from the original task might give them less context or lose connection to detail

pop-over modal

✅ Pros

▫️ Redeem take-over modal’s disadvantages, and give the context of the background content for users.
▫️ To be a nice to have feature, pop-up Ui is suitable for the use case of commenting on a specific location. (ex. Figma)

⛔️ Cons :

▫️ It might confuse users on the original content because the comment should remain in the location that they input.
▫️ This UI component pattern requires additional technical efforts.

Approach

Design Critiques & 
Stakeholders' Feedback

To finalize the pattern style, I facilitated a design critique session with other application designers and project stakeholders. During the session, I presented an interactive demo, conducted a brief usability test, and collected feedback.

🗳 Over than 1/3 Designers chose "In-line Top Enter" UI Style

Stakeholder's QUotes

Design System Designer

"The In-line and Take-Over style UI can leverage existing components from the current design system. On the contrary, the pop-up modal style lacks any components or interactions from the current design system requiring additional technical implementation and the development of specific components."

Product Manager

" I personally prefer the In-Line style as it aligns better with the natural flow of the commenting feature. Moreover, given our app's use case and research assumptions, comments tend to be around 3-4 sentences in length, and interactions like replies and edits occur frequently."

After receiving feedback during the design critique and meeting with stakeholders, I was able to reach a final design decision among the four options. First and foremost, I needed to consider design system compliances and their availability for implementation. In this regard, the pop-over option was deemed inappropriate due to the need for additional technical resources. I also need to consider the use cases of existing applications.

Why This decision?

Natural Chronicle Order

It shows the recent comment on the top and is staked in vertical order. This interaction is natural and chronological.

In-line Adding and Editing

Users do not need to do additional actions for the in-line style, compared to the modal (button in-put) style.

Design System

Design components like text field, list, search bar, and buttons are available in the current design system.

design decisions

Challenge 2: How to apply workflow with the various use cases?

My second major design decision was about global and page-level navigation. To briefly explain this, there are two types of comments which are global-level and page-level comments. Page-level comments are typically tied to individual pages, involving feedback on specific references or issues. In contrast, global-level comments encompass all page-level comments. During the design critiques, the application designers had some questions about this concept, as shown below.

designer's QUestions

Designer A

"In *** application, we typically have more than 100 comments in total. In such a scenario, I'm concerned that the comment side panel could become overly complex. How can we address this use case?"

Designer B

"In the OOO application, we don't have the activity feed on the dashboard. In this case, how can I access the comment side panel in the global navigation?"

Approach

Use Case Analysis & 
Define Hierarchy

To establish the concept of global and page-level comments, I analyzed the current application's use cases, focusing particularly on the AML (Anti Money Laundering) application. In AML, users are required to comment on a case, which involves multiple pieces of evidence. The global-level comments in AML pertain to remarks about a specific case, while the page-level comments are related to each piece of evidence associated with a case. Through this use case analysis, I can articulate the distinctions between global and page-level comments.

Interactions and Pattern Availability of Global & Page-level Side Panel
Hierarchy Relationship with AML Use Case

Design Iteration

Comment Side Panel Re-design

The global and page-level comments need to have different patterns and interactions. To define each pattern I made the table chart to show its availability of interactions.

Navigation Flow

Users can navigate from the global to the page-level side panel by clicking a reference in the comment.

Design Iteration

Re-design User flows

To access the comment side panel, there are two navigation options. First, users can reach the comment side panel when notified through the global notification located in the global navigation. A comment associated with a global-level reference will direct users to the global comment side panel. Conversely, if the comment’s reference pertains to page-level content, users will be directed to the specific page-level side panel.

Additionally, users can access comments through the activity feed component, which features a dedicated section for comments. In the activity feed, users can access the comment side panel or view a specific comment by clicking on it.

Navigation to Comment Side Panels
➊ Navigation from Activity Feed
➋ Navigation from Notification Feed

design decisions

Challenge 3: How to comply with the design system?

The final design challenge I encountered arose while developing a practical workflow. Creating feasible patterns necessitated designing a configurable system that could seamlessly integrate with the existing design framework. In the quest for scalability, the original design underwent significant changes, and numerous design decisions were made throughout the iterations. This marked a crucial juncture where I confronted the challenge of maintaining design system compliance while ensuring a high-fidelity design aligned with the visionary design style.

What is the problem?

After talking with the design system designers and re-designed the side panel component with the design system style, I realized that some usability and visibility problems did not match with the visionary design style.

👎 Small Margin Increase Complexity

The utilization of the list component in the comment sections resulted in a reduced margin between each comment component, leading to increased complexity in the UI.

👎 Different Font makes Different Hierarchy

The typeface changed from "Inter" to "Gotham", text content looked more compact and showed less hierarchy between the ranges.

👎 Less visibility between the in-put filed and search bar

According to the current design system, the search bar, drop-down selection, and text fields share similar styles. In comparison to the visionary design, which distinguishes elements by changing the background color, the design system style exhibits less visibility and information hierarchy for the search bar and input fields

Design Iteration

Finalize Design System Style

👍 Relocate components for clear hierarchy

To clarify the hierarchy, I relocate the search bar at the top of the comment list. This shows more clear hierarchy that the search action applies to the comment list below.

👍 Differentiate type face colors

To solve the typeface style difference, I use less transparent color (toned-down) in the subheads and additional comment information to highlight the comment contents.

👍 Make more margins between component

Make more margins between each component and subheads of the comment to decrease the complexity of visuals

👍 Separate buttons for hierarchy

Instead of using the "Filter" button, separate filter and sorting options to make the user o easily understand it and create a clear hierarchy that filtering and sorting apply to the comment list.

Final Deliverable

What is the best way for Designers and Engineers
to incorporate the commenting pattern?

For the final deliverable, I crafted a design system and pattern documentation for commenting that other designers and engineers can consult whenever they wish to integrate the commenting feature in the future. Additionally, I created UI sticker sheets in Figma, allowing designers to conveniently copy and paste the commenting patterns. Below, you will find a summarized version of the commenting documentation. Expand each tab to view the contents of the documentation

Commenting Documentation

Commenting Design Pattern

A comment displays descriptions, discussions, notes, and user feedback. They are typically short, about a few lines long. Commenting exists in the side panel with multiple different components. The side panel design can include a search bar, buttons, an in-line text field, or comment lists. Comments are usually used when a user has questions or concerns to communicate with another collaborator or simply a quick note for themselves to get back to. In this document,

Component Anatomy

Here is the list of UI components related to the commenting feature. You can see each component’s anatomy, how to use them, and the implementation checklists in these lists.

1. Commenting

When  · How to Use

Default: The primary type of comment component. The component includes the commenter’s user name, hyper reference link, the time stamp of the comment creation time, and the comment itself.

New: For the new or unread comment, the blue dot sign will exist beside the comment user name until the user gets into the side panel and read the comment.

Highlighted: For the search result, the search keyword would be highlighted.

Selected: When the user clicks the comment, the background color will be changed to a lighter color and show that the comment is selected.

2. Side Panel

When  · How to Use

Global Side Panel

The global side panel includes every comment that belongs to the global content. Compared to the page-level side panel, the global side panel includes more comments across different pages, so users can search and filter down the comment. When users add a comment in the global side panel, they must select the references (page). If the comment does not belong to any page, the user can choose the reference to the global content; in AML, it is called “Case Title.”



Page-level Side Panel

The page-level side panel is used for the specific page-level content, including the comment belonging to that content. According to the use case analysis in AML, the page level side panel does not have a search bar, filter, and sorting options because it usually contains less than 10 comments.

3. Activity Panel

When  · How to Use

The purpose of the activity feed is to inform the users of any changes to the clients, accounts, cases, new comments, etc.With the tap above the feeds, users can navigate to specific activities.

Interaction

Component Anatomy

Here is the list of UI components related to the commenting feature. You can see each component’s anatomy, how to use them, and the implementation checklists in these lists.

1. Adding a comment

Users must select the reference (related page) in the global side comment panel. However, if the comment is not related to the specific reference, they can choose “Case title,” which means global level comment, not stick to a particular reference.

2. Editing a comment

The “Edited” status should be next to the time stamp in the single comment.

3. Deleting a comment

The confirmation modal is required after the user hits the delete button.

4. Searching a keyword

It is a text-based search, the search activity is completed on the same page, and the text input consistently changes the search result. The search keyword is highlighted in the comment.

5. Searching a keyword

The CTA button changes to “Submit” → “Reply” for the replying comment.

project wrap-up

Key Takeaways

These are the three main takeaways that I learned through this commenting pattern project.

Break the rules

Exploring a UX pattern has some general rules, but sometimes, it is good to break them. Breaking rules can bring creativity and the exact solutions to your use cases.

Don’t be afraid to get feedback

In this project, I received many insights from the feedback session. However, when you are looking for feedback, clarify the point that you are looking for, and deliver the detailed context of the project.

Document your design decisions

It doesn’t have to be complex, it can be just a few words and a single sentence. This is helpful for you to deliver your design decisions to stakeholders with evidence and confidence.

project wrap-up

Next Steps

The next step for this project is the implementation of the UI component. To achieve the goal of being an accessible and applicable guideline, a detailed and feasible UI demo should be required.

Next Project
→ Google Edu