メディア統括本部・技術横断室の谷です。組織横断の活動しながら、AmebaAmebaマンガという事業に関わっています。実務としては、コード実装をメインに、UI設計やUX設計、最近ではユーザーインタビュー等のリサーチ業務をおこなっています。

この記事では私が立ち上げから2年くらいかけて関わってきたAmebaのデザインシステムについて、その全貌を解説します。

そして本日からデザインシステム「Spindle」のサイトを試験的に一般公開します。詳しくは記事後半にて。

まず前段のお話として、Amebaという事業について説明させてください。

Ameba事業の概要

Amebaはブログサービスであるアメーバブログを主としたサイバーエージェントのメディア事業の1つです。

多くの人はおそらく「アメブロ」や「ピグ」の印象が強いですが、関連事業やサービスとしてはマンガや占い、ニュースなど色々と展開をしています。

Amebaの関連事業・組織図

Amebaは2004年からはじまり、2021年9月でAmebaは17周年を迎えました。この記事のテーマであるデザインシステムの話が出てきたのは2年ほど前、つまり15周年のときです。

15年も継続し、成長しているサービスは決して多くはないと思うのですが、これもユーザーの皆様や、サービスに関わる色々な方たちのおかげです。

ただこれだけ長く事業を続けていくと、ずっと成長期というわけにはいかず、停滞する時期が訪れます。またその時々に必要だった技術やデザインが時を経て古くなり、アップデートされないまま残って「負債」と呼ばれるものになっていきました。

Amebaのビジョン「100年愛されるメディアを創る」

Amebaはビジョンとして「100年愛されるメディアを創る」を掲げています。ということは100年続くサービスでなければいけませんし、そのためには時代に合わせたアップデートしないといけません。事業として停滞させず、継続的に成長し続けるためにはとても重要なことです。

こうした考えが15周年の節目で事業的にも見直す機会となり、ブランドをアップデートするというプロジェクトが動きました。

Amebaのブランド戦略

今回のブランドアップデートは直接外に向けてのPRのことを考え始めたのではなく、Amebaの中に向けて「Amebaとは何か?」「Amebaらしさとは何か?」という問いを立てるところからはじまりました。

これまでは「Amebaらしさ」といったものが言語化されず、各々の主観でAmebaをイメージして進んできたといえます。そうするとサービスのことを伝えるのにどう伝えればよいかもわかりませんし、何かひとつを企画するにも「誰に」「どのように」というのが一人ひとりの主観だけで判断してしまうことになります。

従業員がAmebaのイメージをあいまいに捉えている場合と、Amebaらしさを定めてみんながそれに向かうイメージ図

ここであらためて事業、チームとして「Amebaらしさ」定めることで、そのたどり着き方はどうあれ目指すもの、伝えるべきメッセージの核はぶれないようにすることを目指しました。

こうしたブランドとしてAmebaらしさを再構築するために、1年近くかけてビジョンやミッション、ブランドコンセプトといった核となる要素を言語化していきました。

そうして次のようなビジョン、ミッション、ブランドコンセプトと、Amebaがどういうサービスであるか、というのを言語化・可視化しました。

Amebaのビジョンとミッション、ブランドコンセプト「生きたコンテンツをつむぐ」。サービス利用者とコンテンツが繋がり、紡がれていくブランドの実現イメージ図

生きたコンテンツをつむぐ」というコンセプトは次のようなイメージです。例えばブログを読んだ方がそれに感銘を受けてコメントを書いたり、あるいは自らブログを書いたりする。またはマンガや占いなどのコンテンツを体験した感想をブログに書いて、それでそのコンテンツを知った人がそのサービスを見に行く…というようなサイクルが人の繋がりやコンテンツの繋がりを紡いでいくような、そうしたイメージです。

他にもブランドパーソナリティやバリューといったものも定義していますが、これらのブランド定義のプロセスについては、デザイナーの武本が過去に登壇したときの資料も参考にしてください。

ブランディングとデザインシステム

BRAND(らしさ)とing(届け方)のイメージ図

ブランドについてはここまで触れた通りですが、それをどのように醸成し、伝えるかというのが次の段階です。LandorBRAND + ingの考えを元に、「らしさ」を伝える手段としてデザインシステムの取り組みをはじめました。

ここで一度そもそもデザインシステムとは何か?というのをおさらいします。

デザインシステムの一般的な定義として、ドキュメント、スタイルガイド、コンポーネントライブラリが包括されているイメージ図
Design systems, style guides, pattern libraries. What the hell is the difference?

