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
110
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
660
Spice up your notifications/try!Swift25
noppefoxwolf
3
850
iOSの隠されたAPIを解明し、開発効率を向上させる方法/iOSDC24
noppefoxwolf
2
1.4k
今から理解するApp Intentエコシステム/WWDC24Recap
noppefoxwolf
0
78
既存アプリをvisionOS対応してリリースした話/visionOS LT vol5
noppefoxwolf
0
230
UIのブラックボックスを探る/iOSDC23
noppefoxwolf
3
5.2k
CoreGraphicsでドット絵を描こう/iOSDC22
noppefoxwolf
0
3.3k
ランタイムデバッグのススメ/iOSDC21
noppefoxwolf
1
5.7k
google/mediapipe で始めるARアプリ開発/iOSDC2020
noppefoxwolf
1
1.7k
Other Decks in Design
See All in Design
1000人規模の組織でデザインハーネスを導入するための第一歩
pkshadeck
PRO
5
3.8k
Техники структурирования беседы с собой, заказчиком и командо
ashapiro
0
290
「おすすめ」はなぜ信用されないのか - 信頼を築くUI/UX設計
ryu1013
0
260
“なんとなくFigma”から一歩先へ。AI時代も活きるWeb制作フロー
ayumidesign
0
220
「バイブコーディングって何?」から始まった、 AIとの一年間と、その先のこと
seto
0
1.2k
開閉UIのアニメーション設計
hiro0218
2
1k
ポートフォリオ_あやの
ngyenmazt1412
0
1.7k
2026/6/26 第6回韓日リビングラボネットワークフォーラムin世宗 ー未来を作るリビングラボー アジアの社会システム転換に向けたリビングラボの可能性
a2k
2
110
クリエイティブディレクター 両角 高寛 の自己紹介
morogyro
0
120
root COMPANY DECK / We are hiring!
root_recruit
4
30k
工房としてのAI ── デザイナー、作家、ビルダー
hiranotomoki
0
450
インターンから2年新卒フロントエンドエンジニアから見たサイボウズのアクセシビリティ
taku10101
0
120
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Ethics towards AI in product and experience design
skipperchong
2
370
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Everyday Curiosity
cassininazir
0
310
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
270
The Limits of Empathy - UXLibs8
cassininazir
1
650
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