Material Designを見てみた

モバイルファースト室の @kaa です。

Googleが先日IOで発表したMaterial Designについての資料を見て、元Flasherの視点で いまさら思った事などまとめてみます。


Material design - YouTube

アニメーション、スタイルのページについてメモです。 レイアウトのページ以降はまた次回に。

Introduction

http://www.google.com/design/spec/material-design/introduction.html

メタファーは紙?

カードは紙をイメージ、という話ですが、どうでしょうか?

もし紙だったらテクスチャの質感や表示時に傾く、ゆれる演出が入るんじゃないかと思います。 四角形がゆがむことはないので紙の見え方とは少し違いますし、紙のやわらかさがないですよね これのMaterial responseとか

紙ですと均等に浮き上がったりしませんし、タップの広がりに連動して影も動くはずです。 これは薄く重ねた表現ということで紙と言っているんではないかと思います。 色のガイドラインの透明感にしてもプラスチックのようなものと考えるとよさそう。

Bold, graphic, intentional

この意図は携帯、タブレット、PCで統一するためかと思われます。

ポイントとしては、外枠に線いれるのは今後なくなっていきそう。枠の太さに左右されないよう背景色で枠を見せてます。その分、色のコントラストがはっきりしていますね。 1pxの線で囲うという枠の切り方はMaterial Designでやると統一感がなくなってしまいそう。

アニメーション

基本

http://www.google.com/design/spec/animation/authentic-motion.html

動きの基本は2つです。

イーズイン+イーズアウト (Mass and Weight)

加速して減速。ふわふわっと。 等速移動をしてしまうと、開始時、終了時にどうしても目についてしまいます。 意識させないアニメーションが大切。

重力 (Special Cases: Entering and Exiting Frame)

一定の下方向加速です。 この場合は画面の外からですね。

f:id:futura24pt:20140815173831p:plain Authentic Motion - Animation - Google design guidelines

linearはNG。swift outはOK。

タップ反応

http://www.google.com/design/spec/animation/responsive-interaction.html

マテリアルデザインで一番わかりやすいタップ位置から広がる演出など。 人の行動に対してレスポンスを返す、といった内容になっています。

Material Response

http://www.google.com/design/spec/animation/responsive-interaction.html#responsive-interaction-surface-response

オプションメニューの展開のような例があります。 要は視線の動きにそった動きを作る事です。中心から拡大すると始点になにかあるのか意識させてしまう。 基本はタップした位置から始まる。タップした時にはタップした場所をみているものなので。 アニメーションは今どこを見ていて、次にどこを見せるか、というのが重要になります。 動きで作るコンテンツファーストですね。

トランジションに意味をつける

http://www.google.com/design/spec/animation/meaningful-transitions.html

前後の画面で選択、詳細など関連性が強いとき、画面をひきつぐように見せる。 なにがどこにいったか迷わせないため。

遷移の切り分け方にも関わってきます。画面全体が切り替わることが少なくなりそう。

Hierarchical Timing

http://www.google.com/design/spec/animation/meaningful-transitions.html#meaningful-transitions-hierarchical-timing

複数の同列の要素がある場合の表示方法。 視線の流れに沿って考えるのが基本。

アプリやHTMLで演出を作るハードルの高さもあってこれまであまり手をかけていなかった部分があるけど、 そろそろやっていっていい時期ということでしょうか。

Consistent Choreography

http://www.google.com/design/spec/animation/meaningful-transitions.html#meaningful-transitions-consistent-choreography

並列要素に異なる動きをつけない。 また並列なものには順序がある。同じ動きでも時間差。 動きで目立たせようとしないこと。動きはコンテンツの中心にしない。

f:id:futura24pt:20140815174301p:plain Meaningful Transitions - Animation - Google design guidelines

スタイル

カラー

http://www.google.com/design/spec/style/color.html

ポイントは基準となる色(500)があり、段階的にしている。段階は薄くなる方向と濃くなる方向がある。 細かい差を使わない事。

