~/talk

Overcoming the 5 Stages of UI Grief

Talkat SwiftLeeds 2025 · 2025-10-07..10-08· [ux-and-product-design]
slides:none on file

Migrating a large UIKit app to SwiftUI follows five emotional stages — denial, possibility, anger, bargaining, depression, acceptance — illustrated by a real-case migration of a complex storyboarded view of colored blobs that needed aligned leading/trailing behavior. Practical takeaways: previews and animations speed iteration, lists remove datasource boilerplate, GeometryReader solves the alignment but initially a padding hack stayed in production, and Kayak uses a generic binding wrapper (backed by a small view model and Combine) plus UIHostingController helpers to host and remove SwiftUI components successfully.

AI-written summary · about

  1. 0:00Introduction and setup
  2. 1:09Meet the speaker Oxana
  3. 2:35Five stages of UI grief
  4. 3:39Stage one denial
  5. 4:20Stage two boot of possibility
  6. 6:30Stage three anger case study
  7. 8:17Geometry reader struggle
  8. 10:23Stage four perspective
  9. 11:25Stage five bargaining
  10. 12:28Stage six shield of perseverance
  11. 12:48Stage seven depression
  12. 13:32Designing for the future
  13. 14:12Binding wrapper solution
  14. 15:58Hosting views conveniences
  15. 17:21Stage eight helm of preparedness
  16. 18:04Acceptance and future challenges
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.