デザインシステムは、次のような要素で構成されているものを指すことが多いです。

– ブランドやデザイン原則などのドキュメント
– 具体的な表現や振る舞いのためのスタイルガイド
– デザインツールや、実装コードに落とし込まれたコンポーネントライブラリ

ただアウトプットとしてこれらがすべて揃ってはじめてデザインシステムと呼ぶのかは組織によっても違いますが、Amebaの場合はこれらを包括したものを目指しました。

Amebaのデザインシステムの狙い

デザインシステムの効果・効能のイメージ。コンポーネントライブラリによる印象の一貫性や開発の効率性向上と、体験の一貫性と設計の効率性を向上させて、一貫したAmebaらしさを伝えるイメージ図

デザインシステムがもたらす恩恵というのは、コンポーネントライブラリのようなツールに焦点を当てると「印象の一貫性」や「開発効率化」側面が目立ちます。実際にコンポーネントライブラリによるそうした効果は高いと感じますし、デザインシステムの機能として重要です。ただAmebaにおいての一番の動機は「ブランド」です。「Amebaらしさをつくる」ためのものであるには、ただ普遍的な品質が担保されているだけではいけません。

「デザイン」「システム」という言葉から、デザイナーあるいはデザイナーによるデザイン業務や、あるいはエンジニアのための何かと思われることもあります。そうではなく、プロダクトとサービス全体を対象にした「設計」としてのデザインと考え、「体験の一貫性」を効率よく設計するために、職種としてのデザイナー以外にも意味のあるものとしています。

Amebaのデザインシステムは言い換えるならば「Amebaを作るすべての人が、Amebaらしさを伝えるため約束事や、それを手助けするツールやガイドラインが揃ったデザインする仕組み」といえます。

Amebaのデザインシステム、Spindle

デザインシステムの構想を練っていく中で、Ameba全体からの認知や浸透を図るために名称を考えました。そこで閃いたのが「生きたコンテンツをつむぐ」というブランドコンセプトから、そしてAmeba=アメーバという生物と捉えて100年進化しながら続いていくことから、Amebaのデザインシステムを「Spindle(スピンドル)」と名付けました。

「Spindle」の意味として、糸を巻く道具の「紡錘」と、細胞分裂期の構造体「紡錘体」のイラスト
Wikipedia: 紡錘紡錘体より引用

Spindleには糸を紡ぐ道具である紡錘という意味と、細胞が核分裂するために必要な構造体である紡錘体の意味を持ちます。他にも色々と良い名称案がありましたが、コンセプトのマッチ具合などからSpindleと決まりました。そのままこのコンセプトからデザインシステム自体のロゴデザイン、シンボル化をしました。

デザインシステムに名前をつける、というのは最重要ではないかもしれませんが、コンセプトを表した名前のようなものはチームのアイデンティティにもなりますし、デザインシステムの浸透にあたっても「デザインシステム」よりもキャッチーな名前にしておくというのは戦略的には良いと感じています。少なくともこうした名前を持ったプロジェクトのようにしてしまうのは、私たちの会社の文化としても適切でした。

Spindleの全貌

前置きが長くなりましたが、ここからSpindleの内容に触れていきます。

Spindleチーム

Spindleは現在は6人のメンバーを中心に現在は運用しています。

Spindleを運営する中心メンバーとして、マネージャーとBXデザイナー、技術基盤のテックリード、デザイン基盤のデザインリード、アクセシビリティエンジニアとUIデザイナーがいる図

全体進行をする私と、ブランド設計をリードしたデザイナーと、システムとデザイン基盤をリードする二人、アクセシビリティスペシャリストのWebのエンジニア、UIデザイナーといった構成です。

中心メンバーとはいっていますが、Spindleに全員がフルコミットをしているというわけではなく、Amebaの各ドメインや担当グループとしての本業務と掛け持ちをしています。

こうした横断的な活動において専任ではなく「掛け持ち」というのは事業優先度などの兼ね合いで活動がおろそかになるというアンチパターンもありますが、むしろ現場にいることで課題やニーズを拾えますし、当人が実感してその解決に取り組むきっかけにもなっています。

Spindleの実体とWebサイト

Spindleの具体的な内容はWebサイトにコンテンツとして構築し、その中でガイドラインやライブラリについてのドキュメントを展開しています。Spindleについて知る、利用するためのハブとしてサイトが存在しています。

