DMM.comの、一番深くておもしろいトコロ。

DMM動画サービスの問題を解決しようとしている話(スタイルガイド編)

DMM動画サービスの問題を解決しようとしている話(スタイルガイド編)

はじめに

はじめまして! 動画配信事業部 デザイナーの中田です。
ユーザーの作品購入までの舞台となるDMM動画のECサイトにおいて、開発効率アップ⤴︎のため、日々カイゼンに勤しんでます!

今回は 長期運用中のサービス「DMM動画」の問題を解決しようとしている話 をスタイルガイド編、コンポーネント編の2回に分けてお届けしたいと思います!

1回目のこの記事では、デザイナーの取り組みを中心に紹介させていただきます。
自分たちと同様に、長期運用サービスの運用そのものや改修方法に悩まれている方の参考になれば幸いです。

目次

DMM動画の歴史

「DMM動画」は、DMMが設立された1998年から20年間続いている長寿サービスです。
まさにDMMとともに成長、拡大を続けてきました。

パソコンから始まり、フィーチャーフォン、スマホ、TV、ゲーム機、VR……。
新しい端末やコンテンツの普及に合わせて、視聴スタイルは日々変化しています。
そんな 新しい視聴スタイルをユーザーへ最速で届ける をモットーに、迅速に開発を進めてきました。

速さを優先した開発の裏で起きていたこと

DMM動画ではサービスのデザインガイドラインが定義されていませんでした。
10年前から存在するページもあれば、5年前に作られたページ、数ヶ月前に作られたばかりのページもあり、時期によってデザインがバラバラです。
また、機能改修では対象となるページにのみ手を入れるため、同じデザインのページでも更新頻度に差があります。

その結果、同じ機能でもデザインの違うパーツや、同じデザインでも実装コードの違うパーツが混在する状態が生まれました。

f:id:koyano-satoshi:20180629142649p:plain

これまではその状態を抱えながらも「最速でリリースすること」を主軸に手を動かしてきました。
ですが、そういった箇所が増えていくにつれ、一貫性のなさや再利用性の悪さが目につくようになり、メンテナンスコストの高さも頭を悩ませる問題になってきました。

スタイルガイドを定義するまで

対策チーム発足

1からデザインガイドラインを定義して、すべてを作り直せば解決しますが、スマートフォンだけで170ページ超あるDMM動画でフルリニューアルを行うには、膨大な時間がかかってしまいます。
そこで、フルリニューアル以外で 少しずつでもできること はないかと、ついに昨年、デザイナーとフロントエンドエンジニアで構成された UI管理し隊 が発足!
デザインの問題を解消すべく、パーツの一覧化、管理へ向けて動き出しました。

同じ時期、DMM動画の開発体制にも変化があり、デザイナー・フロントエンドエンジニア・サーバサイドエンジニアによるチームが組成されました。
これまでは案件ごとにスキルを持った開発者でチームを組み、リリース後は解散していましたが、同じメンバーが継続していろいろな案件に携わるようになりました。
デザイン・コード・プログラムの連携が取りやすくなったことで、デザインだけではなく実装コードの問題解消も視野に入ってきました!

全体の把握

DMM動画の場合、パーツの全容が見えない状態だったので、UIインベントリを作ることから始めました。

UIインベントリ」は、サービスのUIパーツ、インタラクション、使用方法などをまとめたパーツカタログです。
インターフェイスインベントリ、パーツリストとも呼ばれます。

サービスに使用されているパーツをもれなく抽出するため、DMM動画の全ページをリストアップ。
以降の工程ではスクショを取らなくてもすむように、リストに沿って一度にスクリーンショットを集めていきます。

パーツの分類

次にパーツを切り貼りして分類していきます。
DMM動画のデザイナーは金沢と東京の二拠点で開発しているため、リアルタイムに共同作業ができるデザインツール「Figma」を使用しました。

これまで、遠隔地での認識合わせにはSlackの画面共有を使っていました。
画面共有ではhost側の操作が主体となるため、画面書き込みや口頭参加になる“共有される側”には細かなニュアンスは伝えづらく、修正も代表して一人が行なうものでした。
また、作業ファイルも最新版をクラウド上で共有し、コンフリクトや巻き戻りに気を配る必要がありました。

一方で、Figmaを使ったやりとりでは、常に最新のファイルを同時に編集できます。
通話しながら一斉に編集していくので完成までのスピードは早く、細かなニュアンスを伝えるのに四苦八苦することもありません。

今回は使っていませんが、Figmaにはシンボル化・プロトタイプ作成・コメント追加・コード書き出しと、UIデザインツールとして充実した機能が備わっています。
これらの機能は無料版でも試すことができますので、気になった方はぜひ触ってみてください。

パーツの分類は次のように進めました。

  1. 大まかにパーツのカテゴライズを決めてFrame(アートボード)を作成
  2. カテゴライズに当てはまるパーツを貼っていく
  3. 複数人でレビューを行い、カテゴライズの認識ずれを修正
  4. 2〜3を繰り返し
  5. 現在のUIインベントリが完成!

f:id:koyano-satoshi:20180613093617p:plain
▲Frame。カテゴリーは何人かで出しました

f:id:koyano-satoshi:20180613093622p:plain
▲一気に集めていきます!

スタイルの仕分け

この段階では、まだ文字サイズや色などスタイルに一貫性がないため、UIインベントリを元にFigmaでスタイルを仕分けしていきます。

スタイルの仕分けは次のように進めました。

  1. 一貫性を持たせたいスタイル区分を決めてFrameを作成
  2. UIインベントリーを元に、スタイル区分に当てはまるスタイルを集める
  3. 類似するスタイル同士を統合して、用途やルールを定義
  4. 3で定義したルールを元に、既存ページに適用したカンプを作成
  5. 複数人でレビューを行い、違和感や矛盾を感じるものを修正(現在このステップを実施中)
  6. 3〜5を繰り返し

f:id:koyano-satoshi:20180613093627p:plain
▲色を抽出していく図

f:id:koyano-satoshi:20180613093631p:plain
▲Before。ブレブレです

f:id:koyano-satoshi:20180628104246p:plain
▲After!スッキリ!

この先は、ある程度ルールを定義したスタイルガイドを元に、デザインデータを作成していきます。
スタイルガイドは定義して終わりではないので、サービス展開に合わせて適宜アップデートをかけていきます。

データ作成と管理について

デザインデータの作成には「Sketch」を使用します。

  • ライブラリ機能で、ドラッグ&ドロップでページ組み立てができること
  • シンボル機能で、修正すれば使用箇所すべてに反映できること
  • プラグインの豊富さ
  • 外部サービスとの連携の良さ
  • 多くのサービスをプロジェクト管理できること

以上の理由で選定しました。

外部サービスとの連携は、すでにDMM動画の一部プロダクトで導入されており、「InVision」を利用して画面の共有やレビューを行っています。

将来的に「InVision Design System Manager」や「abstract」「kakutas」との連携で、Sketchデータのバージョン管理も導入できないか検討中です。

まとめ

いかがでしたでしょうか?

デザインとコード、プログラムを整備した近い未来、これまでできなかった広範囲の改善・修正を、これまでできなかったスピードでできるようになります。

動画配信事業部として、今後もより快適な動画サービスをお届けできるよう励んでいきますので、どうぞよろしくお願いします!

次回はフロントエンドエンジニアによる取り組みの、コンポーネント編です。
実装コードの問題解決について紹介しますので、お楽しみに〜!!