Slide 1

Slide 1 text

アプリを もっと "iOSアプリっぽく" する 小さな工夫 まつじ

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

コマ送り

Slide 6

Slide 6 text

コマ送り

Slide 7

Slide 7 text

コマ送り

Slide 8

Slide 8 text

コマ送り

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

行きすぎている

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

「iOSアプリっぽく」する必要はあるのか?

Slide 14

Slide 14 text

ユーザーは複数のアプリを絶え間なく使用する

Slide 15

Slide 15 text

天気アプリで天気を確認 SNSを確認 メッセージを送信 タイマーをつける 電車の運行情報を確認 漫画アプリで漫画を読む

Slide 16

Slide 16 text

天気アプリで天気を確認 SNSを確認 メッセージを送信 タイマーをつける 電車の運行情報を確認 漫画アプリで漫画を読む

Slide 17

Slide 17 text

Liquid Glass Toolbars Interactions

Slide 18

Slide 18 text

Liquid Glass Toolbars Interactions

Slide 19

Slide 19 text

Liquid Glassを ここでは使わない Liquid Glassは ここで使う https://developer.apple.com/videos/play/wwdc2026/251

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

インタラクティブではない要素にLiquid Glassは使わない

Slide 23

Slide 23 text

Liquid Glass Liquid Glass Blur これだけ インタラクティブはない

Slide 24

Slide 24 text

Liquid Glass Toolbars Interactions

Slide 25

Slide 25 text

テキスト vs アイコン テキスト アイコン

Slide 26

Slide 26 text

シンボルではうまく表すことができない編集のようなアクションを除き、 テキストよりもシンプルで認識しやすいシンボルを優先して使用してください。 ツールバー | Apple Developer Documentation https://developer.apple.com/jp/design/human-interface-guidelines/toolbars

Slide 27

Slide 27 text

! " ツールバー | Apple Developer Documentation https://developer.apple.com/jp/design/human-interface-guidelines/toolbars

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

シンボルではうまく表すことができない編集のようなアクションを除き、 テキストよりもシンプルで認識しやすいシンボルを優先して使用してください。 ツールバー | Apple Developer Documentation https://developer.apple.com/jp/design/human-interface-guidelines/toolbars

Slide 30

Slide 30 text

テキストとアイコンはグループを分ける 1つのボタンに見える テキストのボタンと シンボルのボタンは分ける

Slide 31

Slide 31 text

ツールバーの識別子 let barButtonItem = UIBarButtonItem(...) barButtonItem.identifier = "plus"

Slide 32

Slide 32 text

識別子を設定していない場合 不要なアニメーションがある

Slide 33

Slide 33 text

識別子を設定した場合 アニメーションがない

Slide 34

Slide 34 text

iOS 26 グループ全体に アニメーションがある

Slide 35

Slide 35 text

iOS 27

Slide 36

Slide 36 text

Liquid Glass Toolbars Interactions

Slide 37

Slide 37 text

直感的?

Slide 38

Slide 38 text

物理法則に基づいたインタラクション 「直感的なUI」は決して何もしなくても使い方がわかる魔法ではない

Slide 39

Slide 39 text

物理法則に基づいたインタラクション 「直感的なUI」は決して何もしなくても使い方がわかる魔法ではない 日常生活をするうえで学んできた経験に基づいて次の予測が立てられるUI

Slide 40

Slide 40 text

物理法則に基づいたインタラクション 「直感的なUI」は決して何もしなくても使い方がわかる魔法ではない 日常生活をするうえで学んできた経験に基づいて次の予測が立てられるUI Appleは学習済み経験として 物理法則 に基づくインタラクションが多い

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

漕ぐのをやめる 自転車を漕ぐ 8 km/h 自転車を漕がない 8 km/h 13 km/h 漕ぐのをやめた瞬間 逆に早くなるのはありえない

Slide 44

Slide 44 text

漕ぐのをやめる 自転車を漕ぐ 13 km/h 自転車を漕がない 13 km/h 5 km/h 漕ぐのをやめた瞬間 突然遅くなるのも不自然

Slide 45

Slide 45 text

ユーザーのジェスチャーの初速を正しく引き継ぐ

Slide 46

Slide 46 text

ユーザーのジェスチャーの初速を正しく引き継ぐ シートのdismiss ピクチャーインピクチャー

Slide 47

Slide 47 text

タップによるリサイズ

Slide 48

Slide 48 text

グラバー タップによるリサイズ

Slide 49

Slide 49 text

パンジェスチャーによるリサイズ

Slide 50

Slide 50 text

iOSのインタラクションの原則 基本:バウンス / オーバーシュートなし 例外:パンジェスチャーなど 推進力のあるジェスチャー には バウンス / オーバーシュートをつける

Slide 51

Slide 51 text

力 UI 進行方向の力がない時に ピッタリ止まる 画面 タップなど推進力のないジェスチャーによるアニメーション UI 進行方向の力がある分 余分に進む 力 画面 推進力のあるジェスチャーによるアニメーション

Slide 52

Slide 52 text

力 UI 進行方向の力がない時に ピッタリ止まる 画面 タップなど推進力のないジェスチャーによるアニメーション UI バウンスして戻る 力 画面 推進力のあるジェスチャーによるアニメーション

Slide 53

Slide 53 text

バウンスなし 推進力のないタップ バウンスあり 推進力のあるジェスチャー

Slide 54

Slide 54 text

バウンスなし バウンスあり 推進力のないタップ 推進力のあるジェスチャー

Slide 55

Slide 55 text

ラバーバンド効果 限界値を示すための効果 限界値を超えると反発して戻る力が加わる ユーザーの入力は正しく受けつけていることを 伝える側面もある

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

横に引き伸ばされて 縦に短くなる 限界を超えて進む

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

No content

Slide 61

Slide 61 text

WWDC18 | Designing Fluid Interfaces https://developer.apple.com/la/videos/play/wwdc2018/803/

Slide 62

Slide 62 text

Liquid Glass Toolbars Interactions

Slide 63

Slide 63 text

できていないとダメという話ではない 90点を91点や92点に押し上げる話

Slide 64

Slide 64 text

把握できていないのは良くないかも? 問題に気付いている / 気付いていない とでは大きな違い

Slide 65

Slide 65 text

把握できていれば AI で素早く対応できる 問題に気づく審美眼 / それを言語化する能力が必要

Slide 66

Slide 66 text

まとめ • Liquid Glass / Toolbar / Interactionsを中心に iOSらしくする工夫を紹介しました。 • AIのおかげで実装のコストはかなり減りました 気付けるか / こだわれるか が差になる時代です。 • まだまだ紹介できていない工夫は多数あります。 是非Ask the Speakerで尋ねてください!