Introduction

Introduction

Background of the

QQ Design Component Library

Background of the

QQ Design Component Library

  • About QQ: 25-year-old social platform with over 500 million monthly active users.

  • Scope: Covers instant messaging, social interaction, news, short videos, music, games, and value-added services.

  • Platforms: Available on mobile (iOS, Android), tablet, and desktop.

  • Team Structure: Around 1,500 team members, with approximately 100 designers spread across business units.

  • Challenges: 1) Design inconsistencies across different business teams. 2) Redundant resources leading to bloated app size, affecting performance. 3) Inefficient cross-team collaboration.

  • Need for a Design System: Essential to unify the design language and improve efficiency across this complex, multi-faceted platform.

  • About QQ: 25-year-old social platform with over 500 million monthly active users.

  • Scope: Covers instant messaging, social interaction, news, short videos, music, games, and value-added services.

  • Platforms: Available on mobile (iOS, Android), tablet, and desktop.

  • Team Structure: Around 1,500 team members, with approximately 100 designers spread across business units.

  • Challenges: 1) Design inconsistencies across different business teams. 2) Redundant resources leading to bloated app size, affecting performance. 3) Inefficient cross-team collaboration.

  • Need for a Design System: Essential to unify the design language and improve efficiency across this complex, multi-faceted platform.

About My Role

About My Role

As a designer in the Core Experience Team, I initiated and led the rebuilding of the QQ Design Component Library and played a key role in facilitating the collaborative process for QQ component development.

About the Project

About the Project

This project presentation draws from my previous project situation and experience. The goal is to share insights on building a design component library, focusing on creating a system that is collaborative, open, and efficient to maintain.

The presentation covers four main areas:

  • Core Structure of the Component Library

  • Based on Design Tokens

  • Expansion Capabilities

  • Collaborative Process for Maintaining the Library

Lack of Consistency

Lack of Consistency

Lack of Consistency

Issue: Inconsistent design across components

Issue: Inconsistent design across components

Issue: Inconsistent design across components

Impact: Increased learning curve for users and negative feedback

Impact: Increased learning curve for users and negative feedback

Impact: Increased learning curve for users and negative feedback

Redundant Resources,

Low Reusability

Redundant Resources,

Low Reusability

Redundant Resources,

Low Reusability

Issue: Duplication of design resources with low reuse rate

Issue: Duplication of design resources with low reuse rate

Issue: Duplication of design resources with low reuse rate

Impact: Impacts efficiency by consuming more resources

Impact: Impacts efficiency by consuming more resources

Impact: Impacts efficiency by consuming more resources

Information Silos, Lack of Collaboration

Information Silos, Lack of Collaboration

Information Silos, Lack of Collaboration

Issue: Lack of open and collaborative mindset for co-creation

Issue: Lack of open and collaborative mindset for co-creation

Issue: Lack of open and collaborative mindset for co-creation

Impact: Creates isolated information with limited shared knowledge

Impact: Creates isolated information with limited shared knowledge

Impact: Creates isolated information with limited shared knowledge

Pain Points

Pain Points

Vision & Goal: Establish a unified, collaborative workflow.

Vision & Goal: Establish a unified, collaborative workflow.

QQ Design

Component

Library

Open Collaboration

Open Collaboration

Open Collaboration

Designers

Designers

Designers

Updating components simultaneously, reducing resource redundancy and review time.

Updating components simultaneously, reducing resource redundancy and review time.

Updating components simultaneously, reducing resource redundancy and review time.

Efficient Development

Efficient Development

Efficient Development

Developers

Developers

Developers

Introducing tokens of color and icon for easier adaptation across multiple platforms, reducing development time and extension costs.

Introducing tokens of color and icon for easier adaptation across multiple platforms, reducing development time and extension costs.

Introducing tokens of color and icon for easier adaptation across multiple platforms, reducing development time and extension costs.

Unified Experience

Unified Experience

Unified Experience

Product

Managers

Product

Managers

Product

Managers

Understanding platform standards and ensuring consistency in component styles, enhancing product quality.

Understanding platform standards and ensuring consistency in component styles, enhancing product quality.

Understanding platform standards and ensuring consistency in component styles, enhancing product quality.

Team Value

Team Value

Lower costs and improve efficiency

Lower costs and improve efficiency

