An interesting feature would be to have a queue of WS requests that failed because the device was offline or we couldn't connect to the server. This would allow the user to perform in offline things like sending messages, adding posts to forums or play a SCORM.
If the calls failed because the device was offline we could re-try them when the device goes online, but what happens if the requests failed because the server was down or something? Maybe we should re-try them every certain time as long as the device is connected.
Also, Juan suggests that the user should be able to see the queue, force a re-try and also delete some requests from the queue.
In the case of messages it would be nice if they could be seen in the conversation as long as they're in the queue, and allow the user deleting them from there like it happens with WhatsApp.