Developer Trend Alert: Programming for Energy Efficiency

Developers have long focused on building software for better performance and more features. Each generation of programs for our laptops and mobile software are supposed to do more for us — not less. But there has been a growing amount of attention as of late on developers trying to be mindful of the energy consumption of software, and developing programs that use as much energy as needed — and not more.

The practice is particularly important for mobile devices. The small size, dependence on battery life and limited functionality (compared to a computer) means that mobile developers are leveraging every resource to maximize the experience, and that includes making programs that don’t drain batteries too quickly. The IEEE Spectrum recently highlighted a mobile application called PowerTutor, built by researchers at the University of Michigan, that enables the user to compare the efficiency of mobile applications as well as being able to see how much energy your phone is consuming, down to individual components like the phone’s CPU, network interface, GPS, and LCD screen.

From a consumer perspective PowerTutor is just a novelty, but from the perspective of a developer, it could be useful to help create more efficient mobile applications. The idea is for mobile developers to use it for a few days to optimize their apps, and then disable it (the app itself uses 5 percent of the CPU, or 2 to 3 percent of the phone’s power).

I think services and apps like PowerTutor will become increasingly common as developers program software for mobile devices that are becoming ever more powerful and complex and thus are consuming more energy. Kirk Cameron, an associate professor in the computer science department at Virginia Tech (I’m assuming not the teen star turned Left Behind actor) told IEEE Spectrum that the problem of mobile power has truly become mainstream.

The phone companies already know they need to reduce the energy consumption of their networks and the devices on the edges of their networks. Sprint’s CEO Dan Hesse testified before a Senate hearing this morning about Sprint’s green initiatives and he explained how Sprint’s network (and network of devices) represented 80 percent of its overall energy usage. According to The Climate Group’s Smart2020 report the amount of global mobile accounts will grow from 1.1 billion to 4.8 billion accounts between 2002 and 2020, “representing the largest source of global telecom carbon footprint emissions.” The good news according to the Climate Group is that the increased use of smart chargers and standby power modes will help to drive down the per capita energy consumption footprint of cell phones by 2020.

But baking the energy efficiency into the software development itself just makes sense economically and logistically. Other computing sectors, like for data centers and servers, are also eying how so-called “green code” can help make running computing more efficient. A couple years ago we published this interesting piece on how inefficient (or “bad”) code really matters when it comes to the energy consumption of computing. A couple friends of mine who work at Twitter have talked to me about how Twitter is looking at more efficient code to run processes and services more efficiently.

The idea of “green code” or “green software” is rather fluffy, but from a developer perspective it’s all about efficiency: software should use just as much power as needed.

For More on Energy Efficiency at GigaOM Pro:

Better Battery Life Motivates Mobile Chipmakers

Image courtesy of .schill’s photostream Flickr Creative Commons.

loading

Comments have been disabled for this post