UI Color Application

http://www.google.com/design/spec/style/color.html#color-ui-color-application

主要な色は3色まで。 このへんはデザインの基本的なことの話になってる。

グレーの文字には透明度87%を使う。%まで指定は珍しいけど基本通り。 ちなみにクックパッドandroidアプリのベースの文字色は#4a483fでした。

ステータスバーの色は700(濃いめ)を。色の差が明言された。

文字

http://www.google.com/design/spec/style/typography.html

  • フォントはRoboto。
  • 指定は拡大可能に。(アクセシビリティのため)
  • サイズは段階的に。
  • ただし細かい差は作らず、同じサイズでboldで対比してみせるのもあり。
  • 行間の取り方にかなり余裕がある。
  • 改行は文にこだわりすぎない。基本的に流す。
  • 文字間、大きなサイズになると狭く。

アイコン

http://www.google.com/design/spec/style/icons.html#

  • 周囲の余白の取り方は形による。見た目の大きさ優先。
  • 線の太さは一定。(チェックマークなど払いをいれない)
  • 角の丸さにはルールあり。2dp。
  • 斜めの線は45度。統一感をだすようにする。
  • 円は正円。アイコンで楕円は避ける。

まとめ

後半はデザインの基本的な話が増えてきたのでポイントのみの整理になりましたが アニメーションもデザインもコンテンツが中心である、というのが共通しています。 そのコンテンツを伝えるためのアニメーションであり、デザイン方針になっています。 どこまで脇役としての動きを作り込めるか、それをアプリの体験をよくするために生かしましょう。

/* */ @import "/css/theme/report/report.css"; /* */ /* */ body{ background-image: url('http://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527163350.png'); background-repeat: repeat-x; background-color:transparent; background-attachment: scroll; background-position: left top;} /* */ body{ border-top: 3px solid orange; color: #3c3c3c; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; line-height: 1.8; font-size: 16px; } a { text-decoration: underline; color: #693e1c; } a:hover { color: #80400e; text-decoration: underline; } .entry-title a{ color: rgb(176, 108, 28); cursor: auto; display: inline; font-family: 'Helvetica Neue', Helvetica, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS Pゴシック', sans-serif; font-size: 30px; font-weight: bold; height: auto; line-height: 40.5px; text-decoration: underline solid rgb(176, 108, 28); width: auto; line-height: 1.35; } .date a { color: #9b8b6c; font-size: 14px; text-decoration: none; font-weight: normal; } .urllist-title-link { font-size: 14px; } /* Recent Entries */ .recent-entries a{ color: #693e1c; } .recent-entries a:visited { color: #4d2200; text-decoration: none; } .hatena-module-recent-entries li { padding-bottom: 8px; border-bottom-width: 0px; } /*Widget*/ .hatena-module-body li { list-style-type: circle; } .hatena-module-body a{ text-decoration: none; } .hatena-module-body a:hover{ text-decoration: underline; } /* Widget name */ .hatena-module-title, .hatena-module-title a{ color: #b06c1c; margin-top: 20px; margin-bottom: 7px; } /* work frame*/ #container { width: 970px; text-align: center; margin: 0 auto; background: transparent; padding: 0 30px; } #wrapper { float: left; overflow: hidden; width: 660px; } #box2 { width: 240px; float: right; font-size: 14px; word-wrap: break-word; } /*#blog-title-inner{*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-position: left 0px;*/ /*}*/ /*.header-image-only #blog-title-inner {*/ /*background-repeat: no-repeat;*/ /*position: relative;*/ /*height: 200px;*/ /*display: none;*/ /*}*/ /*#blog-title {*/ /*margin-top: 3px;*/ /*height: 125px;*/ /*background-image: url('http://cdn-ak.f.st-hatena.com/images/fotolife/c/cookpadtech/20140527/20140527172848.png');*/ /*background-repeat: no-repeat;*/ /*background-position: left 0px;*/ /*}*/