Lower costs and improve efficiency

Platform Value

Platform Value

Increase quality and build a cohesive brand.

Increase quality and build a cohesive brand.

Increase quality and build a cohesive brand.

Core Structure of the

QQ Design Component Library

Core Structure of the QQ Design Component Library

Part 1

Part 1

Guidelines

Guidelines

Guidelines to help better maintain and utilize the component library.

Guidelines to help better maintain and utilize the component library.

Part 2

Part 2

Atomic Styles

Atomic Styles

Definitions for foundational elements

Definitions for foundational elements

Part 3

Part 3

Molecular Components

Molecular Components

UI patterns composed of multiple elements

UI patterns composed of multiple elements

Part 1_Guidelines

Part 1_Guidelines

1_1_User Guides

1_1_User Guides

An overview of the QQ component library, including standardized usage instructions, collaborative guidelines, and clear directions for both developers and designers.

1_2_Update Logs

1_2_Update Logs

Designers should regularly note updates in the component library's log to aid in its maintenance.

1_3_Quick Access Menus

1_3_Quick Access Menus

Serves as the component library directory, indicating each component’s development status, with clickable items that link directly to the specific component pages.

Part 2_Atomic Styles

Part 2_Atomic Styles

Atomic styles define the foundational design language of QQ, encompassing elements such as Icons, Colors, Font Sizes, Corner Radii, Grid Systems, and Animation Principles.

Icons

Icons

Icons

Colors

Colors

Colors

Font & Typography

Font & Typography

Font & Typography

Corner Radius

Corner Radius

Corner Radius

Grid System

Grid System

Grid System

QQ Emoji

QQ Emoji

QQ Emoji

Animation Principles

Animation Principles

Animation Principles

Part 3_Molecular Components

Part 3_Molecular Components

Includes Standard Primary Interfaces, Navigation Components, Content Components, Action Components, and Feedback Components. Due to space constraints, I will list only two examples from each category.

3_1_Standard Primary Interfaces

3_1_Standard Primary Interfaces

Chats

Chats

Messaging Interface

Messaging Interface

Channels

Channels

Contacts

Contacts

Menu

Menu

Events

Events

3_2_Navigation Components

3_2_Navigation Components

Navigation Bar

Navigation Bar

Navigation Bar

Tab Bar

Tab Bar

Tab Bar

Tabs

Tabs

Tabs

3_3_Content Components

3_3_Content Components

Content components include List View, Dividers, User Avatars, Tags, Chat Bubbles, Text Blocks, Bubble Tags, Banners, and QR Codes. Here, the styles of the List View, Avatar, and Chat Bubble components are illustrated.

List View

List View

List View

User Avatar

User Avatar

User Avatar

Chat Bubbles

Chat Bubbles

Chat Bubbles

3_4_Action Components

3_4_Action Components

This part includes Buttons, Switches, Checkboxes, Pickers, Text Fields, Keyboards, Action Sheets, Share Sheets, Popovers, Bottom Operation Tabs, Player Buttons, Carousel Indicators, and Player Progress Bars. This section provides examples of Buttons, Pickers, Share Sheets, and Player Buttons.

Button

Button

Button

Picker

Picker

Picker

Share Sheet

Share Sheet

Share Sheet

Player Button

Player Button

Player Button

3_5_Feedback Components

3_5_Feedback Components

Feedback components include Toast, Notifications Bars, Info Tooltips, Dialogs, Loading Indicators, Badges, Authorization Sheet, Empty States, and Delete Actions. Here, we’ve highlighted the component styles for Toast, Notification Bar, Info Tooltip and Loading.

Toast

Toast

Toast

Notification Bar

Notification Bar

Notification Bar

Info Tooltip

Info Tooltip

Info Tooltip

Loading

Loading

Loading

Based On Design Token

Based On

Design Token

Part 1

Part 1

Part 1

Understanding Design Tokens

Understanding Design Tokens

Understanding Design Tokens

Definition, Structure and Functionality of Design Tokens

Definition, Structure and Functionality of Design Tokens

Definition, Structure and Functionality of Design Tokens

Part 2

Part 2

Part 2

Color Tokens

Color Tokens

Color Tokens

The semantics and usage of color tokens

The semantics and usage of color tokens

