Mobile app performance can be thought of as being related to web performance, but has unique characteristics. Technology differences in the last mile latency can hamper performance, negatively affect round trip latency and impact the performance of mobile content. These factors impact mobile apps in a different manner than they do web applications.
What is round trip latency?
Round trip time is the least amount of time for a transmission to be sent from a handset and to receive a response. This time can make both mobile and web applications feel sluggish. The round trip times for 3G are 6 times more than WIFI, and LTE round trip times typically twice that of WIFI.
Unlike their desktop brothers, mobile devices turn off their radio to conserve energy. Turning radio back on can take from 50ms to 100ms (depending on the idle state) for LTE. 3G radio bring up times are more difficult to quantify, but it can be up to a second.
Similarities: Latency impacts User Experience for both Apps and Web
The effect of latency on page load time is well documented and most often cited with the below graph from Mike Belshe:
These delays in page load times are applicable to native mobile apps. This is because most apps use an API server which loads JSON or XML. These API requests have rich media URLs inside. While these are different from a HTML <img> tag that downloads images, these media objects still suffer from any latency incurred while connecting to servers, usually hosted on a CDN. For instance two popular mobile commerce apps I tested access content on 8 and 9 different domains. Each domain will incur a connection bring up where the latency of the connection will dominate the performance.
Differences: Mobile apps are built differently
Often native mobile apps use Operating System (OS) provided frameworks to lay out the UI. This means that while latency impacts what aspects of the UI are displayed, the experience is different with a native app than with a web. E.g. the developer may employ a UIListView of UIImageViews to show a list of images. This is different from a web application where the layout is fetched from the network. This improves the interactive experience of native apps.
Unlike with web, front-end optimizations are baked into the app, or are not applicable . These optimizations are often accomplished by developers when building the app unlike with web where there are Front-end optimization (FEO) performed by elements in the network. Things like right sizing images is trivial on apps because the native application can request the correctly sized images from the origin based on the exact dimensions of screen. This is just one example of how traditional FEO are not applicable to apps.
So what does all this mean?
Web and Mobile apps share the goal of providing a good experience to users, but have many differences in how they are built and what optimizations are meaningful. This implies we need a fresh look improving mobile app performance. Luckily App developers have many options available to them.