Two Design System Components

Design Systems - UX Design - UI Components

Due to the nature of these pieces of work, some details have been omitted or altered to maintain confidentiality.

Overview

As a member of the Everest design systems team, part of my role was to lead the design and development of new components. I was tasked with creating several components that could be used across multiple products. These components needed to be flexible, accessible, and easy to use. Two of the components I worked on were:

Approach

My typical process for creating a new component in a design system involves the following steps:

StageTools UsedDescription
Experience FitJIRAEffecting change in the design system requires a clear understanding of the user experience needs and how the new component will address them.
Ticket AssignmentJIRAThese components were created in response to tickets raised by product teams.
Architectural DirectionThe initial direction for new designs was typically reaffirmed by our system architect, who identified the needs and gaps to think through during our discovery phase.
Due DiligenceResearch was conducted to identify common issues, and best practices.
Feasibility ConversationsMicrosoft TeamsTechnical conversations were held with developers to understand the feasibility of the objective.
Product Team CollaborationMicrosoft TeamsNew designs were developed in collaboration with product teams, ensuring alignment with their specific requirements.
Design ExplorationSketch, FigmaOften several design explorations were conducted to refine new components for brand fit, flexibility between platforms, and ease of integration.
Product and Design CollaborationSketch, FigmaNew designs were developed in collaboration with product management, partners, stakeholders, and our design systems team to ensure alignment with business goals, user needs, and system strategy.
Design System IntegrationSketch, FigmaNew designs were to be integrated into the existing design system, ensuring consistency and alignment with the brand and feasibility for implementation.
Implementation and TestingNew designs were implemented and tested in web and native applications to ensure that they met the requirements of product teams and provided an optimal user experience.
Feedback and IterationFeedback was collected from product teams and users to identify areas for improvement, leading to further iterations and refinements of the designs.
Documentation and TrainingFigma, MarkdownDocumentation and training materials were created to help product teams integrate new designs into their applications and ensure that it was used effectively.

Badges

Things to Consider

The design and development of the new badge component for the Everest Design System were guided by several key considerations to ensure an optimal user experienc.

  1. Inconsistent Design: Badges are often designed inconsistently across applications, leading to confusion and a lack of visual hierarchy.
  2. Overuse of Badges: Some applications use badges excessively, leading to visual clutter and a poor user experience.
  3. Lack of Accessibility: Badges are often not designed with accessibility in mind, making them difficult to read for users with visual impairments.
  4. Ineffective Use of Color: Some badges use color as the sole differentiator, which can be problematic for color-blind users.
  5. Inadequate Information: Badges sometimes lack context or meaningful information, leaving users unsure of their purpose.
  6. Inconsistent Placement: Badges are often placed inconsistently within applications, making it difficult for users to locate them.
  7. Limited Interaction: Badges are often static elements with limited interactivity, missing opportunities for user engagement.
  8. Poor Responsiveness: Badges may not adapt well to different screen sizes or orientations, leading to layout issues on mobile devices.
  9. Lack of Customization: Some applications do not allow users to customize or personalize badges, limiting their utility and appeal.
  10. Ineffective Feedback: Badges may not provide clear feedback or guidance to users, leading to confusion or frustration.
  11. Limited Integration: Badges may not integrate well with other UI elements or components, reducing their overall effectiveness.
  12. Inadequate Documentation: Badges may lack clear documentation or guidelines for use, making it challenging for designers and developers to implement them correctly.

A Few Research Citations

NameWeb Reference
Nielson Norman Grouphttps://www.nngroup.com/articles/indicators-validations-notifications/
Human Interface Guidelineshttps://developer.apple.com/design/human-interface-guidelines/notifications
Material Designhttps://material.io/components/badges
Medium Post by Lukas Vilkushttps://medium.com/emplifi-design/badges-small-but-essential-ui-element-16699337948b
Post by Roman Kamushkenhttps://www.setproduct.com/blog/badge-ui-design

Types of Badges

Badges are a versatile UI element that can be used in various ways to convey information, status, or actions to users. Here are some common types of badges:

TypeDeterminate or IndeterminateInline or OverlayDescription
NotificationBothBothDisplay a small dot or number to indicate a new notification, update, or message for the user.
CounterDeterminateInlineDisplay a number to indicate a count or total, such as the number of items in a list or the progress of a task.
StatusDeterminateBothDisplay a status indicator, such as success, warning, or error, to provide feedback to the user.
CustomBothInlineProvide additional context or information about an item, such as a promotion, category, or tag.

