Note: This is all iOS; macOS is bering covered in a session on Friday.
Low Data Mode
Combine in URLSession
WebSocket
Mobility improvements
Low Data Mode
New feature in iOS 13
Write your apps to allow them to be conservative with network use when in low bandwidth situations
Always save network data when there is no impact on the user experience.
Ways to implement:
Reduce image quality
Reduce data pre-fetching
Synchronize less often
Mark background tasks as discretionary, so that your app can skip them as needed.
Disable auto-play
Do not block user-initiated work
Combine in URLSession
WebSocket
New Foundation API for WebSocket, works with existing URLSession configuration objects.
Both client and server support
Receive partial or complete WebSocket messages
Mobility Improvements in iOS 13
Up through iOS 12:
Multipath TCP - sending data traffic over both WiFi and cellular data
Wi-Fi Assist - If the Wi-Fi signal gets bad or weak, the phone automatically switches to sending over cellular data
In iOS 13:
Wi-Fi Assist
All components in the system are providing information to Wi-Fi Assist, to help Wi-Fi Assist assess if it needs to send data over cellular data.
Multipath TCP
Apple made an assessment of their own apps and enabled multi-path TCP for:
Apple Maps, to improve Maps' responsiveness.
Music.app - Fewer streaming music stalls.
Multipath TCP requires that both the client and server side be configured to work correctly with multipath TCP.
Summary:
Mobility should not impair your apps
Use high-level APIs, to get the full benefits of Apple's improvements and Wi-Fi Assist.
Rethink interface management
Prepare your serves to use multipath TCP