.../articles/

デザインデータと仲良くなる

ウェブサイトやサービスを作るときには、仕様をもとにデザインカンプを作り、それを参考にマークアップするのが一般的な流れだと思います。 その時に問題になるのは、エンジニアとデザイナーの間で起こるデザインカンプの解釈の違い。どのようにリレーションしたら良いか、その指針を考えます。

この記事は僕が個人的に関わっているwallhausというデザインを勉強するコミュニティに向けた資料としても使えるように書いています。初学者も多くいるので、易しめになるよう心がけて書いています。

何回かに分けて書こうと思っています。デザイナー、エンジニアの両面から見たデザインデータについて書くつもり。まずは準備編。デザインカンプとは何なのかについて書きます。

データへの認識をそろえる

作っているものがどんなもの(ウェブサイト、ウェブサービス、アプリ…)であれ、最終成果物がデザインデータそのもの(jpg,psd,sketch…)であることはほとんどない。当たり前だけど、デザインカンプそのものが必要なのではなく、それを実装したものがつくるべきもののはずだ。

これはデザイナーによっても考え方はさまざまだと思うけど、個人的にはデザインカンプを寸分の狂いなくマークアップで再現する、ということは求めない。マークアップを担当するエンジニアにはもっと考えるべきことが他に多くあるということと、実装ではデザインデータよりも完成度を上げる必要があって、いろんなデバイスがある昨今では、デザインカンプにこだわっても絵に描いた餅になる可能性も高い。

デザイナーが作るもの = デザインデータ、となりがちだけど、それはプロダクトを作る上での中間成果物であり、作るべきものはローンチされるプロダクトそのものである、という 共通認識 を持つことが大事。

デザインカンプは静止画である

デザインカンプは静止画です(当たり前)。スナップショット、という言い方もするけど、 ある一瞬を切り取った状態 がデータになっている。
そのため、エンジニアはここから多くのことを読み取らなければならない……遷移、表示順、トランジションやステータスなど実際のプロダクトではユーザの操作によって様々な状態が変化する可能性がある。

昨今ではさまざまなモックアップツールが登場し、ある程度動きを再現することができますが、あらかじめ様々な状態をデザイナー自身も想定しておく必要がある。

よくある状態変化、例えば

  • 順序、表示順の変更
  • データが空の時
  • データが多くなってしまう時
    • 文字量や画像の枚数などがオーバーしてしまう時
  • データが欠けている時
    • 画像がない時
    • 未入力の時
  • 操作へのフィードバック
    • 追加した
    • 削除した
    • 保存した
    • ロード中
    • 入れ替えた
    • エラーが発生した

ユーザが行う操作は、細かいアクションとフィードバックの繰り返しで進む。
通常の状態だけではなく、操作の前後やエラー発生など、時間軸を意識してデザインデータを作る必要がある。

なんだこのデータは…とならないようにしたいところ

デザインカンプは(ある程度)ルールで作っている

そのある程度ってなんやねん、と怒られそうだけど、逆に言うとルールに則らないユニークなデザイン以外はルールで作っているとも言える。
そのルールが問題だけど、個人的に一番気にするのは余白やフォントサイズなどの 数字

自分は縦の余白は8の倍数で、横の余白は12グリッドにそって作ることが多い。
こういったよく使う数字はデータから読み取るのではなく、直接コミュニケーションして共有する方が良い。

余白の取り方も、どういったセクション分けをしているかで変わるので、そういったことはレイヤーをグループ分けしてきちんと命名しておくことで伝えることもできる。(セマンティクスにマークアップすることに役に立つ)

どういうことまで気にすればよいか、エンジニアとデザイナーの感覚がそろうとお互い気持ちよく作ることができる。


とりあえず準備編ということで心得的なものから。
読み解きづらいデザインカンプは結局のところ見づらいデザインにつながっている可能性もある。
ツールによって解決しようとしがちなリレーションを、細かい仕事をさぼらないことでも解決できるよ、ということを改めて確認したい。