The semantics and usage of color tokens

Part 3

Part 3

Part 3

Icon Tokens

Icon Tokens

Icon Tokens

The semantics and usage of icon tokens

The semantics and usage of icon tokens

The semantics and usage of icon tokens

Part 1_Understanding Design Tokens

Part 1_Understanding Design Tokens

1_1_Definition

1_1_Definition

A Design Token is a standardized naming entity in the design system. It represents a set of uniform parameters for design attributes, such as HEX color values, spacing, sizes, etc, as a common language between design and development.

1_2_Structure

1_2_Structure

A token is composed of two parts: a coding name representing its type and a defined value associated with it. Tokens encapsulate style names in a fixed structure to achieve a streamlined effect.

1_3_Functionality

1_3_Functionality

1). Maintain a single source of design parameters to achieve comprehensive control over the design. One change applies to all instances.


2). Automatic theme adaptation without the need for additional design exports.


3). Reduce redundant resource creation and uploads by minimizing the duplication of design assets, preventing excessive duplication of resources within the system.

Part 2_Color Tokens

Part 2_Color Tokens

2_1_Layer: Three Spaces × Three Types

2_1_Layer: Three Spaces × Three Types

2_2_Classification

2_2_Classification

2_3_Multiple Color Themes Adaptation

2_3_Multiple Color Themes Adaptation

The color tokens in QQ are not single colors but represent a mapping of multiple color schemes. This includes two standard mode themes, nine experience mode themes, and premium themes. When a color token is used, all themes are automatically applied.

2_4_Why can't we merge multiple Tokens into one color?

2_4_Why can't we merge multiple Tokens into one color?

2_4_Why can't we merge multiple Tokens into one color?

Maintain the independence of elements. For example, although icons and text might share a color, keeping them as separate Tokens ensures the ability to modify them independently.

Enable compatibility across diverse themes and scenarios. While multiple elements may share a color in one theme, in other themes, these elements might require different colors. Therefore, when using a color Token, it's essential to consider the scenario and theme compatibility comprehensively, rather than focusing solely on the color itself.

Part 3_Icon Tokens

Part 3_Icon Tokens

Uniqueness: Each icon Token in QQ represents one icon, maintaining uniqueness.

Consistency and Optimization: To maintain visual consistency and reduce installation size, all icons in practical design should use the icons available in the icon library.

Token Structure: In actual design, each icon is composed of two associated Tokens: one for the icon structure and another for the icon's color.

Mobile Icon Size Specifications: The icon library provides one standard size, 24px, which can be scaled to four sizes: 12px, 16px, 20px, and 40px.

Expansion Capabilities

Expansion Capabilities

Access Detailed Interaction Rules

Access Detailed Interaction Rules

Within the Figma component library, you can click the link to access the QQ Design System website for comprehensive interaction rules and usage guidelines. (Currently, the website is internal-only and not accessible externally.)

Within the Figma component library, you can click the link to access the QQ Design System website for comprehensive interaction rules and usage guidelines. (Currently, the website is internal-only and not accessible externally.)

Preview Component Development Effects

Preview Component Development Effects

The development status of each component is visible in the header.

In the internal branch version of the app, you can access the QQ Component Library in the ‘Settings’ section to view components’ effects.

Access Development Code

Access Development Code

You can click the link to navigate to the QQ Design System website for relevant code.

Collaborative Process

for Maintaining the Library

Collaborative Process

for Maintaining the Library

Principles for Requesting

New Component Styles

Principles for Requesting

New Component Styles

Maintain Consistency: Wherever possible, use existing components to ensure consistency. Avoid adding new styles unless necessary.

Ownership of Proposals: Whoever proposes the addition of a new component style is responsible for delivering the design proposal and leading the evaluation and development process.

Process for New Component Requests: If a new component style is deemed essential, please follow the workflow illustrated below.

More works

More works

Huikang Li

Product Designer

Based in Halifax, CA

+1 (782) 775-4746

© 2024 Huikang.Wesley All rights reserved.

Huikang Li

Product Designer

Based in Halifax, CA

+1 (782) 775-4746

© 2024 Huikang.Wesley All rights reserved.

Huikang Li

Product Designer

Based in Halifax, CA

+1 (782) 775-4746

© 2024 Huikang.Wesley All rights reserved.