As you tap away at your free copy of Angry Birds and sneer at those who pay for games, consider this: how much is it costing you in battery life?
Plenty, according to a study conducted by researchers from Microsoft and Purdue University. Their work, which presents the results produced by an energy profiling tool called eprof, concluded that as much as 70% of the power use of free games has nothing to do with gameplay, and everything to do with downloading advertisements and tracking users.
The paper (lead author Abhinav Pathak at Purdue, copy here), to be presented at the EuroSys 2012 conference in April, finds that most of the energy used by free apps is spent handling third-party advertising modules. In addition, code bugs can also be energy-wasters, doing things like leaving idle comms channels open.
Not surprisingly, I/O is the killer: 3G, WiFi and GPS modules are energy hogs, and these are all used to help advertisers in their sacred mission to track you, snoop on you, and tell you how to win a free iPad.
The researchers used three HTC smartphones for the tests: a Magic and a Passion, both running Android, and a Tytn II running Windows Mobile. Among the 21 apps tested were browsers, photo uploaders, newspaper apps, mapping, Twitter, and games like chess, Sudoku and Angry Birds.
The breakdowns are interesting: in the free Angry Birds app, the researchers found, user tracking accounted for 45 percent of power consumption, one-third of which is devoted to GPS tracking. To this the app adds the energy used in uploading user information and downloading ads.
In the NY Times app, a thread called DownloadManager uses 65 percent of the app’s energy while downloading news into the app, and continues to plug away in the background afterwards. “After the main thread finished displaying the news”, the paper states, “DownloadManager continues to utilize CPU and network”.
Similarly, Angry Birds held an idle 3G connection for ten seconds after the GPS upload and location-based ad download were complete – forming 28 percent of the app’s total power consumption.
Merely cleaning up buggy I/O code could significantly improve the free apps’ power performance, the researchers state. ®
Bootnote: El Reg has asked Abhinav Pathak about similar profiling on iOS.
The main point of this paper, he told us, was to demonstrate that eprof works. Also, iOS presents a special problem, he said: while the theoretical framework isn't tied to a particular platform, "building the tool requires operating system-level changes to perform event logging for energy tracking".
"We do not have access to iOS to implement our lower level changes," he said. ®