Consumers love their applications. Carriers do too, unless the applications are bandwidth hogs.
With carriers trying to clamp down on excessive data consumption, it's more important than ever for developers to make sure they aren't creating apps that hog the data highway.
"Bandwidth is not infinite and it's not free," said Larry Rau, director of technology for the application ecosystem for Verizon Wireless. "It's something developers have to be aware of."
Consumers are starting to grow aware of the issue. Last year, AT&T opted to offer tiered data plans, introducing overage charges for excessive data consumption. Last month, Verizon Wireless. T-Mobile employs a practice called throttling, which chokes off the connection speed when a user hits a certain mark for data consumption.
The wireless providers are already trying to work with developers to make sure their applications run more efficiently. Sprint Nextel, for example, is working with Facebook to tweak the app, which hundreds of millions of people use to upload their photos, videos, and status updates. The carriers, however, can't get to everyone, so the following are a few tips for how to create a leaner, meaner app:
Compression is key Video is one of the biggest culprits clogging up wireless networks, so carriers have been pushing developers and content companies to use compressed video.
Videos are normally compressed using two different standards, H.264 and MPEG-4, which the carriers all accept. YouTube uses H.264 compression technology when it delivers videos to wireless devices.
"They're able to deliver a reasonable quality of video and a more efficient use of bandwidth," Rau said.
Not all compression is equal. Certain kinds of relatively static video, such as news reports, don't necessarily require as high a resolution or frame rate as more action-heavy video such as a movie or basketball game.
Video applications range from football streaming programs to business apps that can show how-to videos to their employees. While the carriers aren't looking to restrict video, they're not too happy when that stream is compressed using the highest picture quality settings.
"We work with developers to make sure the type of video used matches the use case," Rau said.
Maintaining a steady connection The wireless networks don't deal well with devices or apps that constantly ping their network. That's why the early iPhones were a handful for AT&T. Instead, carriers prefer the device or program connect to the network, do their business, and then get off.
Carriers recommend sending larger chunks of data with less frequency. Because spectrum is a limited resource, constantly pinging the network could cause a lot interference with others trying to tap into that link.
Kurt Gerstner, vice president of application services for IT reseller Unisys, noted that native apps generally are more data efficient than Web-based ones using HTML 5 because they don't require constant pinging to update every aspect of the program.
Store and forward To avoid constantly pinging the network, carriers recommend caching, or storing, some of that data on the phone. That way, the device doesn't have to continuously hit the network for the same content like logos or commonly used photos and images.
Gerstner says he employs a technique called "store and forward" when designing apps for his business and government customers. It involves storing a lot of the content and data on the phone, and sending only the changes to the data. The aim is to minimize the amount of data that runs across the carrier's network.
He also said he designs apps that are able to run without a connection, with data to be transferred later when the user gets to a Wi-Fi hot spot. In general, he also likes to preload business content and apps on a device before it is handed to the employee, which isn't a luxury that most developers get.
Gerstner designs apps to be used by agencies in the federal government. He said the government is already planning for when all carriers--including Sprint Nextel--begin charging for excessive data usage.
AT&T recommends adding caching "headers," which tell certain bits of content how long they should stay in the phone. Developers should be mindful of labeling things like logos and images with instructions to stay in the cache, while instructing more time-sensitive copy such as a news story or photo to spend less time in the phone's memory.
There are a lot of apps out there that are a drain on the network. But Rau said he doesn't think many of them are meant to be malicious. Some are like that because they were rushed to market, and get fixed. Other developers just don't know how taxing their programs are.
"It's one of the biggest areas where I find developers can be assisted," Rau said. "They're not all that familiar with the network usage."
Inside Apps won't appear next week because of Labor Day. The column will return on September 12.