smart technology

Never mind the iPhone X, researchers could soon find a way to make phone batteries last for days

It feels like we've seen less progress on charge time than almost anything else in smartphones. Could software efficiency be the answer?

Another suite of Apple iPhones, another media frenzy. Much has been written about the $999 iPhone X, the demise of the home button, the “face ID” function, wireless charging and so on. Somewhere down the list of improvements was extra battery life, at least for the iPhone X, thanks to its new souped up A11 bionic processor.

Apple says the new device will charge for up to two hours more than the iPhone 7, suggesting 14 hours of internet use, for instance. Battery life on the iPhone 8, on the other hand, appears to be about comparable with its predecessor. Wireless charging, to which Apple is late to the party, makes no difference to the amount of power devices can store.

Improvements to batteries are usually a key part of smartphone launches, as you would expect for one of the major specifications on which consumers judge new devices. Samsung had much to say on this subject when it launched the Galaxy Note 8 last month – albeit less about extending battery life than ensuring no repeats of the flaws in Note 7s that made them prone to catch fire.

Yet several decades into the mobile computing revolution, even the best products are still relatively limited in how long they can function on a single charge. The original iPhone was good for eight hours of internet browsing, for example, so Apple’s devices have only advanced modestly in 10 years.

So far, manufacturers have tended to focus on improving battery technology, packing more and more energy into less and less space. Those fiery Galaxy Note 7s were a cautionary tale of what can go wrong when this energy gets released as heat.

Manufacturers also look to improve other mobile hardware that consumes energy – including the display, WiFi, GPS and the central processing unit. The new iPhones’ improved CPUs and OLED screens have made them more battery friendly, for example.

Play

But one area that has received surprisingly little attention is the energy consumed by software, or rather the energy consumed by the CPU when running particular software. Neither Samsung nor Apple seemed to make any noises in this direction with their latest launches, but this emerging field could make a major difference to how long we need to charge our devices in future.

Software sap

Decades ago, when computers were thousands of times slower, developers would hand-tune code to near perfection to squeeze out every last drop of performance. But as software has become more complicated – thanks to new features, improved user experience and so forth – this stopped being possible.

Software development is now several layers removed from the raw binary machine code that the CPU deals in. Developers also rely on libraries of existing code because it would take too long to build each instruction from scratch every time. Both changes reduce duplicated effort and greatly speed up development time. But the final code often contains parts that are redundant in a particular app, or it could be improved with more efficient tailor-made segments.

Developers often try to mitigate these disadvantages by making their code run as fast as possible, which in theory reduces energy consumption. Yet this doesn’t always work in practice, since some instructions are more power-hungry than others and can end up neutralising the benefits.

The net result is that the energy consumption of software has increased considerably over the years. Nobody much cared until the last decade or so, since most software ran on machines that were mains powered. This has changed with the rise of mobile devices – while mounting concerns about the links between electricity consumption and climate change have added extra urgency.

The AIs have it

There is another reason why developers were slow to address this problem, which is that the energy consumption from each piece of software was very difficult to measure. This is because each device’s configuration is different. Energy use can change depending on whether a program has run before, or whether other programs are running.

Lately, however, there have been advances. They involve using machine learning to estimate energy use by analysing particular lines of code or software components, and referencing energy data from other programs running on many other devices. Do this well and you can get the computer to do the hard part: search for alternative software designs that make the software more efficient.

Welcome to search-based software engineering. It can be as simple as finding redundant code that can be skipped or fine-tuning the configuration, or it can extend to making changes to existing source code. Our own work has looked at both choosing alternative software components from existing libraries and generating new parts of code from scratch. We even managed to find and repair several hundred bugs in Hadoop, a very widely used software framework.

Our vision is that these search-based methods for improving energy efficiency will be incorporated into what is known as the “compiler” stage, when human-readable computer code is converted into the zeroes and ones the machine understands. These searches would happen automatically and developers wouldn’t need to think about them – their code would be efficient out of the box.

There is still a long way to go, it should be said. The main difficulty is getting the estimates of software energy consumption right, especially for lots of different devices at the same time. But the potential over the next five years looks exciting. We were able to show a 40% to 70% reduction in CPU energy use for a couple of specific tasks, and it’s not inconceivable that this could be replicated over all running software.

Combined with better batteries and more improvements to hardware performance, such as zero energy screens, we could be talking about serious gains on battery life. In future, the leading manufacturers may no longer be talking up incremental improvements to battery life capabilities – instead they could be adding many hours and maybe even days.

Alexander Brownlee, Senior Research Assistant, University of Stirling and Jerry Swan Senior, Research Fellow, Computer Science, University of York.

This article first appeared on The Conversation.

Support our journalism by subscribing to Scroll+ here. We welcome your comments at letters@scroll.in.
Sponsored Content BY 

Get ready for an 80-hour shopping marathon

Here are some tips that’ll help you take the lead.

Starting 16th July at 4:00pm, Flipkart will be hosting its Big Shopping Days sale over 3 days (till 19th July). This mega online shopping event is just what a sale should be, promising not just the best discounts but also buying options such as no cost EMIs, buyback guarantee and product exchanges. A shopping festival this big, packed with deals that you can’t get yourself to refuse, can get overwhelming. So don’t worry, we’re here to tell you why Big Shopping Days is the only sale you need, with these helpful hints and highlights.

Samsung Galaxy On Nxt (64 GB)

A host of entertainment options, latest security features and a 13 MP rear camera that has mastered light come packed in sleek metal unibody. The sale offers an almost 40% discount on the price. Moreover, there is a buyback guarantee which is part of the deal.

Original price: Rs. 17,900

Big Shopping Days price: Rs. 10,900

Samsung 32 inches HD Ready LED TV

Another blockbuster deal in the sale catalogue is this audio and visual delight. Apart from a discount of 41%, the deal promises no-cost EMIs up to 12 months.

Original price: Rs. 28,890

Big Shopping Days price: Rs. 10,900

Intel Core I3 equipped laptops

These laptops will make a thoughtful college send-off gift or any gift for that matter. Since the festive season is around the corner, you might want to make use of this sale to bring your A-game to family festivities.

Original price: Rs. 25,590

Big Shopping Days price: Rs. 21,900

Fashion

If you’ve been planning a mid-year wardrobe refresh, Flipkart’s got you covered. The Big Shopping Days offer 50% to 80% discount on men’s clothing. You can pick from a host of top brands including Adidas and Wrangler.

With more sale hours, Flipkart’s Big Shopping Days sale ensures we can spend more time perusing and purchasing these deals. Apart from the above-mentioned products, you can expect up to 80% discount across categories including mobiles, appliances, electronics, fashion, beauty, home and furniture.

Features like blockbuster deals that are refreshed every 8 hours along with a price crash, rush hour deals from 4-6 PM on the starting day and first-time product discounts makes this a shopping experience that will have you exclaiming “Sale ho to aisi! (warna na ho)”

Set your reminders and mark your calendar, Flipkart’s Big Shopping Days starts 16th July, 4 PM and end on 19th July. To participate in 80 hours of shopping madness, click here.

Play

This article was produced by the Scroll marketing team on behalf of Flipkart and not by the Scroll editorial team.