Interfaces used over mobile networks.
WHAT DIFFERS
Connections are slower and less reliable Round trips are expensive Data costs the user money Applications cannot be updated instantly
WHAT THAT LAST POINT IMPLIES
Old versions remain in use for a long time.
WHAT THAT DEMANDS
Backward compatibility, for longer than you expect.
WHAT TO NEVER DO
Remove a field an old version depends on.
WHAT TO DESIGN FOR
Fewer, larger requests rather than many small ones.
WHY
Each round trip costs noticeably on a mobile network.
WHAT TO PROVIDE
Endpoints returning what a screen needs, in one call.
WHAT TO SUPPORT
Compression Conditional requests, so unchanged data is not resent Partial responses, so clients request only needed fields
WHY THAT MATTERS LOCALLY
Data is a real cost, and users notice applications that consume it.
WHAT TO HANDLE
Requests retried after a dropped connection Clients resuming after being offline
WHAT TO PROVIDE FOR OFFLINE SUPPORT
A way to fetch changes since a point.
WHAT TO INCLUDE
Timestamps and a cursor.
WHAT TO DESIGN CAREFULLY
Authentication that survives long gaps.
WHAT TO AVOID
Forcing a sign-in whenever a token expires.
WHAT TO USE
Refresh tokens with sensible lifetimes.