Window, Android, iOS, Web
Starting in 2022, there has been a move by designers within NAVER to switch to Figma to keep up with global trends in
Overview
First Step for Design System in NAVER
Starting in 2022, there has been a move by designers within NAVER to switch to Figma to keep up with global trends in design tools. Figma offers significant advantages in terms of collaboration and resource management. The design system began to become important to all design teams at Naver.
Foundation for Browser
Among them, the design system was most important to the Whale team. This is because, unlike other products, it has 7 products on 3 platforms. All team members, including the team leader, began to recognize the importance of the design system.
Challenge
Whale runs on three device platforms: desktop, mobile, and Chromebook, and three software platforms: Android, iOS, and Windows. We had to consider all the combinations of cases. Before we implemented the design system, each product used different fonts and colors, which was a big cause of inconsistency. The biggest problem was that there was no mechanism to manage it.
Approach
Based on Atomic Design Principle
Atomic design is a design system methodology proposed by Brad Frost, inspired by the concept of atoms in chemistry. This methodology suggests a way to build interfaces from small components to progressively more complex structures. This methodology allows for the systematic construction of modular design systems, which allows for consistency and efficiency in large-scale projects.
Principle
Consistency across all platforms
To ensure consistency across products, we need a design system that can be applied across all platforms.
Optimization for each product
A design system should be implemented in every product, but it should also reflect the characteristics of each product.
Creating a Style Guide
1. Color System
The color system was defined based on the HCT of M3. Some parts that needed optimization were redefined through testing. For example, the tone of Primary in M3 was defined as Light 40, Dark 70, while in Whale, Light 50, Dark 60 was applied for a fresher feeling. Gray Scale was also adjusted to lower the saturation by adjusting the Chroma for general use.
Colors were managed by dividing them into Color Palette and Toner Palette. Since Whale has cases where the Primary is different for each product, the product name was added after the color usage to manage them.
2. Font System
The font system requires precise adjustments to ensure consistent size and weight across different platforms. While each platform uses different fonts, the overall font system must maintain uniformity.
Platform | Primary(ENG) | Secondary(KOR) |
Desktop(Window) | Arial | Noto Sans KR |
Mobile (iOS) | SF Pro | Apple SD Gothic Neo |
Mobile (Android) | Roboto | Noto Sans KR |
WhaleOS | Roboto | Noto Sans KR |
Number | Pretendard | N/A |
3. Shape & Shadow
As a browser, Whale often displays menus or pop-ups in additional layers while in use. This requires a well-defined conceptual hierarchy for each UI element. Visual distinction is created through changes in shadow intensity, and the rounded corners of the panels are defined accordingly to ensure consistency and clarity.
Managing color & font styles
I managed colors, fonts, and effects across multiple platforms, including Windows, Mac, iOS, and Android, within a unified design system. Additionally, I incorporated a dark theme. To handle this complexity, I leveraged Figma’s Variables feature by tokenizing all properties.
With Styles
- Multiple properties combined
- Cannot contain other styles
- Only groups
With Variables
- Store single values
- Can contain other variables
- Modes, Collections, Groups
Designing a Design System
1. Define Core UI Components
Before defining components, we faced a dilemma: should we create a single component with extensive variants or develop separate components for each platform? We opted for a phased approach. Initially, we prioritized efficiency by using as many variants as possible. Later, if platform-specific variations became too complex, we planned to separate them into distinct components.
Variable Matrix
- Platform: Desktop, iOS, Android, Web
- Size: XLarge, Large, Medium, Small, XSmall
- Color: Primary, Secondary, Outlined,
- Status: Normal, Hovered, Pressed, Dim
We basically followed Google's M3 structure. For components that were independently required for each product, we produced them after receiving advice from the person in charge. For example, the top omni-box of the desktop browser and the bottom menu bar of the mobile were managed separately as the most frequently used elements in each app.
2. Define Grid System
Scree size | Break point | Margin/Gutter | Layout Column | Target Device |
Compact Small | 220<W<320 | 15/16 | 4 | Partial view |
Compact | 320<W<600 | 16/16 | 4 | P-V |
Medium | 600<W<840 | 20/16 | 8 | P-H, T-V |
Expanded | 840<W<1280 | 32/24 | 12 | T-V, T-H, W |
Expanded Large | 1280<W | 84/24 | 12 | W |
- P : Phone, T : Tablet, W : Web
- V : Vertical, H : Horizontal
3. Create a Components Library
4. Deliver to Develop Frontend Side
A Design System Manager supports frontend development by providing clear documentation and resources such as Figma designs and Excel sheets for color tokens. I collaborate closely with frontend teams to ensure accurate implementation, streamline the development process, and maintain alignment between design specifications and final products.
5. Iterate whole process and Evaluate
Iteration is a crucial process in a design system. While a design system provides a set of guidelines for all products, it is not static; it must continuously evolve by incorporating feedback from both products and designers. To facilitate this, I have developed the following collaborative process, which is similar to the approach used when implementing changes for hundreds of designers at Samsung.
Streamline for Managing Components Library
- Communicate the Change Direction
- Gather Designer Input
- Assess Overall Impact
- Validate with Designers
- Publish Updates
Who can be a Design System Manager
Based on my experience operating a large-scale design system at Samsung and building a design system at Naver, I defined what kind of designers can do a design system as follows.
Profound Understanding in UI Components
A Design System Manager must deeply understand UI components, including their visuals, interactions, and technical details. This knowledge ensures consistency and adaptability in user experiences and design outcomes.
Systematic thinking skills
Effective Design System Managers possess systematic thinking, allowing them to manage complex systems clearly. They understand component interdependencies, maintain consistency, and plan for scalability and sustainability.
Achievements
It was revealed that design resources were reduced by up to 70% due to the introduction of the design system. Designers responded that they felt that their work time had been shortened by more than three times. Design system has been the highest priority in three consecutive year up to next year in my team.