Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
柔軟性のあるUIで、多くの環境でアプリを活躍させる/iOSDC26
Search
noppefoxwolf
September 13, 2026
Design
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
柔軟性のあるUIで、多くの環境でアプリを活躍させる/iOSDC26
noppefoxwolf
September 13, 2026
More Decks by noppefoxwolf
See All by noppefoxwolf
High performance GIF playback/iOSDC25
noppefoxwolf
1
680
Spice up your notifications/try!Swift25
noppefoxwolf
3
860
iOSの隠されたAPIを解明し、開発効率を向上させる方法/iOSDC24
noppefoxwolf
2
1.5k
今から理解するApp Intentエコシステム/WWDC24Recap
noppefoxwolf
0
80
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
noppefoxwolf
0
230
UIのブラックボックスを探る/iOSDC23
noppefoxwolf
3
5.2k
CoreGraphicsでドット絵を描こう/iOSDC22
noppefoxwolf
0
3.3k
ランタイムデバッグのススメ/iOSDC21
noppefoxwolf
1
5.8k
google/mediapipe で始めるARアプリ開発/iOSDC2020
noppefoxwolf
1
1.8k
Other Decks in Design
See All in Design
2026/6/26 第6回韓日リビングラボネットワークフォーラムin世宗 ー未来を作るリビングラボー アジアの社会システム転換に向けたリビングラボの可能性
a2k
2
120
Design dependencies
teba_eleven
0
180
デザイナーがいない部署にハーネスを設計する
kenichiota0711
5
4.6k
Starfall (2025)
rezaline
0
140
Claudeもくもく会、はじめませんか?
yusukeiyoda
0
240
デザイナーの判断をAIにつなぐ ── 審美眼をハーネスする試み
kotasaito_cnt
0
1.1k
富山デザイン勉強会_プレゼンテーション.pdf
keita_yoshikawa
0
190
The ISO 25964 standard on Information and documentation — Thesauri and interoperability with other vocabularies
accessinnovations
0
190
ISO 9241-171:2025っていうのがあってな
shosira
1
320
Luna's Light
shemeetscity
0
150
Basket_of_love.pdf
terencebasart
0
330
「惜しいデザイン」 を生み出さないための AIレビューループ
0b1tk
3
4.6k
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
600
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
Faster Mobile Websites
deanohume
310
32k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Technical Leadership for Architectural Decision Making
baasie
3
590
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Marketing to machines
jonoalderson
1
5.8k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
340
Believing is Seeing
oripsolob
1
240
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Transcript
1
noppe ‣ DAWN for Mastodon ‣ Pococha at DeNA 2
3
iOSDCでUIの話をする 4
UIについて考えていること 5
UIについて考えていること 6
ライフステージの変化とUIの柔軟性 7
UIの柔軟性とは? 状況を問わずに価値を提供すること 8
9
10
11
アプリの前提が変わっている 単一の画面サイズを前提にできなくなっている 12
13
14
15
16
環境の変化が前提になった ‣ ウィンドウサイズが変わる ‣ 同じアプリが異なる環境に表示される ‣ 画面の形そのものも変わる → OSは「どの環境でも柔軟に見た目を変えてくれるもの」として 扱うように。
17
18
UIを観察する 19
20
21
目的 ユーザーが実現したいこと ‣ 例: 音楽を再生したい、写真を撮りたい 22
コンテキスト ユーザーが置かれている状況 ‣ iPadを使っている ‣ 怪我をしている ‣ 車を運転している ‣ 周囲が暗い
など 23
インターフェース 最終的にユーザーが目的を実現するための手段 ‣ ボタンがある ‣ 音声で呼び出せる ‣ 画面をスワイプできる ‣ など
24
例:ホーム画面 ‣ 目的:アプリを起動する ‣ コンテキスト:iPhoneを使っている ‣ インターフェース:アプリアイコンのボタンが並ぶ 25
Q.3つの要素のうち、何を柔軟にするのか 26
目的とインターフェー スが固定 コンテキストを変える必要がある ‣ 目的:アプリを起動する ‣ インターフェース:グリッドにアプリ ‣ コンテキスト:車を運転している →
車を止めて、スマホを操作する 27 のボタンが並ぶ
目的とコンテキストが 固定 インターフェースを変える必要がある ‣ 目的:アプリを起動する ‣ コンテキスト:車を運転している ‣ インターフェース:ボイスコマンドで アプリを起動できる
28
コンテキストとインタ ーフェースが固定 目的を変える必要がある ‣ コンテキスト:車を運転している ‣ インターフェース:グリッドにアプリ ‣ 目的:アプリを起動する →
断念・延 期する 29 のボタンが並ぶ
固定する要素 柔軟性が求められる要素 目的とインターフェース コンテキスト 目的とコンテキスト インターフェース インターフェースとコンテキス 目的 ト 30
A.インターフェースを柔軟にする 31
同じ目的に、複数のインターフェースを持て る 32
33
34
35
36 p=purpose
デザインデータは「ある条件での正解」 (余談1) 37
38
39
インターフェースは目的とコンテキストによって決 定する ‣ 現実世界のコンテキスト ‣ 車を運転している ‣ 老眼である ‣ ソフトウェアのコンテキスト
‣ ウィンドウのサイズ ‣ ダークモードなど 40
41
42
43
全部のパターンを用意する? 44
45
コンテキストの変化にどう応答するか ‣ 連続的な適応 ‣ 段階的な適応 46
連続的な適応 47
段階的な適応 48
49
50
ブレークポイントの見つけ方 ‣ 増えすぎると実装パターンが増えてしまう ‣ 少なすぎるとインターフェースが十分に適応できない ‣ 同じインターフェースのまま、目的を十分に達成できるかどうか 51
休憩 52
実際のレイアウトでの活用 53
コンポーネント境界を見極める 54
55
56
57
連続的レイアウトと段階的レイアウト 58
59
60
連続的なレイアウトのパターン 枠のサイズが変化する時の対応 1. 枠にサイズを合わせる 2. ビューのサイズを優先する 61
枠のサイズに合わせる 62
枠に合わせたスクロールビューを挟む 63
固定サイズは問題が起きやすい 64
ビュー自身のサイズを優先する 65
66
段階的なレイアウト 67
段階的なレイアウトのパターン 境界に応じて、構造や表現そのものを切り替える 1. 表示する情報を増やす・減らす 2. 情報をまとめる・展開する 3. レイアウトの構造を組み替える 68
1.表示する情報を増やす・減らす 69
1.表示する情報を増やす・減らす ‣ 優先度の高いプロパティを残す ‣ 優先度は目的から逆算する 70
1.表示する情報を増やす・減らす 71
2.情報をまとめる・展開する ‣ セクション化して、格納・展開できるようにする。 72
2.情報をまとめる・展開する 73
AIによる新しい段階的レイアウトのパターン (余談2) 74
75
76
連続的レイアウトと段階的レイアウトを 組み合わせて柔軟性を実現する 77
段階的レイアウトの発展系 段階的なレイアウトはビュー内で完結するものに限らない ナビゲーションを含む構造の切り替えにも活用できる 78
79
コンテナビューコントローラ UIKitやSwiftUIでは、このような高度な段階的レイアウトを持たせ たコンテナビューコントローラーを標準で提供している。 80
81
82
83
標準UIは柔軟性においてベストプラクティス ‣ 複雑なコンテキストの変化に対応するためには、標準APIを使う のがベストプラクティス ‣ カスタム実装は、作り手が意識したコンテキストにしか対応で きない ‣ 標準APIと同レベルの柔軟性を自作するなら、それなりの覚悟が 必要
84
まとめ 85
絵としてのUIを作るのではなく、ユーザーの 目的とコンテキストから導出されるUIを作る 86
コンテキストをどこまで考慮できるかの勝負 自分以外の経験、異なる視点のユーザーの声 に耳を傾ける 87
無限に存在するコンテキストの組み合わせに 対して、作るべきものを見抜く 88
ご清聴ありがとうございました 89
Q&A 90
91