Mobile network connections can be slow, interrupted, or unavailable. An app should communicate its state and avoid losing user work when a request fails.
Define the API contract
Document request methods, fields, response types, and error cases. Validate returned data before displaying it, and do not trust client-provided identifiers or permissions.
Design network states
Show loading feedback, distinguish an empty result from a failed request, and provide a safe retry. Prevent duplicate submissions and explain when changes are saved locally versus on a server.
Choose local storage carefully
Store only what the feature needs. Consider logout, shared devices, data retention, and sensitivity. Keep tokens out of logs and use platform-recommended secure storage for credentials.
Request permissions only when needed
Explain the purpose and handle denial gracefully. A feature should not request access to contacts, location, photos, or other device data without a genuine need.