Second degree asyncronousity - learnings from developing iOS + IoT apps
summary
Built iOS apps controlling locks, lights and alarms with Swift that must traverse cloud → gateway → module → device, creating a “second-degree” async failure mode; uses server-sent events for one-way streams and ReactiveSwift to fold incoming messages into a single home model. Implements a mock streaming service to replay hundreds of timed events for UI testing and an optimistic UI with a resettable action (timeout+rollback) for failed commands. Polling every 2s proved too chatty; icon/UX choices remain unresolved.
AI-written summary · about
chapters (9)
- 0:00Introduction and background
- 3:57Double asynchronicity explained
- 10:09Server-sent events for updates
- 14:32Reactive programming approach
- 22:54Testing with mock data
- 25:48Controlling devices asynchronously
- 30:07UI and UX challenges
- 35:10Tips and tricks for IoT apps
- 38:24Q&A and security notes
related talks
34mModern SwiftUI Callbacks using AsyncStream
37mZero to Mobile iOS Developer in 40 Minutes
52mMessenger Inside Out, or How to Build a Messenger in an iOS Mobile App Today
46mControlling tons of different IoT devices with Swift
44mSwift Sync and Async Error Handling
32mThe Story of an App and a Hidden Gem of iOS
33mSwiftUI for Flutter Developers
24mReactive Thinking in iOS Development
