> Offline mode adds significant complexity to the service, since you are essentially replicating your entire server side stack (logic, storage, etc) on the client.
Not necessarily true if you can run the same code on the client as you do on the server.