ツールについて補足すると、初期の段階からzeroheightを採用してサイトを構築しました。zeroheightはGUIと、Figma等のツールとの連携機能も備わっていため、更新性の保ちやすい点などから採用しました。一方で、日本語の読みづらさや表示の重さなどがやや気がかりとなり、現在はシステムをGatsbyに乗り換えています。

ここからはそのサイトの内容を元に具体的にどういったものをSpindleで定義しているのか説明していきます。

ブランド

AmebaのロゴとSpindleのグラフィックイメージが合成された画像

Spindleの狙いとしてあるブランドについてのコンテンツがまずはじめにあります。

ここではAmebaらしさの片鱗に触れ、関連するコンテンツを展開しています。この記事の冒頭で触れたブランド形成のプロセスや、この記事では紹介しなかったパーソナリティやバリューなどAmebaの総合的なブランドガイドラインの案内をしています。

原則

Spindleで定義されている抽象的な緑色の四角形、三角形、丸や波線などのイラスト図形が浮かぶイメージ図

デザインシステムにおいて基盤となる考え方、ページでは「約束事」と明記していますが、以後解説するのライブラリの設計基準や、そして実際のプロダクトにおいても基本的にこれらの原則を踏まえてつくれることを目指しています。

Spindleで定義したデザイン原則「敬意」「軽快」「情緒」「歓迎」

デザイン原則は「Amebaらしさの基準」であり、らしさをデザインするために念頭に置いて欲しいメッセージです。これらはプロダクトに対してだけでなく、サービス全体を通して意識したい内容です。ブランドから落とし込んだ内容になっており「ブランドデザイン原則」と言い換えても良いかもしれません。

次にAmebaでとても大事にしている「アクセシビリティ」の項目があります。デザイン原則における「歓迎」と強く紐づくとても大切な指針です。

ここで掲げているのは、誰もがいつでも、迷わず「書く」「読む」「応える」ができる状態を目指す、というものです。100年愛されるメディアとして、若いときに使っていたユーザーが歳を重ねて視力が落ちたとしても、あるいは何かの理由で片手しか使えない、マウスが使えない状況であったとしても…いつでも、誰でも使えるサービスでありたいと考えています。アクセシビリティというと障害者や高齢者向けの、というイメージはまだまだ強いので「使いづらさ」についての解説コンテンツなどもあります。またWCAGに基づいたAmeba Accessibility Guidelinesも独立して存在しています。

あまり他のデザインシステムや関連ドキュメントでは見かけませんが「パフォーマンス」についてもその考え方やガイドラインを設けています。これも「軽快」というデザイン原則に基づきますが、心地よくサービスを利用できるようにするためには大切な要素です。アメブロではパフォーマンスに対する取り組みにも力を入れており、過去のDevelopers blogの記事でも公開しているのでチェックしてみてください。チェックリストでは抑えるべきポイントについて記載し、またGoogleのCore Web Vitalsなどで評価される項目についての解説をしています。

他にはまだ未完成ですが「コンテンツ」についてのガイドラインやツールもあります。これらもブランドとしてのボイスやトーンの定義を元に、そしてプロダクト上での表記ガイドラインなど作成しています。サービス全体で使われる用語定義をし、それらの表記ゆれチェックのためのtextlintの導入をしています。

スタイル

アイコンの造形の元となったAmeba Sansという書体の作りをイメージした図

スタイルはAmebaらしさの視覚的表現をまとめています。例えば「カラー」「タイポグラフィ」「アイコン」について展開しています。

「カラー」と「アイコン」の設計については、以前にSpindleのデザインリードである本田が、カラーパレットについての記事Amebaらしいアイコンについての記事を書いてくれたので、解説についてはそちらを是非みてください。

実装に関するところについても少し触れておきましょう。色については、WebではCSSカスタムプロパティでグローバルに参照できる形にし、後述するコンポーネントのスタイルに使われています。Web以外でもなるべくSingle Source Of Truthの考え方で管理をしたいため、Design Tokenとして現在Figmaから半自動的にJSONを生成し、各プラットフォームに適したフォーマットに変換する仕組みを試験中です。

Figmaを使ったDesign Tokensの管理方法として、StyleDictionaryをはさみ、Webその他プラットフォームに適したコードを提供するイメージ図

アイコンについてはFigmaで作成されたアイコンの一覧から、FigmaのAPIを利用して追加・更新をGitHubでPR作成するような運用にしています。

