忙しい人向けの Design great widgets: Part 2 - #WWDC20

Part 1 からの続き。

次に、作成について見ていく。

画像1

Sizes and Interactions

画像2

ウィジェットは、Small / Medium / Large の3つのサイズをサポートする。

画像3

Small は、アプリで最も役立つコンテンツが、実際にどれくらいで収まるかという制限でデザインした。

画像4

Small はシングルタップをサポートしており、アプリへの Deep Link が行える。例えば、カレンダーアプリでタップすると・・・

画像5

今日の直近のイベントまで移動する。

画像6

ニュースの場合は・・・

画像7

ニュースの詳細に移動する。

画像8

Medium / Large は似たような形状で、どちらも複数の位置をタップできるようになっている。

画像9

ニュースアプリでは、タップした記事の詳細画面が表示されることになる。

画像10

ウィジェットは3つの異なるタップスタイルがサポートされている。「Fill style」では全体がタップ領域になる。Small はこのタップスタイルしかサポートしていない。

画像11

「Cell style」は、ファイルウィジェットのようにコンテンツを選択する場合に有用。

画像12

「Content style」は、内容のないコンテンツを選択する時に有用。

画像13

Content and Personality

ウィジェットをデザインする際は、コンテンツ(Content)個性(Personality)を一緒に考えることが大切

画像14

”人々は私のアプリを起動する時に、何を見つけようとしているのか?”を自問するとよい。

画像16

天気ウィジェットでは、おなじみの天気の背景やアイコンを利用している。

画像16

ニュースウィジェットでは、記事のイメージからインスピレーションを受けている。

画像17

カレンダーでは、シンプルな外観と馴染みのある赤からインスピレーションを受け、次のイベントを表示するようにした。

画像18

個性を見つけるもう一つの方法は、アプリのアイコンからインスピレーションを受けること。例えば、ノートではメモ帳のような外観になっている。

画像19

Podcast では、紫のグラデーションの背景になっており・・・

画像20

ヒントでは、黄色のグラデーション。

画像21

私達はウィジェット内のレイアウトを考える際に、2つのパターンがあることを見つけた。1つは天気アプリのように、3つのサイズにまたがって展開するレイアウトで、各サイズで追加の情報を表示する。

画像22

画像23

画像24

2つ目は、ニュースアプリのように各サイズ毎に独自のレイアウトを持つもの。Small ではリッチなコンテンツを表示することを優先し・・・

画像25

Medium 以上ではより多くのニュースを表示することを優先している。

画像26

単純に表示を拡大することはせずに・・・

画像27

各サイズで意味のある情報を表示するようにすること。これは Screen Time の例。なお、より大きいサイズで表示すべきものが無ければ、特定のサイズだけをサポートする形でも全く問題ない。

画像28

Small に含めるコンテンツは、最大で4つにすることを推奨する。

画像29

Patterns

画像30

私達がウィジェットをデザインする際、いくつかの共通的なレイアウトパターンがあることに気づいた。これらは最初の出発点として役立つはず。

画像31

画像32

画像33

他のウィジェットと並べて表示した時に違和感が無いように、16pt の余白サイズを利用すること。

画像34

円形のレイアウトの場合は 11pt

画像35

シェイプの角の部分に関しては、外側のエッジと同心円状にすること。これは端末のサイズによって変化するが、SwiftUI には自動計算する仕組みが用意されている。

画像36

フォントは SF Pro などの San Francisco を利用すること。カスタムフォントを使用する場合、他のウィジェットとの親和性を考えること。

画像37

ウィジェットは Light / Dark モードの両方で、見栄えが良くなるようにすること。

画像38

ウィジェットはプレースホルダを提供する必要がある。テキストの部分をブロックで塗りつぶすような表示にすることで、

画像39

実際にデータが表示できるようになった段階で、スムーズに移行できる。

画像40

Tips

最後にいくつかの注意点を解説する。

画像41

アイコンは、異なるソースからのコンテンツの場合のみ利用し、必ずウィジェットの右上に表示すること。

画像42

アプリのアイコンを表示しないこと。

画像43

アプリ名も同様に表示しないこと。

画像44

ユーザに指示するような文章を表示しないこと。

画像45

”最終更新”といったラベルを含めないこと。

画像46

免責

・本記事は公開情報のみに基づいて作成されています。
・要約(意訳)のみなので、詳細はセッション動画をご確認ください。

関連記事


役に立った記事などありましたらサポート頂けると嬉しいです。