Next

Guideline

Back

Tok.D _ Design System (Beta)

디자이너를 위한 디자인시스템,

개발자를 위한 디자인시스템

들어가며


안녕하세요. TOKTOKHAN.DEV 프로덕트 디자이너 수지입니다.

디자인시스템이란 디지털 제품에서 디자이너와 개발자가 공용으로 활용할 수 있는 하나의 언어 형태로서, 디자인 원칙, UX 패턴, UI 툴킷, 코드(Code) 등이 전부 포함되는 **'시스템 라이브러리'**를 의미합니다.

디자인과 프론트 단계에서 공용으로 관리되는 컴포넌트들을 활용해 효율적으로 커뮤니케이션 할 수 있고, 이를 통해 프로덕트 작업 시간을 단축하며, 사용자 경험과 로직에 집중해 구축 과정을 동기화 할 수 있는 효율적인 도구입니다.

지난 10월 부터 똑똑한개발자에서는 내부 디자인시스템 구축을 위한 디자인 정의 및 컴포넌트 개발 과정이 이루어졌습니다.

디자이너의 입장에서, 또 개발자의 입장에서 서로에게 더 시너지를 낼 수 있는 디자인시스템에 대한 아젠다가 명확했기 때문에, 프로덕트와 사용자 경험에 좀 더 집중할 수 있도록 초반부터 구체적인 목표를 설정, 프로젝트와 병행하며 진행하게 되었습니다.

현재 TOKTOKHAN.DEV는 Figma Library Assets로 이루어진 공통의 Parent Design System 산하에, 제품마다 별도의 디자인시스템을 구축해 관리하고 있습니다. 각 제품 별 브랜드 가이드에 따라 컬러, 로고 등의 일부 요소를 간단하게 변경 적용하면 Parent System과 손쉽게 동기화 되는 형태로 구축, 관리합니다.

지난 8개월 간 이루어진 Tok.D 디자인시스템(Beta) 버전의 정의와 구축 과정, 베타 오픈 관련사항에 대해 소개합니다.

1) Tok.D 구축 배경


디자이너 입장에서는 다음과 같은 Agenda가 존재했습니다.

개발자의 경우에도 마찬가지였죠.

이와 같은 아젠다를 취합해, 크게 세가지를 목표로 디자인시스템을 구축하게 되었습니다.

  1. 디자이너-개발자 간 효율적인 컴포넌트 재사용 및 공유를 통해, 제품 전반의 사용자 경험에 더 집중할 수 있는 시스템을 구축한다.

  2. 최종적으로는 플랫폼에 최적화 된 템플릿 형태로 시스템을 구축해, 각 컴포넌트를 반응형 환경에 동기화 시켜 대응할 수 있도록 한다. (ex. 디자이너가 모바일 컴포넌트를 디자인하면, 따로 PC 디자인이 없어도 개발자는 가이드라인에 맞춰 한 번에 반응형을 구축할 수 있다.)

  3. Figma - Storybook - Notion 가이드라인 연계를 통해, 라이브러리 형태로 공유 가능한 오픈디자인(Open Design) 시스템을 구축한다. 플랫폼에 특화된 최소한의 가이드를 제공해 다양한 프로덕트에서 다양한 사람들이 시스템을 활용할 수 있도록 한다.

2) Tok.D 정의


Design Principle & Pattern

앞서 설정한 세 가지 목표에 맞춰 디자인 원칙을 정의합니다.

1) 디자이너-개발자 간 효율적인 커뮤니케이션과 공유, 2) 반응형 환경에 동기화 시켜 대응할 수 있는 템플릿 형태의 시스템을 구축하기 위해 아래와 같은 원칙을 정의했습니다.

2**) 라이브러리 형태로 공유가능한 '오픈디자인(Open Design)' 시스템 구축**을 위해 아래와 같은 디자인 패턴을 구성합니다.


Atomic Design

아토믹 디자인 방법론을 적용해 시스템 단위를 구축합니다.

Tok.D에서는 가장 작은 단위의 Elements인 Core System > Core 요소들을 조합한 Example > 페이지 단위로 Example이 조합 된 Template. 세 가지 단계로 시스템을 정의해 구분하고 있습니다.

가장 작은 요소인 Core Elements에서 시작해 템플릿과 페이지로까지 컴포넌트가 확장됩니다. 이와 같은 아토믹 디자인 단위를 활용하면, 누구나 쉽게 페이지 단위로 반응형 디자인 또는 플랫폼을 구성하고, 몇 번의 조합으로 다른 구성의 에셋을 활용할 수 있게 됩니다.

3) Tok.D 구축과정


Design Process

아토믹 디자인으로 단위를 논의하면서, 개발자와 디자이너는 각각 아래와 같은 프로세스로 시스템을 구축하게 되었습니다.

디자이너의 입장에서는 '이미 완성했던 제품의 디자인에서 주로 쓰이는 요소'를 분류, 취합해 시스템 컴포넌트를 만들고 있었기 때문에, 가장 큰 단위인 Template(Page)에서 시작하는 프로세스가 좀 더 효율적이었습니다. 페이지 단위에서 컴포넌트의 상호 레이아웃과 Spacing을 고려해 에셋을 구성하고, 이후 Example, Core의 작은 단위로 컴포넌트를 쪼개 분류 배치하며 Assets Library를 구성하게 되었습니다.

반대로 개발자의 경우, Example / Template 단위의 시스템 구축을 위해선 필수적으로 Core System 컴포넌트 구축이 선행되어야 했습니다. 결국은 Core의 조합이 Example / Template로 확장되는 것이기 때문이었죠.

따라서 디자이너와 개발자가 서로 마주 보는 위와 같은 프로세스로 시스템을 구축하게 되었습니다.

Components 분류

1차적으로 기존에 적용되었던 디자인 및 레이아웃에서 자주 활용되었던 에셋 위주로 컴포넌트를 분류하고 취합했습니다. 이 과정에서 중복되거나 반복되는 요소를 선택적으로 채택하고 수정합니다. 이후 플랫폼에 최적화 된 UI 구성으로 Page 단위부터 순차적으로 쪼개며 Core Elements를 구성합니다.

Assets Rabeling

효율성 확장성을 고려하며 각 컴포넌트의 레이블링 과정을 거칩니다.

디자이너와 개발자가 모두 알아보기 쉬운 형태로 구성하며, Device / Type / State 등에 따라 순차적으로 이름을 조합합니다.

Tok.D는 세 단계로만 구분되는 Brand Color Variation을 적용하고 있습니다.

Tok.D는 세 단계로만 구분되는 Brand Color Variation을 적용하고 있습니다.

Color Style의 경우, Parent System에서 파생되는 제품에 따라 최소한의 변경과 Variant를 포함하기 위해, Primary, Secondary, Tertiary 세 단계로만 구성합니다.

너무 많은 컬러 단계가 시스템에 적용되면 재사용성 / 운용성 면에서 어려울 수 있기 때문에, 사용하는 디자이너 혹은 개발자의 초기 셋팅 및 조작 과정을 최소화하고자 했습니다.

하나의 프로덕트에만 적용되는 시스템이 아닌, 다양한 제품에 대응하기 위한 시스템이기에 확장성 면에서도 적합하다 판단했습니다.

필요한 경우 제품에 따라 Color Variation 단계를 추가할 수 있습니다.