It技術

エンジニアがデザインを学んでみた


はじめに

私はずっとコードばかり書いてきました。

web系の開発やモバイルアプリの開発に携わってきましたが、どちらもデザイナーが作ったデザインをコードにおこすだけで、自分でデザインを考えたことがありませんでしたし、それでも不便はありませんでした。

しかしながら、最近以下の要因でデザインもできた方が良いのではないかと思うようになりました。

  1. デザインから実装、公開までを同じ人間にお願いできるので、クライアント側からすると嬉しい
  2. 開発 + α ないと、AIでもできるお仕事になってしまう

というわけで、以下の動画を見てみました。

https://www.youtube.com/watch?v=B-ytMSuwbf8&t=5287s

今回の記事は、上の動画を見て学んだことのまとめ的な記事になります。よろしくお願いします。

用語

UXデザイナー: ユーザーの体験をデザインする人(ユーザーの観点から)

- ワイヤーフレーム
- コンテンツ
- ユーザビリティのテスト
- 心理学

UIデザイナー: デザインを作る人

- カラー
- フォント
- 余白
- 形

Webデザイナー: UIデザイナー + UXデザイナー

brief (UX)

  • 何を 誰のために 作るのかを決める
  • 詳細を決める
    • どんな雰囲気のサイトが欲しい?
    • どんな色を使いたい?
      • ロゴがあればそれに揃えたい etc

wireframe (UX)

  • ワイヤーフレームはざっくりとした成果物の最終形
  • コンテンツ&構造のみに着目
  • briefから作っていく ← briefがしっかりしていないと作れない

デザインソフト

  • Adobe XD
  • sketch
  • figma ← 動画のおすすめはこれ
  • envison studio

color (UI)

カテゴリ

  • primary (RGB)
  • secondary (R + G, R + B …)
  • Tertiary

用語

hue: 純粋な色の並び

tints: color + white

カラーピッカーで白(左)に寄せていく操作

shade: color + black

カラーピッカーで黒(下)に寄せていく操作

tone: color + gray

saturation: 純粋度 (右にどれだけ近いか)

brightness: どれだけ白(上)に近いか

カラーモデル

  • CMYK (cyan, magenta, yellow, black)
    • プリンタで使われるやつ
  • RGB (red, green, blue)
    • 馴染み深いやつ。デジタルだと混ぜると白に近づく
    • Hexで表現される
  • HSB hue, saturation, brightness
    • カラーピッカーを操作する考え方
    • 明るさとか純粋さを変えずに色を変えたりできて便利

心理学

赤: 情熱、注意をひく、エナジー、スポーツのサイトとか

青: インターネットで最も使われる。知性、セキュリティ

黄色: 楽しさ、エナジー

緑: 安全、バランス

オレンジ: 幸せ、自信

紫: 高貴

色の組み合わせ

カラーパレットを作る

  1. メインとなる色を決める
  2. Adobe Colorにいく
    1. 合う色を提案してくれる
      1. 近い色
      2. tints, shadeを変えたもの
      3. 補色

他のツール

  • mycolor.space
    • ベースカラーを入れるとカラーパレットを作ってくれる
  • color hunt
    • カラーパレットを提案してくれる
  • muzli color
    • ライブデモを提供してくれる
  • webgradients
    • グラディエントをいくつか提案してくれる
  • dribble
    • 指定した色を使った画像を提案してくれる
  • color snapper
    • color pickerみたいなmacのツール

実践

  1. figmaを開く

  2. briefからベースとなる色(primary color)を決める

    1. 指定されている
    2. ロゴから引っ張る
    3. サイトの雰囲気から決める
  3. Adobe Colorにいく

    1. 合う色をsecondaryにする
      1. どのオプションを選ぶかはbriefから考える
  4. gradientを作る(primary → secondary)

  5. grayの色を決める

    1. 黒から少しbrightnessを上げる
    2. primary colorと混ぜる(color pickerで左下に寄せる)
  6. grayの75, 50, 25, 10, 5のOpacityを作る

    10, 5はラインセパレータなんかに

  7. エラーの色を作る

    1. Adobe Colorから赤寄りの色を選ぶ

コントラスト

  • 強いときつい
  • 弱いと見づらい
  • Contrast (macOS app)
    • 指定した二つの色がコンストラストがどれくらい強いかを判断する

typography

入手場所

  • google fonts
  • adobe fonts

選び方

  • カテゴリごとにざっくりとしたイメージがある

    serif: luxury

    sans serif: modern, tech

  • 小さい画面、大きい画面で表示される時にどうなるかを確認する

