Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アラートを効果的に扱おう
Search
KAWASHIMA Yoshiyuki
February 14, 2024
Programming
1
370
アラートを効果的に扱おう
KAWASHIMA Yoshiyuki
February 14, 2024
Tweet
Share
More Decks by KAWASHIMA Yoshiyuki
See All by KAWASHIMA Yoshiyuki
SwiftUI Drag & Drop で困った話
ykws
0
35
GitHub PR Milestone Check を使ってみた
ykws
0
34
Kotlin 2.0.20 から標準ライブラリで UUID が使えるようになりました
ykws
1
260
コードの作者がいるうちに聞こう
ykws
2
530
visionOS に備える
ykws
0
230
モバイルアプリの操作方法を疑ってみる
ykws
0
1.5k
Other Decks in Programming
See All in Programming
"使いづらい" をリバースエンジニアリングする UI の読み解き方
rebase_engineering
0
110
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
320
Doma で目指す ORM 最適解
nakamura_to
1
160
當開發遇上包裝:AI 如何讓產品從想法變成商品
clonn
0
2.6k
TypeScript だけを書いて Tauri でデスクトップアプリを作ろう / Tauri with only TypeScript
tris5572
2
530
iOSアプリ開発もLLMで自動運転する
hiragram
6
2.1k
型安全なDrag and Dropの設計を考える
yudppp
5
660
Cloudflare Realtime と Workers でつくるサーバーレス WebRTC
nekoya3
0
230
Rethinking Data Access: The New httpResource in Angular
manfredsteyer
PRO
0
220
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
820
Blueskyのプラグインを作ってみた
hakkadaikon
1
280
#QiitaBash TDDでAIに設計イメージを伝える
ryosukedtomita
2
1.6k
Featured
See All Featured
Visualization
eitanlees
146
16k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
RailsConf 2023
tenderlove
30
1.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The World Runs on Bad Software
bkeepers
PRO
68
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Art, The Web, and Tiny UX
lynnandtonic
298
21k
Transcript
YUMEMI.grow Mobile #10 2024.2.14 ΞϥʔτΛޮՌతʹѻ͓͏ KAWASHIMA Yoshiyuki
͍͑ͨ͜ͱ • Ϣʔβ͕ΞϥʔτΛܰࢹ͠ͳ͍Α͏ʹ
ใݯ ώϡʔϚϯΠϯλʔϑΣʔεΨΠυϥΠϯ https://developer.apple.com/jp/design/human-interface-guidelines/ ϚςϦΞϧσβΠϯ https://m3.material.io/
લఏ ৄࡉώϡʔϚϯΠϯλʔϑΣʔεΨΠυϥΠϯɺϚςϦΞϧσβΠϯ ʹॻ͍ͯ͋Γ·͢ɻ ࠓճͷൃදͰɺ۩ମྫͱݟൺͳ͕ΒཧղΛਂΊ͍͖͍ͯͨͱࢥ͍ ·͢ɻ
༻ޠͷཧ • ώϡʔϚϯΠϯλϑΣʔεΨΠυϥΠϯ Alert • SwiftUI alert • UIKit UIAlertController
• ϚςϦΞϧσβΠϯ Dialogs • Flutter AlertDialog • Jetpack Compose Dialog • Android View AlertDialog
ώϡʔϚϯΠϯλʔϑΣʔεΨΠυϥΠϯ
Ξϥʔτ߇͑Ίʹ͏
https://developer.apple.com/jp/design/human-interface-guidelines/alerts Ξϥʔτॏཁͳใͷఏࣔʹ͑Δͱ͍͑ɺͦͷͨͼʹϢʔ βͷૢ࡞͕தஅ͞Ε·͢ɻͲͷΞϥʔτʹඞͣෆՄܽͳใ ༗༻ͳΞΫγϣϯؚ͕·Ε͍ͯΔΑ͏ʹ͠ͳ͍ͱɺϢʔβ͕ ΞϥʔτΛܰࢹ͢ΔΑ͏ʹͳΓ͔Ͷ·ͤΜɻ
ϚςϦΞϧσβΠϯΨΠυϥΠϯ
None
https://m3.material.io/components/dialogs/guidelines#c395b8a7-a125-42f4-9d19-77f535b2c873 ΞϓϦͷ௨ৗͷૢ࡞Λதஅ͢ΔରɺಛఆͷϢ ʔβʔλεΫɺܾఆɺ͘͠ಉҙʹඞཁͱͳΔ ॏཁͳใʹ Dialogs Λ༻͍ͯͩ͘͠͞
https://m3.material.io/components/dialogs/guidelines#c395b8a7-a125-42f4-9d19-77f535b2c873 ·ͨத͘Β͍ͷ༏ઌͷใʹ Dialogs ༻͠ ͳ͍Ͱ͍ͩ͘͞ɻΘΓʹ Snackbar Λͬͯͩ͘ ͍͞ɻফڈͰ͖Δ͠ɺࣗಈతʹඇදࣔʹͰ͖·͢
ώϡʔϚϯΠϯλʔϑΣʔεΨΠυϥΠϯ
https://developer.apple.com/jp/design/human-interface-guidelines/alerts#iOS-iPadOS Ϣʔβ͕ҙਤͨ͠ΞΫγϣϯʹؔ࿈͢Δબࢶ Λఏࣔ͢Δ߹ɺΞϥʔτͰͳ͘ΞΫγ ϣϯγʔτΛ༻͢Δ
https://developer.apple.com/jp/design/human-interface-guidelines/alerts#Best-practices Ωϟογϡ͞ΕͨσʔλϓϨʔεϗϧμͷσʔλ Λදࣔͨ͠ΓɺϢʔβͷૢ࡞Λதஅ͠ͳ͍ܗͰ ʹ͍ͭͯઆ໌͢ΔϥϕϧΛදࣔ͢Δ͜ͱ͕Ͱ͖·͢
۩ମྫ
Airplane • Ωϟογϡ͕͋ΕΩϟογϡ Λදࣔʢ͓ͦΒ͘ͷΩϟο γϡͷ༗ແʣ Apple Weather App
Airplane Apple Music
Airplane Apple Home
Airplane Apple Books
ϚςϦΞϧσβΠϯΨΠυϥΠϯ
None
https://m3.material.io/components/dialogs/accessibility#a253a077-28be-4e66-b89e-a328db8a40dc ॏཁͰͳ͍ใɺΞϓϦͷίϯςϯπͷ ྲྀΕͷதͰଞͷ UI ͬͯఏ͍ࣔͯͩ͘͠͞
https://m3.material.io/components/dialogs/accessibility#a253a077-28be-4e66-b89e-a328db8a40dc μΠΞϩάʹॏཁͰͳ͍ใΛஔ͘͜ͱΛ ආ͚͍ͯͩ͘͞
ίϯςϯπ
؆͔ܿͭ໌֬ʹঢ়گΛઆ໌͢ΔλΠτϧʹ͢Δ
https://developer.apple.com/jp/design/human-interface-guidelines/alerts#Content Ϣʔβʹঢ়گΛૉૣ͘ཧղͯ͠Β͏ඞཁ͕͋ΔͷͰɺͳදݱΛආ͚ɺ࿙Εͳ͘۩ମతʹهड़͠· ͢ɻͰ͖ΔݶΓɺى͖ͨ͜ͱɺى͖ͨঢ়گɺى͖ͨཧ༝ʹ͍ͭͯઆ໌͠·͠ΐ͏ɻʮΤϥʔʯʮΤ ϥʔ329347͕ൃੜ͠·ͨ͠ʯͷΑ͏ͳɺ༗༻ͳใΛୡ͠ͳ͍λΠτϧʹ͠ͳ͍Ͱ͍ͩ͘͞ɻ2 ߦΛ͑ͯંΓฦ͞ΕΔΑ͏ͳ͗͢ΔλΠτϧආ͚·͢ɻλΠτϧ͕શͳจͰ͋Δ߹ɺη ϯςϯεελΠϧͷେจࣈԽʢӳޠͷ߹ʣΛ༻͠ɺదͳจه߸Λ͚·͢ɻஅยతͳจΛλ Πτϧʹ͢Δ߹ɺλΠτϧʹ;͞Θ͍͠දݱʹ͠ɺจه߸͚ͳ͍Α͏ʹ͠·͢ɻ
Θ͔Γʹ͍͘
ຊʹ༗ҙٛͳΤϥʔϝοηʔδΛॻ͘ʹ
“࣮֬ʹΰϛശΛۭʹ͢Δ”Λ ༻͢Δͱɺ“ΰϛശ”ʹ͋Δ ߲͕શʹফڈ͞Ε·͢ɻ શʹফڈͯ͠ΑΖ͍͠Ͱ ͔͢ʁ ؆͔ܿͭ໌֬ʹঢ়گΛઆ໌͢ΔλΠτϧ https://postd.cc/how-to-write-an-error-message/
None
https://m3.material.io/components/dialogs/guidelines#0c ff 8b6b-d4f3-4442-8194-31212f5d1a12 ͜ͷμΠΞϩάͷλΠτϧɺ۩ମతͳ࣭Λ ఏࣔ͠ɺϦΫΤετʹؔΘΔ༰Λ؆ܿʹઆ ໌͠ɺ໌֬ͳΞΫγϣϯΛఏڙ͠·͢
https://m3.material.io/components/dialogs/guidelines#0c ff 8b6b-d4f3-4442-8194-31212f5d1a12 μΠΞϩάͷλΠτϧͰᐆດͳ࣭Λ͠ͳ ͍Ͱ͍ͩ͘͞
͍ͭΞϥʔτΛͬͨΒྑ͍͔ʁ
ΞϓϦͰͷόϥϯεͳͷͰਖ਼ղͳ͍
ΞϓϦͰΞϥʔτΛ૿͢͜ͱʹͳͬͨΒ ଞͷΞϥʔτ͕ඞཁ͔ઈ͑ͣݟ͕͠ඞཁ
ݸʑͷΞϓϦ͕ରԠ͢Δ͚ͩͰෆे
·ͣݸʑͷΞϓϦ͔ΒରԠΛ ෭࣍తޮՌͰϨϏϡʔͷ৺͕Α͘ͳΔ ʢͣʣ
͓ΘΓʹ ڞ௨ݴޠΛ࡞Ζ͏ ώϡʔϚϯΠϯλʔϑΣʔεΨΠυϥΠϯ https://developer.apple.com/jp/design/human-interface-guidelines/ ϚςϦΞϧσβΠϯ https://m3.material.io/
͓ΘΓʹ هࣄհ iOS ʹ͍ͭͯͷ·ͱΊ https://zenn.dev/yumemi_inc/articles/effective-alert ݩωλͷεΫϥοϓ https://zenn.dev/ykws/scraps/1bd34b3f414206