猫の写真 : Photo by Raul Varzar on Unsplash
ロスコの写真 : Photo by Pauline Loroy on Unsplash

.../articles/

Articles

記事

AWS AmplifyにmonorepoのNext.js(App Router)をデプロイする

AWS AmplifyにmonorepoのNext.js(App Router)をデプロイする

monorepo管理しているNext.jsをAmplifyにデプロイしようとした際にいくつか躓く内容があったのでまとめておきます。

リモートワーク・オンライン会議でも、スムーズに制作を進めるために大切なこと[資料編]

リモートワーク・オンライン会議でも、スムーズに制作を進めるために大切なこと[資料編]

コロナ禍の影響により、リモートワークの導入をおこなっている制作会社も多く、実際に弊社でも導入しています。

売れるECサイトデザインを作るために。参考にしたいおしゃれな事例の探し方。

売れるECサイトデザインを作るために。参考にしたいおしゃれな事例の探し方。

売れるECサイトのデザインは、「この形式」という決まりはありません。ECサイトで売り上げを上げるなら、しっかりとしたコンセプトと、コンセプトを決定するまでのリサーチが必要です。

制作会社の考える、業務効率化ツールのおすすめ。個人でも使いやすいサービスなど。

制作会社の考える、業務効率化ツールのおすすめ。個人でも使いやすいサービスなど。

新型コロナウイルス感染拡大の影響で、リモートワークが主流になり、弊社でも週のほとんどは各自宅で作業をしています。

Figmaでデザインのコミット履歴を残せるプラグイン【Thought Recorder】をリリースしました

Figmaでデザインのコミット履歴を残せるプラグイン【Thought Recorder】をリリースしました

Figmaを利用するWebデザイナーの助けになれると嬉しいです。使い方は本記事をご覧ください。

ECの構築方法、おすすめのECサービス。

ECの構築方法、おすすめのECサービス。

ファッションや家電、スーパーの買い物でさえもECサイトを利用することが当たり前になりました。加えて新型コロナウイルスの影響もあり、弊社にも「どんなプラットフォームを利用したら良いか」「どれくらいコストがかかるのか」などECに関するさまざまなご相談を頂きます。

FastAPIのスキーマクラスをOpenAPIから生成する方法

FastAPIのスキーマクラスをOpenAPIから生成する方法

PythonでAPIを構築する要件があり、フレームワークに比較的モダンなFastAPIを採用しました。FastAPIはバックエンドの開発を行えば自動でOepnApi定義を生成する機能が備わっていますが、今回はこれを使わず、事前に用意したOepnApi定義からFastAPIで利用するスキーマクラスを生成する方法を紹介します。

Laravel 日本一解りやすい全文検索のマイグレーション記載方法解説

Laravel 日本一解りやすい全文検索のマイグレーション記載方法解説

Laravel + MySQLで全文検索を実装する

とあるPythonのソースで sys.path.append としたく無かった話

とあるPythonのソースで sys.path.append としたく無かった話

とあるプロジェクトのとあるソースコードのレビューをしてた時、「ソースコードの参照がうまくいってなかったので修正しました」とレビュー依頼がきました。 ディレクトリ構造 ``` module L __init__.py L main.py L tests L __init__.py L test_main.py ``` ソースコード ``` python tests/test_main.py sys.path.append(os.path.abspath("..")) from main import fuga ``` 今まで案件でPythonに触れる機会も結構ありましたが、なんとなく使ってきた部分も多く、この書き方が良いのか悪いのか判別できなかったので、改めてPythonのモジュールのインポートに関して調べてみたのでブログにしました。普段PHPを書いている事が多くPythonに関して何も分からないので初心者向けの内容になっていると思います。

GiFT1号目新卒デザイナーの2021年振り返り

GiFT1号目新卒デザイナーの2021年振り返り

いつの間に、年末ですね。入社してもう、9ヶ月も立っていたようです。2021年の振り返りを記事にしました。

すべての記事

お問い合わせ