Badge Anatomy

The anatomy of the new badge component for the Everest Design System was carefully defined to ensure consistency and flexibility across all platforms. The component includes several key elements that can be customized to suit the needs of product teams. Here is the anatomy of the badge component:

ElementRequired?Description
ContainerYesThe container that holds the badge, providing a visual frame for the badge element.
LabelYes, for determinate badge typesThe label that displays the text or number associated with the badge, providing context and information to users.
BorderYesThe border that surrounds the badge, providing a visual distinction from other UI elements.
DotYes, for indeterminate notification overlays and inline dot typesA small dot that indicates a new notification, update, or status color for the user.
IconNoA decorative piece to coincide with the context of the label.

Usage Context

The new badge component for the Everest Design System can be used in a variety of ways to enhance the user experience and provide valuable information to users. Here are some examples of usage:

Stepped Progress Indicator

Things to Consider

Product teams often encounter several common issues when using stepped progress indicators in their applications:

  1. Complexity in Navigation: Stepped indicators can become confusing if users are allowed to navigate back and forth between steps. This can lead to issues in data consistency and user experience, especially if earlier choices affect options in later steps.
  2. Overwhelming Users with Too Many Steps: Too many steps can overwhelm users, leading to a drop in engagement. It's crucial to balance the need for detailed process stages with the user's ability to easily comprehend and follow the steps.
  3. Responsive Design Challenges: Ensuring that stepped progress indicators are equally effective and visually appealing across various devices and screen sizes can be challenging. This requires careful design and testing, particularly for complex indicators.
  4. Unclear Progress Indication: If the progress indicators are not clear or intuitive, users might not understand how much of the process they have completed and how much is left. This can lead to frustration and a poor user experience.
  5. Integration with Data and Backend: Syncing the progress indicators with real-time data and backend processes can be complex. Ensuring that the indicator accurately reflects the current state of the process requires efficient data handling and UI updates.
  6. Accessibility Issues: Stepped progress indicators need to be designed with accessibility in mind. This includes considering color contrast, screen reader compatibility, and ease of use for users with disabilities.

A Few Research Citations

NameWeb Reference
Nielson Norman Grouphttps://www.nngroup.com/articles/progress-indicators/
Human Interface Guidelineshttps://developer.apple.com/design/human-interface-guidelines/progress-indicators
Material Designhttps://m3.material.io/components/progress-indicators/overview
U.S. Web Design System (USWDS)https://designsystem.digital.gov/components/step-indicator/

Top Explorations

Several design explorations were conducted to refine the new stepped progress indicator. These explorations focused on compactness, flexibility, and ease of integration. The goal was to create a design that was visually appealing, intuitive, and consistent with the Everest Design System. Here are a few of the top explorations:

Chosen Component Anatomy

The anatomy of the stepped progress indicator is a simple and flexible structure that includes the following elements:

ElementRequired?Description
ContainerYesThe main container that holds the entire stepped progress indicator.
CounterYesExplicit step counter, providing context for where in a process the user is.
Descriptive TitleYesThe title of the stepped progress indicator, providing context for the user.
DividerYesA visual divider to separate this component from the primary view pane.
Track & Progression IndicatorNoAn optional track that visually connects the steps and provides a relative progression indicator.
Decorative AccessoryNoA decorative piece to coincide with the step title and description.
Right AccessoryNoA handler to open up drawers, providing hierarchal context for the user.

This basic structure can be adapted and expanded based on the specific requirements of the application. The implementation was to be iterated upon by the design systems team in a manner that could quite well combine vertical and horizontal features into a more robust and interactive component.

The decision for a traversing mechanism was omitted in the initial design, as it was to be iterated upon in future versions. Product teams were provided with traversing guidelines to ensure that the component was used effectively.

Wired Up

Here's a wireframe of the new stepped progress indicator in an E-commerce setting. The wireframe provides a clear visual representation of the component's structure and functionality.

Sample Mock

Here's a realistic mockup of the new stepped progress indicator in a transactional setting.

Conclusion

If you made it this far, I salute you. The design and development of these components were a significant undertaking, requiring collaboration across multiple teams and careful consideration of user needs and system requirements. The new badge component and stepped progress indicator are now available for use in various applications across Charles Schwab, providing a consistent and intuitive user experience. These components were well-received by product teams and users.