We have an android app which allows a user to download data from a GAE back end and also send data changes/user input back to the GAE. All data from the server is also copied to the local DB on the android client. What we are trying to figure out is the best practice for tracking and sending changes the user makes when a connection to the GAE is not available. Our plan is to have the client make the updates to the local DB and if the server is unavailable to send these changes over to it then they are marked as Out of Date on the client. When the server connection becomes available again the changes will then be sent over asynchronously. Can anyone see any problems with this approach or know of a better way to do it?