Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
デザインシステムが導く 品質の「拡張」
Search
uto usui
January 31, 2025
Design
0
7
デザインシステムが導く 品質の「拡張」
uto usui
January 31, 2025
Tweet
Share
More Decks by uto usui
See All by uto usui
アクセシビリティ推進を続けられるようにするヒント - Accessibility Conference CHIBA 2025
uto
0
100
Other Decks in Design
See All in Design
組織の右腕として共創する ー デザインと経営の二つの視点から見えた、新しい支援のかたち/ Designship2025_Nishimura
root_recruit
0
240
kintone Style Book
kintone
5
7.7k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
300
Memory Man v3 (WIP)
storybychad
PRO
0
2.9k
Liquid GlassとApp Intents
touyou
0
550
第4回関東Kaggler会LT HCD-Net人間中心設計スペシャリストが語るNotebookメダルの取り方
utm529f
0
1.6k
プロダクトデザイナーに学ぶ、『見る気が起きる』ダッシュボードの作り方 / Creating Engaging Dashboards: Lessons from Product Designers
yamamotoyuta
0
270
「キャリア」のプロダクトをつくる私の「キャリア」への向き合い方 / JAM de NIGHT DESIGN SESSION Vol3
visional_engineering_and_design
1
910
チームをデザイン対象にする / Design for your team
kaminashi
0
140
逆向きUIの世界 〜iOSアプリのRTL言語対応〜
akatsuki174
1
350
デザインシステムの「種」を使って、受託開発を加速させる
akane___ui
0
12k
見栄えと使いやすさの先にある 特別感 をデザインする / Designing a Sense of Specialness Beyond Aesthetics and Usability
bitkey
PRO
0
210
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Writing Fast Ruby
sferik
630
62k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Navigating Team Friction
lara
191
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
A Tale of Four Properties
chriscoyier
162
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Transcript
デザインシステムが導く 品質の「拡張」
note inc. ⾃⼰紹介 ⾅井優⽃ / UX エンジニア デザインスタジオでキャリアをスタートし、Condé NastにてWIREDやGQなどのウェブメディアのフロントエンド 開発およびクリエイティブディレクションに従事。2021年5⽉にnoteにフロントエンドエンジニアとして⼊社。⼀
貫したブランド体験の実現と、開発⽣産性向上を⽬指すため、UXエンジニアに転⾝。デザイナーとエンジニアの 協業を促進し課題を解決する橋渡し役として、デザインシステム構築やアクセシビリティ向上を中⼼に、プロダク ト全体の品質向上のため活動中。 最近、⽣成AIの⾳楽で遊んでいます。 2
note inc. 3
⽬次 note inc. ‧ UXエンジニアのしごと ‧ デザインシステム ‧ デザイントークン ‧ コンポーネントライブラリ ‧ まとめ 4
note inc. UX エンジニアってなに? 5
note inc. UXエンジニアとは.. “UXエンジニアは、デザインと開発を組み合わせることで、 ユーザーフレンドリーなデジタル製品を設計‧開発します。” 6
note inc. UXエンジニアとは.. “UXエンジニアは、デザインと開発を組み合わせることで、 ユーザーフレンドリーなデジタル製品を設計‧開発します。” デザインと開発の橋渡し役として協業を促進、 開発⽣産性の向上とブランド体験の⼀貫性を確保し、プロダクトの体験(品質)を向上(拡張)させる。 7
note inc. (noteの)UXエンジニア 8
note inc. 4年前くらいのnote 9 • コンポーネントがない • デザインツールが定まっていない • マスターデータがない
• スクショでのやり取り • ⾊がたくさんある • 表記ゆれ • Nuxt v2 → 3 無理ぽ • デザイナーがマークアップしたり しなかったり 素早く実装するために、仕組み化は先送り 実装コスト重い...⼀貫性のない体験...
note inc. つまり、ルールがない 10
note inc. ルールをつくろう! 11
note inc. (noteの)UXエンジニア 12 デザインがどうあるべきか? を実装する‧みんなが実装できる環境を作る ルール(UI原則‧らしさ)を適⽤した ツールを作る
note inc. プロダクトの品質を「拡張」 13
note inc. UXエンジニアのしごと 14 • デザインシステム ◦ デザイントークン ◦ コンポーネント
◦ ドキュメント • アクセシビリティ向上 • figma連携‧アセットエクスポート • プラグイン開発(イラストシステム • 本番環境のスナップショット • テキスト校正ツール • コミュニケーション ◦ プロダクトキャッチアップ ◦ UI雑談カフェ ◦ ワークショップ • いろいろ負債解消 • ……
note inc. 15 デザインシステム
note inc. 16 https://uxdesign.cc/everything-you-need-to-know-about-design -systems-54b109851969 デザインシステムは成果物ではなく、成果物 の集合
note inc. デザイントークン コンポーネントライブラリ 17
note inc. デザイントークン 18
note inc. デザイントークン _構成 プリミティブなトークンで、コ ンテキストに依存しない、値そのも のを表す命名。 UIからこの値は参照しない。 red-500, blue-700 19
コンテキストや役割や機能をもち、 デザインの意図や目的を反映した 命名。Global Tokenから参照す る。 UIから参照され、テーマ機能を包 含する。 **-primary **-success 特 定 コンポーネントのローカルトーク ン。 コンポーネントに依 存し、global、alias どちらも参照する。 article-**, header-** Global Token Alias Token Component Token
note inc. デザイントークン _導⼊過程 1. カラーパレット(global token)定義 2. alias token定義 3.
コントラスト(アクセシビリティ)検討 4. json 定義 5. 各プラットフォームに変換(Style Dictionary) 6. 段階的実装 7. linter開発 8. 移⾏完了 9. Tailwind CSSの推奨 20
note inc. デザイントークン _成果 21 • デザインと実装で同じ⾊が参照できる • あらゆる環境で同じカラーパレット ◦ web,
app, コムデ • コントラスト確保 • 機能が明確だからまよわない • Tailwind CSS の価値が⾼まる • ちゃんとした英語表現
note inc. デザイントークン _まとめ記事 22
note inc. コンポーネントライブラリ 23
note inc. コンポーネント _構成(React) 構 造 (JSX)とビジュアルスタ イル(Tailwind CSS)を定義し たコンポーネントの本体。 storybookでpropsを
閲 覧 でき る。 24 アクセシビリティを 中 心 としたコン ポーネントの振る舞いを定 義した hooks。 キーボード操 作の処 理、フォーカ ス管理、適切なARIA属性などを適 切にコントロールする。 状態を管理するためのuseState, useContextをふくむhooks。 Presentation Behavior State
note inc. コンポーネント _開発 hygen 25 hygenで雛形(ejs)からコンポーネントを ⽣成するしくみ 対話形式で開発に必要なファイルを⼀括して 作ってくれる これをもとにAIにFigmaのスクショを⾒せたり
https://github.com/jondot/hygen
note inc. コンポーネント _テスト 固有のpropsをすべてStoryとし て書いてカタログ化する。 静 的 なアクセシビリティテス ト、インタラクションテスト、 対
応 するFigmaコンポーネント へのリンク。 i18n切り替え。 26 Storybookの資産を流用(render) する。 Storybookでは見た目の期待値、 単 体テストでは取りうる値が期 待 通りかチェック。 デザインの変更履歴をアーカイブする。 意 図 しないビジュアルリグレッションを 検出。 PRごとにStorybook環境をホストする。 コミュニケーションのハブ・Figmaとの連 携にも。 Storybook 単体テスト Chromatic
note inc. コンポーネント _AI Story, test(a11y)の⽣成 27 IDE上でStoryとStoryを利⽤したtestを⽣成 gpt-4oでいい感じの出⼒ 追加で動的なアクセシビリティテストも依頼
note inc. コンポーネント _ドキュメント MDXでStorybookに書き込む • コンポーネントの使い⽅ • アクセシビリティ対応 • UIの基本的な考え⽅
• Good/bad集 • サンプルコード
note inc. コンポーネント _成果 29 • デザインをコードにおこさなくていい • メンテされてるStorybookいいね◎ • Tailwind
セットアップすると新しいアプ リ作れる • デザインと開発の共通⾔語に • めっちゃアクセシブル • 新規事業への貢献
note inc. まとめ 30
note inc. (noteの)UXエンジニア 31 デザインがどうあるべきか? を実装する‧みんなが実装できる環境を作る ルール(UI原則‧らしさ)を適⽤した ツールを作る
note inc. 溶ける品質‧説く品質 32
note inc. 意識せず品質を実装できる 33
note inc. 意識せず品質を実装できる + 品質も意識 34
note inc. みんながよい品質を 実践‧理解 35
note inc. プロダクトの品質を「拡張」 36
デザインシステムが導く 品質の「拡張」
Thank you !