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.

We welcome your comments at letters@scroll.in.
Sponsored Content BY 

Children's Day is not for children alone

It’s also a time for adults to revisit their childhood.

Most adults look at childhood wistfully, as a time when the biggest worry was a scraped knee, every adult was a source of chocolate and every fight lasted only till the next playtime. Since time immemorial, children seem to have nailed the art of being joyful, and adults can learn a thing or two about stress-free living from them. Now it’s that time of the year again when children are celebrated for...simply being children, and let it serve as a timely reminder for adults to board that imaginary time machine and revisit their childhood. If you’re unable to unbuckle yourself from your adult seat, here is some inspiration.

Start small, by doodling at the back page of your to-do diary as a throwback to that ancient school tradition. If you’re more confident, you could even start your own comic strip featuring people in your lives. You can caricaturise them or attribute them animal personalities for the sake of humour. Stuck in a boring meeting? Draw your boss with mouse ears or your coffee with radioactive powers. Just make sure you give your colleagues aliases.

Pull a prank, those not resulting in revenue losses of course. Prank calls, creeping up behind someone…pull them out from your memory and watch as everyone has a good laugh. Dress up a little quirky for work. It’s time you tried those colourful ties, or tastefully mismatched socks. Dress as your favourite cartoon characters someday – it’s as easy as choosing a ponytail-style, drawing a scar on your forehead or converting a bath towel into a cape. Even dinner can be full of childish fun. No, you don’t have to eat spinach if you don’t like it. Use the available cutlery and bust out your favourite tunes. Spoons and forks are good enough for any beat and for the rest, count on your voice to belt out any pitch. Better yet, stream the classic cartoons of your childhood instead of binge watching drama or news; they seem even funnier as an adult. If you prefer reading before bedtime, do a reread of your favourite childhood book(s). You’ll be surprised by their timeless wisdom.

A regular day has scope for childhood indulgences in every nook and cranny. While walking down a lane, challenge your friend to a non-stop game of hopscotch till the end of the tiled footpath. If you’re of a petite frame, insist on a ride in the trolley as you about picking items in the supermarket. Challenge your fellow gym goers and trainers to a hula hoop routine, and beat ‘em to it!

Children have an incredible ability to be completely immersed in the moment during play, and acting like one benefits adults too. Just count the moments of precious laughter you will have added to your day in the process. So, take time to indulge yourself and celebrate life with child-like abandon, as the video below shows.

Play

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