ルール

  • どの要素にどのフォントを使うかを決める

属性

  • size weight line heightなどなど

実践

  1. adobe fontsにアクセス

  2. briefで指定された雰囲気からカテゴリ・フォントを決める

    この辺はフォントの知識が必要そう

  3. 小さい要素に使うフォントを決める

    2で決めたフォントとペアになるように考える

    小さい要素でも読みづらくない

  4. それぞれベースとなるフォントサイズ・色・line heightを決める

    • paragraph
    • h1 ~ h6

    色は純粋なgray

    大きい要素はbold

    line heightは実際に要素を複数行にして調整

    type-scale.comでベースとなるフォントサイズから要素ごとのサイズを決める

     scaleはAugmented Fourthがいいバランスでおすすめ
    

    archetypeapp.comも便利

spacing&sizing

8 point system

marginやpadding, width …を8の倍数にするようにしよう

figmaのレイアウトは以下の二つが使える

- grid
- guides
	- view guide rulers
	- この動画ではこちらを使う

icons

  • アイコンは意味があるものを使う

    テキストと関連があるように

  • アイコンのスタイルは一貫させる

    • outline
    • solid

iconの入手

  • Bootstrap Icons 1600 icons
  • FontAwesome 1748 icons
  • heroicons
  • IonIcons
  • ForgeIcons
  • iconsetというアプリがiconをまとめて管理できて便利

images

  • 写真はリアルなものを使う
    • ネットから適当に拾った素材を安易に使わない
      • 偽の笑顔
      • 握手

コンポーネント

ヘッダはWebページのトップセクション

- ロゴ
- ナビゲーション
- 検索フォーム

サイト内で一番最初に見る領域の一つなので、ユーザーの行動を規定しうる

- 検索フォーム
- 画像のアップロード
  • 縦に並んでいてもいい

hero area

ヘッダの次に来るエリア

サイト内の一等地なので重要な情報を配置する

- sliders
- メッセージ
- CTA

button

基礎となるインタラクティブな要素

ユーザーとプロダクトの間にたつ


figmaのデザインに以下があると開発者が嬉しい

	- 有効時
	- 無効時
	- ホバー時

色については以下があると

	- gradient
	- 白黒

画像の一覧を表示する際に使う

用例:

- 実績

全部のページのボトムについてるやつ

- copyright
- social media
- external links
- sitemap
- CTA

testmonials

ユーザーの声

- 内容
- 写真
- 名前
- 役職などの説明
  • ペタッとかく
  • カードにする
  • タブ

偽のものを入れるのは絶対ダメ。ない方がマシ

tabs

内容がパネルに分かれており、一つしか表示されていない。

ユーザーが切り替えることができる

タブの色は

  • 選択されている
  • 選択されていない

場合両方デザインする

用例:

- カテゴリごとの小項目

accordions

楽器のあれと見た目が似てるため

複数のパネルを一度に見せられる

開いている時と閉じている時の両方をデザインする

用例:

- よくある質問

contact form

  • とにかくシンプルに
    • メッセージを送るハードルを可能な限り下げる
  • 以下のデザインも作ると良い
    • focus
    • 無効
    • エラー
  • 必須項目
    • name
    • email
    • message

レスポンシブデザイン

Webサイトはいろんな機器から閲覧される

  • PC
  • タブレット
  • スマホ

昔は、モバイル用、PC用のように複数のサイトを作ってドメインわけをしていたりしたが、管理が面倒だった。

Ethan Marcotte がレスポンシブデザインを提案し使われるようになった。

figmaからメインのコンテナをリサイズすると表示の違いを試せる

固定値を使っていると表示が崩れる可能性がある。

breakpointsを使うと特定の幅ごとに表示内容を変えられる

端末ごとにrangeを決める

- phone: ~600px
- tablet: 600 ~ 1200px
- PC 1200px ~

これごとにサイトを作る。

  • fontsize type-scale, margin, padding, heightも端末ごとに変えたい
    • 表示を見て調整

コンポーネントのレスポンシブ化

  • 無駄な文言を消す
  • 文言をアイコンのみにする
  • 自動で折り返すようにする

プロトタイプ

ユーザー操作が可能なモックアップ

figmaでもprototypeタブからできる

まとめ

  1. UXからプロジェクトが始まる
    • brief
    • ワイヤーフレーム
  2. 適切なツールを選ぶ
  3. 基礎を学ぶ
    • color
    • typography
    • spacing
    • sizing
    • imagery
  4. 共通のwebデザインのパターンを学ぶ
  5. レスポンシブデザインにする