In 1799, Italian physicist Alessandro Volta created the first electrical battery, disproving the theory that electricity could only be created by human beings. Fast forward 250 years, brands like Duracell and Energizer popularized alkaline batteries—which are effective, inexpensive and soon become the key to powering household devices. In 1991, Sony released the first commercial rechargeable lithium-ion battery. Although lithium-ion batteries have come a long way since the 90s, to this day they power most smartphones and many other modern devices.
While batteries have come a long way, so have the capabilities of the devices which need them. For consumers, battery life is one of the most important features when purchasing hardware. Applications which drain a device’s battery are less likely to retain their users. Software developers are wise to understand the latest trends in battery optimization in order to build more efficient and user-friendly applications.
Lithium-ion batteries remain the most prevalent battery technology, but a new technology lies on the horizon. Graphene batteries are similar to traditional batteries, however, the composition of one or both electrodes differ. Graphene batteries increase electrode density and lead to faster cycle times as well as the ability to improve a battery’s lifespan. Samsung is allegedly developing a smartphone powered by a graphene battery that could fully charge its device within 30 minutes. Although the technology is thinner, lighter, and more efficient, production of pure graphene batteries can be incredibly expensive, which may inhibit its proliferation in the short-term.
Hardware companies are also coming up with less technologically innovative solutions to improve battery life. Many companies are simply attempting to cram larger batteries into devices. A more elegant solution is the inclusion of multiple batteries. The OnePlus 9 has a dual cell battery. Employing multiple smaller batteries means both batteries charge faster than a single cell battery.
Apple and Google are eager to please their end-users by employing techniques to help optimize battery life. In addition, they take care to keep app developers updated with the latest techniques via their respective developer sites.
Android 11 includes a feature that allows users to freeze apps when they are cached to prevent their execution. Android 10 introduced a “SystemHealthManager” that resets battery usage statistics whenever the device is unplugged, after a device is fully charged or goes from being mostly empty to mostly charged—what the OS considers a “Major charging event”.
Apple has a better track record of consuming less battery than Android. iOS 13 and later introduced Optimized Battery Charging, enabling iPhones to learn from your daily charging routine to improve battery lifespan. The new feature prevents iPhones from charging up to 100% to reduce the amount of time the battery remains fully charged. On-site machine learning then ensures that your battery is fully charged by the time the user wakes up based on their daily routines.
Apple also offers a comprehensive graph for users to understand how much battery is being used by which apps, off screen and on screen, under the Battery tab of each devices Settings.
WHAT APPLICATION DEVELOPERS CAN DO
App developers see a 73% churn rate within the first 90 days of downloading an app, leaving very little room for errors or negative factors like battery drainage. There are a number of techniques application developers can employ in their design to reduce and optimize battery-intensive processes.
It’s vital to review each respective app store’s battery saving standards. Both Android and Apple offer a variety of simple yet vital tips for reducing battery drain—such as limiting the frequency that an app asks for a device’s location and inter-app broadcasting.
One of the most important tips is to reduce the frequency of network refreshes. Identify redundant operations and cut them out. For instance, can downloaded data be cached rather than using the radio repeatedly to re-download it? Are there tasks that can be deferred by the app until the device is charging? Backing up data to the cloud can consume a lot of battery on a task that is not always time sensitive.
Wake locks keep the phone’s screen on when using an app. There was a time where wake locks were frequently employed—but now it is frowned upon. Use wake locks only when absolutely necessary—if at all.
Software developers need to be attentive to battery drain throughout the process of building their application. This begins at conception, through programming, all the way into a robust testing process to identify potential battery drainage pitfalls. Attention to the details of battery optimization will lead to better, more user-friendly applications.