Editor's note: We offer our long-term sponsors the opportunity to write posts and tell their story. These posts are clearly marked as written by sponsors, but we also want them to be useful and interesting to our readers. We hope you like the posts and we encourage you to support our sponsors by trying out their products.
Mobile app developers are probably more than a little tired of empty promises about the grand future of mobile networks. But take a quick look at history and it becomes obvious that the technology has come a long way.
Mobile networks were initially used solely for voice calls. Then, lower power requirements of 2G and higher network capacities gave rise to a plethora of small devices with SMS and email capabilities. The widespread rollout of 3G-increased bandwidth on those devices, making mobile multimedia and functional Web access a reality.
Do You 4G?
That was all just a prelude to LTE (the dominant 4G technology). Also known as 3GPP Long Term Evolution, LTE is being rolled out globally and is now the uncontested replacement for both GSM and CDMA networks. This new technology gives network providers the ability to deliver faster and more reliable access, richer experiences for mobile device users, and a more secure environment.
4G networks are being deployed across the globe. When developers know how networks function, better apps get built. More efficient and powerful apps make networks better, which accelerates customer adoption of apps. What follows are concrete steps developers can take to make apps perform their best on these new networks.
As an App Developer, Why Do I Care?
LTE was designed to offer more than two times the bandwidth of 3G and half the response time. The radio signals from cell towers have less interference in LTE and increased signal capacity means more users can access the network simultaneously without noticeably affecting performance. These improvements mean apps will be able to pull down more data from the network with less noticeable lag. When users pull up maps, they'll come up faster and scroll more smoothly. Graphics-heavy web pages will load faster and video playback will start sooner and play with fewer hiccups.
Almost every aspect of the mobile experience will be improved with LTE. Unlike earlier network technologies, LTE uses an all-IP backbone with highly efficient routing. Data moves through the backbone more rapidly and, because voice and various data types are all handled as IP packets, apps can shift between them more easily. There are nine content types defined in LTE and quality of service levels can be assigned to content on the basis of type. This means that voice data won't over-consume bandwidth that should be reserved for web video, for example.
LTE's security and reliability are also major improvements over 3G. As data is being sent to and from a user's mobile device, it is automatically encrypted. A sophisticated key mechanism provides further security and temporary user IDs make it more difficult for malicious hackers to gain entry to devices. To enhance reliability, session tracking keeps users connected to applications even when they switch from 3G or 2G to LTE and back again, even when there are delays.
Leveraging LTE in Your Apps
LTE will provide increased performance for all apps, but you can get even more out of the network to create a truly exceptional user experience. Take advantage of these tips now and your apps will perform better and make your customers happier, whether they are on LTE or older networks.
Plan for a Mix of 2G, 3G and LTE Use
Give your app the ability to make an intelligent decision about how to fetch data, depending on the network being accessed. Also remember that latency and bandwidth vary within a given span of network coverage, so data transfer rates will not remain constant within an LTE network. It can be a challenge to determine not only what sort of network performance you're getting, but also why. For example, the same response figures could indicate that you're on a fast 3G network or a slow LTE network. If your app relies on constant network connectivity, periodically have your IT department check both bandwidth and latency to make an educated guess about what kind of network it is on and adjust accordingly. Service providers are working with industry standards organizations to define consistent interfaces that will allow developers to receive information from the network about latency, bandwidth and saturation, but this is not yet a reality.
Speed Results with Pre-fetching
In many situations data retrieval needs can be anticipated with pre-fetching. By giving your application a way to access necessary data before it is requested by the user, you can provide an even more frictionless user experience. If you expect that users will be making many data-intensive requests that have to go through the network to a server, invest some effort in creating a pre-fetching system. By definition, pre-fetching is imperfect, but if your app can use a solid pre-fetching algorithm to pull down data and cache it on the device before it is needed, you can give users a demonstrably better experience. Because LTE provides lower latency and higher bandwidth, pre-fetching is a more practical approach than with older networks.
Mobile devices are no longer computing lightweights. By caching extensively you can increase the responsiveness of your application and eliminate the spikes in network requests that cause user-discernable performance problems. Spikes in network activity typically occur at predictable times. Think about how and when your app needs data and if possible cache in advance of periods of high network activity. Of course, don't forget to periodically flush caches.
Create One Session with Multiple Gets
LTE was designed with longer sessions in mind, so take advantage of it. The fewer requests your app has to make, the lower the latency and higher the responsiveness. Over the years app developers have been trained to make small requests frequently, because of network limitations. If you can rope a bunch of requests to remote servers into one session, you'll be able to better take advantage of LTE's higher bandwidth and longer sessions.
Take Advantage of LTE's All-IP Capabilities
Because LTE can go from idle to active in 100ms, your application can provide an always-on experience without actually being active at all times. LTE's ability to deliver a variety of media concurrently means that you can start one stream while stopping another. For example, an app could display a scrolling map while simultaneously delivering voice over narration without start-up hesitation or playback stutter.
Avoid Polling on Demand Requests
The first batch of LTE-ready mobile devices may consume more battery power because the batteries are not yet optimized for power consumption, and because they may be monitoring both LTE and CDMA networks at the same time. By reducing polling, you can reduce battery depletion. It is also important to note that if the user is moving between 3G and LTE networks frequently, an application dependent on frequent updates or keepalives could timeout during the handover between networks.
Favor Downloading Over Streaming
While LTE provides higher quality of service and bandwidth, at least for the near term LTE will be coexisting with 3G networks. The handover from LTE to CDMA can cause a delay of between 3 and 8 seconds on average, depending on whether the two networks are on the same frequency. While packets are buffered in a streaming situation, depending on the density of LTE coverage provided by the carrier, a user could move in and out of 3G repeatedly while on the move. This could cause noticeable hesitations in streaming playback. Continuous streaming also appears to drain batteries at a higher rate than downloads. Also, in areas with slower networks, batteries get depleted faster because the device boosts its network reception in order to overcome network noise. For these reasons, keeping streaming to short bursts will help with real world battery power management.
Use A Bigger Buffer
When a user pulls down streaming media or initiates a download from your app while on an LTE network and for whatever reason is switched to a 3G network, the effect on the user can be minimized through the use of a large data buffer. Since LTE already pulls down data faster, it is a good idea to use a bigger buffer than you would on a 3G network. This will not create a noticeable performance hit on LTE networks, and will minimize the impact of user movement between LTE and 3G networks.
Avoid Aggressive Behavior
Apps that live in an RF (radio frequency) environment and have to operate on a crowded wireless network need to be good citizens. If packet loss occurs, a device needs to back off or wait for response. If your app is continuously attempting to regain lost packets, it can exacerbate the original failure conditions, degrading or denying service to other devices and congesting traffic. Overly aggressive behavior also unduly burdens device batteries. An app that keeps trying to pull down signal from a congested network rapidly sucks the life from batteries.
Mobile has moved from the periphery to the center of business and personal communications. Already in many countries the mobile phone has become the primary device for accessing information, managing communications, and performing tasks previously handled by personal computers. LTE is the core of the first network designed from the ground up to accommodate the expectations of carriers, developers, and consumers. Rollout across the globe is moving rapidly and if you can optimize your apps for LTE before your competitors do, you will be able to provide a demonstrably better user experience.