Researchers at Purdue University say that 65 to 75% of the energy used to run free apps actually gets used for advertising-related functions.
Purdue doctoral student Abhinav Pathak says researchers there looked at six popular smartphone apps, including Angry Birds, Facebook and the Android Browser. The free Angry Birds app consumed about 75% of its power running "advertisement modules" in the software code and only about 25% actually playing the game. The modules perform marketing functions such as sharing user information and downloading ads.
"We believe it is mainly to provide information about the user's geographical location so the ads can be more targeted or customized to that location," explains Y. Charlie Hu, Purdue University professor of electrical and computer engineering.
Researchers detailed their findings in a paper presented at the EuroSys 2012 conference in Switzerland. The paper, written by Pathak, Hu and Ming Zhang, a researcher at Microsoft Research, also suggests a general approach for improving the energy efficiency of smartphone apps.
The researchers came up with a routine called Eprof that maps how much energy comes from each software component, representing a new way for researchers to study smartphone energy consumption without using a power meter. In one case, a piece of advertising software embedded in a free app failed to turn off its connection to the Internet, a function called a socket, requiring another piece of code to resolve the problem, thereby wasting energy in the process. Inefficient power usage is most likely to occur in interactive programs, which are prevalent in smartphone apps such as games and applications that heavily use built-in phone gadgets like GPS, the camera, compass and a proximity sensor.
Another particular source of power inefficiency is a phenomenon called "tails." In principle, after an application sends information to the Internet, the "networking unit" that lets the phone connect to the Internet should go to a lower power state within a fraction of a second. However, researchers found that after the advertising-related modules finish using the network, the networking unit consumes power for about seven seconds.
"The past assumption has been that, whenever you see usage you have power consumption, and when there is no usage there is no power consumption," Hu said. "This does not hold true for smartphones." The tails are a phenomenon of several smartphone hardware components, including 3G, or third-generation wireless systems, GPS and WiFi.
However, software developers could sidestep the problem by modifying apps to minimize the effect of tails, Hu said. "Any time you use the 3G network, there will be a tail after the usage," Hu said. "The ad module in Angry Birds obviously uses 3G for network uploading and downloading, while the game itself did not, which is why we blame the ad module for the tail."
The ultimate goal of the research is to develop an "energy debugger" that automatically pinpoints flaws in software and fixes them without the intervention of a human software developer, Hu said. Eprof mirrors a tool created three decades ago called gprof, which tracks how much time is consumed by software components. "If a program runs for three hours, gprof tells you how much time is spent on each subroutine," Hu said. "We've taken this to a whole new level with eprof to show how much energy is consumed."
More info: www.purdue.edu