Chapter 6. Networking
While talking about performance in a mobile application, the main concern is how our application behaves in poor connectivity conditions. No developer wants his users to give negative feedback because the application is too slow while uploading or downloading data, or it is not synchronized with other platforms versions of the same application. How many times do we change the networking strategy of our application because a client or users said it is too slow? Networking is not completely controllable from the client side because too many external factors are involved in the process: proxies, web servers, service providers, DNSs, and so on. We cannot know if there is a problem in one or more of the elements of that chain.
Moreover, the user does not know where the problem is, but he will think the application is not good. Then he will uninstall it. Nevertheless, we can control the application behavior and improve the user-perceived performance of our application...