タイポグラフィに関してはブランドフォントであるAmeba Sansをはじめに、その他常用するフォントについての内容が主で、UIに関する内容は現在作成中です。

他には「グラフィック」「イラスト」についても公開予定です。

コンポーネント

ボタンなどのコンポーネントの抽象的なイメージ図

コンポーネントについてはボタンやフォームといったプリミティブなUIコンポーネントの定義からはじまっています。コンポーネントにおいてはそのUI構造にAmebaらしさといったものはあまり込められていませんが、スタイルやコンポーネント単位でのアクセシビリティには気を配っています。

ここではコンポーネントごとに導入として使い方や、開発者向けのガイドを中心にしており、デザイナー向けのより詳細な作り方のガイドなどはFigmaで展開するようにしています。

実装に関する点では、コンポーネントはWeb向けにはStorybookでのカタログ化とテストをするようにしています。コンポーネントはGitHubでも公開しておりの各Amebaのプロダクトで利用するには、npmから利用することができます。PublicにすることでOSS的にコントリビュートしてもらえる期待はありますが、単純に組織のシステム内でのPrivateな管理よりも、各開発環境・開発者にとってアクセスしやすいのは大きな利点だと感じています。

さて、この時間だけではすべてを解説することができませんし、ここまでの文章やイメージでの説明では伝わりきらないと思うので、実際に皆さんでこのSpindleのサイトを覗いてみてください。まだ旧システムからの移行が不完全な箇所や、内容が読みづらい箇所などありますが、どういった構成や内容になっているのかをご覧ください。

Spindleを公開する理由

https://spindle.ameba.designのトップページのキャプチャ

Spindle
https://spindle.ameba.design

このような社内向けドキュメントのようなものを公開して何の得になるのか?と思われるのですが、これにも狙いがあります。

まず海外の一部の企業やWebサービスは、それらのデザインシステムを公開しています。中には政府が公開しているものなどもあり、今回のデザインシステムをつくるにあたっても大いに参考にさせていただきました。

それらの企業などが公開するのには各々理由があると思います。例えばプラットフォームサービスであれば、サードパーティの開発者向けに公開する意味はあります。他にはデザインシステムが存在すること、あるいはそこに現れるその企業のデザインへの姿勢なども見られることから、採用の効果もあるでしょう。

Spindleの場合は、後者の採用目的も含めて「ブランディング」が今回にあるため、公開することに価値があると考えています。他には外部のパートナーに協力いただくような場合にも参照してもらいやすいのも利点といえるでしょう。また副次的ですが一般公開されていることを意識することによってドキュメントの質を維持するという効果もあります。

国内の企業やサービスでも徐々にデザインシステムやコンポーネントライブラリがオープンにされつつありますが、個人的にはこのAmebaの取り組みも多くの方の参考になるところがあれば、という想いもあります。

Spindleのこれから

ここまでの話を聞いている限りは、とても充実したデザインシステムのように聞こえるかもしれませんが、まだまだ内容は不十分です。そして本来の目的である「ブランディング」において、内部への浸透や、プロダクトへの反映といったこともまだはじまったばかりと言えます。

少しずつ前進し、すでにいくつかの実績も出ていますが、終わりはありません。

A Design System isn’t a Project. It’s a Product, Serving Products.
Nathan Curtis – EightShapes

海外の著名なコンサル会社のファウンダーの方の言葉ですが、デザインシステムは終わりのあるプロジェクトではなく、プロダクトのためのプロダクトであると述べています。私たちが普段開発しているプロダクト、サービスのように、何もしなければ朽ちていきますし、事業本体に対しての貢献もできなくなります。

またデザインシステムにはユーザーが存在し、どのように利用されるか、何が必要かを考え続けなければいけません。コミュニティとしての活動もし、貢献する人を増やすのも大切です。幸いにもこの取り組みに前向きな方も多く、Issueをあげたり、あるいは具体的な解決方法についてのドキュメント、あるいは実装を提案するコントリビューターも増えています。

DesignOpsの構成として、デザインシステムとデザインプロセス、連携プロセス、デザインの課題解決管理がつながるイメージ図

今後は組織としてデザインをスケールさせるために、SpindleはDesignOpsといった大きな枠組みの中で、デザインプロセスや他部署との連携を強化していく軸、デザインをつむぐ仕組みとして成長させていきたいと考えています。

これから新しくアップデートされていくAmebaをよろしくおねがいします。