Upgrade to Pro — share decks privately, control downloads, hide ads and more …

REALITYにおけるデザインシステムの導入

gree_tech
October 25, 2022

 REALITYにおけるデザインシステムの導入

GREE Tech Conference 2022で発表された資料です。
https://techcon.gree.jp/2022/session/TrackC-5

gree_tech

October 25, 2022
Tweet

More Decks by gree_tech

Other Decks in Technology

Transcript

  1. • REALITY株式会社 • 2022年3月入社 • 前職:サーバーエンジニア • REALITY: Androidエンジニア •

    Jetpack Compose / UI / Architecture • Twitter: @pika_sigure クライアントエンジニア / Android 自己紹介 飯尾直樹
  2. Part 1 - REALITYの紹介 Part 2 - デザイナーのデザインシステムへの関与 Part 3

    - エンジニアのデザインシステムへの関与 Part 4 - まとめ 今日の発表内容の概要 4

  3. UXボードの作成 • UXボードとは • ペパボブログで紹介されていたデザ イン力の可視化ツール • チームとしてはゼロからのスタートだった ため、まずは他社事例を参考にした上で 課題特定を試みた

    • UXボードに記載された各領域の中でも、 より実際的にUIの制作に関わる領野の改 善を目指すことを決めた • UIデザイン力と効率を上げれば余 裕が生まれやすいと考えたため
  4. 当時UIデザインする上で抱えていた課題と悪循環 デザイナーのデザインシステムへの関与 コンポーネントの使 い方がケースバイ ケースすぎる... 新規デザインを 作るたびに無駄 な時間がかか る... デザイン整理す

    る時間も確保し づらい... 実機とFigma どっちが正しい んだっけ? Figmaのデザイ ンデータが壊れ ている,紛失して いる... デザインのレ ビューに納得感 がない...
  5. 優先度 1. デザインチームのMVV作成 2. トークン化できるスタイルの定義 3. 利用頻度の高いコンポーネントの定 義 4. スタイルのマスターファイルへの反

    映 5. スタイルを反映させた実装 6. コンポーネントのマスターファイルへ の反映 7. コンポーネントを反映させた実装 最終的な優先度とやらなかったこと デザイナーのデザインシステムへの関与 20
 やらなかったこと • 利用頻度の低いコンポーネントのシ ステム化 • UXが関与する内容のシステム化 • 定義完了した後、即座に本番へと反 映させていくこと • 網羅性が高すぎるオリジナルのデザ インシステムを参考にすること • ex.ant,Goldman Sachs, etc…
  6. • デザイン作成に際して発生する無駄な思考コストを削減できる • 仮にこれまで議論されていなかった定義の曖昧さが浮上してもデザインシステムに組 み込めば良い、という安心感がある • 適切な運用方針が定まっている場合、デザイン的資産が積み上がっていく • コンポーネントやスタイルなどへの理解度が上がる •

    要件定義能力や意思決定能力が培われる • UI的な体験の統一性が生まれることによって、 UI以外の観点からUXについて考慮しやす くなる 作り進めた上で改めて感じるデザインシステム制作の意義 デザイナーのデザインシステムへの関与
  7. • アプリ開発をする上でデザインを作る、ということは必然的に ENの関与が発生する • よって、定義段階でEN観点からのフィードバックを貰うことが望ましい • また、デザインシステムで定義されたトークンやコンポーネントをどのように管理 /実装す るか、はアプリの実装方針/スタイルに基づくため、ENに早期段階でヒアリングをすること が望ましい

    • 上記に加えてREALITYではwebやunityも混在するため、どこまでをnative完結にする か、などを相談する必要があった • これらの観点から、専任のENをアサインした上でデザインシステム対応チームを発足さ せた ENとの連携 デザイナーのデザインシステムへの関与
  8. • 配信 • 配信視聴 • 配信一覧 • ゲーム • チャット

    • ガチャ • プロフィール • クローゼット REALITYの主要な画面 28
 視聴画面 ガチャ チャット
  9. REALITYのUI構成 → Native & Unity & Web 33
 Android ロボットは、

    Google が作成および提供している作品から複製または変更したものであり、クリエ イティブ・コモンズ表示 3.0 ライセンスに記載された条件に従って使用しています。
  10. • Native(iOS, Android) + Unity + Web • デザインの統一が難しい •

    開発自体も複雑 • デザインの整備が進んでいる訳ではなかった • 機能開発との優先度 • 整備や改修への工数の不足 • 開発組織の拡大 REALITYのUIの難しさ・課題 35

  11. • 既存デザインの改修は優先度が低め • 直接的なビジネス的価値は高くなりにくい • 新規機能開発の方が重要性は高くなりがち • バグ対応 / リファクタリングも必要

    • UIの改善としても部分的になるケースが多い • コンポーネント単位の改修 • ページ全体の改修は難しい • 結局はいたちごっこになりがち • 開発効率自体をあげたい デザイン改修に対する優先度 REALITYのUIの難しさ・課題 36

  12. • FigmaExport • https://github.com/RedMadRobot/figma-export • Figma上のデザインデータを自動的に出力する • icon, image •

    Component単位で画像の書き出しを実行する • デザインシステム上の画像リソースを自動エクスポートする • https://speakerdeck.com/yutoyazaki/automate-image-export-from-figma-t o-ios-and-android-using-figma-export エンジニア目線のデザイン的課題について リソース出力の自動化 41

  13. • REALITYでは積極的に宣言的UIを導入中 • 今年から本格的に進行中 • Native • Jetpack Compose •

    SwiftUI • メリット • モダンかつ話題な技術 • コード量の削減 • 再利用性の向上 • デザインシステムと相性が良い エンジニア目線のデザイン的課題について 宣言的UIの導入 42

  14. • エンジニア全員が定義の部分から関わる必要はない • REALITYでは各クライアントからメイン担当が一人 • Android / iOS / Web

    / Unity • 担当のエンジニア • 会議への参加 • デザインに対するレビュー • 定義の実装 • メンバーへの説明・浸透 デザインシステムを使える環境の整備 エンジニアの関わり方 44

  15. • 定義の実装 • Taskforceとして工数を持っているので着手しやすい • 担当エンジニアがそのままタスクを持つのがスムーズ • デザインシステムの説明・浸透 • 実装されていても使われていなければ意味がない

    • メンバーに説明したり、コードベースで浸透させていく • デザインシステム以外の定義の置き換え • 過去の実装についてはDeprecatedにしていく デザイナー側との連携 エンジニアの関わり方
  16. • いかにコストカットしながら進めていくか • デザインシステムがあれば楽になるだろう、という側面は多々あることは理解しつつ も、デザインシステムを構築するのは大変すぎる気配があるため着手できないケース や、そもそもの定常業務が忙しすぎてそれどころではない、みたいなケースは頻繁に ありそう • 作業範囲を削りつつ、一歩目を定める必要がある •

    デザインシステムを推し進める担当者は、それがいかに大事であるかを周囲に伝えると 共に、作業時間を確保できるように相談することが大事 • ENとの連携や開発チームへの浸透作業 • 意思決定者を明確に定めること 進める上での課題 まとめ 49

  17. REALITY社は現在絶賛採用中です! • Meetyでのカジュアル面談 • スカウト待ち登録 • 月一のREALITY Meetup • 知り合いの社員がいる場合参加可能

    • Wantedlyからの応募 など様々な形で採用をしておりますのでお気軽に面談 /応募してみてください! 採用 まとめ 51