Performance and Low Power Mode
Everyone struggles with battery life. Talk to any iPhone owner, and you'll never hear them wish for shorter battery life on their device. There's no such thing as enough battery. With iOS 9, Apple is taking some steps toward improving battery life on all devices, with particular attention to the iPhone.
Across the entire OS, Apple claims to have optimized apps and key technologies to be more efficient and consume less energy. On top of this, iOS 9 can use the iPhone's proximity and ambient light sensors to detect when it's lying facedown on a surface, and it won't turn on the screen when a notification comes in. By itself, this sounds like a small change, but if you receive a lot of notifications every day, every drop counts.
Apple has increased the information displayed for battery usage, too. In the new Settings > Battery page, the list of apps and system functions consuming energy on your device includes some new entries (such as energy consumed by recently deleted apps) as well as additional detail that can be displayed by tapping the list of apps or the clock icon in the top right. This will list the minutes spent by apps in the foreground and background for the selected time range, which makes it easier to assess the consumption of an app depending on actual usage. More importantly, it simplifies the process of determining whether keeping background app refresh turned on for an app that consumes a lot of energy is worth it.
The protagonist of Apple's battery life improvements is Low Power Mode. Available exclusively on the iPhone, Low Power Mode temporarily reduces power consumption by reducing or turning off Mail fetch, background app refresh, automatic downloads, and "some visual effects". CPU and GPU performance may also be reduced, and Auto-Lock in 30 seconds is also enforced. When Low Power Mode is active, the iPhone's battery icon turns yellow, and the battery percentage is displayed even if you normally keep it off.
Low Power Mode can be activated in two ways. If you want to activate it manually, you can go into Settings > Battery and toggle it. There's (almost) nothing stopping you from running your device in Low Power Mode all the time. The most effective way to activate Low Power Mode, though, is to wait for your device to reach 20% or 10% of battery left: when that happens, an alert will allow you to turn on Low Power Mode and start saving on energy until you can charge your iPhone.
Low Power Mode isn't some kind of placebo effect. During the iOS 9 beta period, I activated Low Power Mode every time my iPhone 6 Plus reached 20% of battery left, and I noticed how it gave it a few extra minutes (about 30 in my experience) I could use to get home via Maps navigation or to go back to my car and charge it.
Surprisingly enough, Apple has thought about the possibility of users keeping Low Power Mode always on, and to discourage such usage – which could lead to an inferior user experience when there's no need to – iOS turns it off automatically once an iPhone reaches ~80% of charge (Apple calls it a "sufficient level"). This won't make it impossible to use an iPhone in Low Power Mode even if it's not running short of battery, but it should be a deterrent.
In practice, I didn't really notice any major functional difference when Low Power Mode was on. The "visual effects" that iOS 9 turns off are the animations of Dynamic Wallpapers and the parallax effect in Perspective Zoom, both of which I don't use and that therefore don't impact the visual appearance of my iPhone when they're disabled. If other effects are reduced, I can't notice: translucencies and other zoom animations are still available in Low Power Mode, so it's not like iOS turns into a static, opaque mix of colors when Low Power Mode is enabled. As Apple states, background app refresh and Mail message fetch are also disabled in this mode – a fair trade-off when battery life is at stake. For the most part, Low Power Mode is unobtrusive and it yields the results promised by Apple.
What's going to be interesting, I think, is how third-party apps will react to Low Power Mode to reduce their own energy consumption. iOS 9 adds a new Foundation API with a
lowPowerModeEnabled property of NSProcessInfo that changes its state when Low Power Mode is enabled. Developers can also listen for a
NSProcessInfoPowerStateDidChangeNotification notification that, as the name implies, informs an app on the state of Low Power Mode. Apple is advising developers to check the state of Low Power Mode in their apps, reducing costly computations such as frequent network activity and high frame rates to save energy.
In Breslan's case, his app Departure Board could support Low Power Mode by decreasing the usage of an API that checks for train departures every minute, allowing an iPhone to consume less energy by pinging a server less frequently. I tested a few apps with Low Power Mode integration in iOS 9: the email client Dispatch, for instance, is going to disable CoreSpotlight indexing and profile pictures in Low Power Mode to prevent an iPhone from indexing new messages in the inbox and fetching avatars from the Internet.
Max Litteral's Television Time, a TV show tracker, takes similar measures to reduce CPU consumption when the user enables Low Power Mode: the app will stop animations when loading images into table view cells, it'll disable downloading and animating thumbnails in search results, and it'll also disable face detection on show posters. Litteral is looking into disabling show sync in Low Power Mode as well, which would further reduce energy consumption by stopping network activity.
The work that Apple has done at a system level to prolong battery life with more efficient apps and Low Power Mode should already be enough to give most users a few minutes of extra battery. But in an ideal world, additional savings could be granted by third-party developers being good platform citizens and supporting Low Power Mode by adjusting their apps' behavior to consume less energy whenever possible.
Perplexingly, Low Power Mode isn't available on the iPad – a missing feature in stark contrast with the iPad focus of iOS 9. I don't understand what pushed Apple to make Low Power Mode an iPhone-only perk of iOS 9, and I'd like to see it coming to the iPad as soon as possible. Even if not as essential as an iPhone for emergency scenarios, Low Power Mode could be useful for iPad users looking for some extra minutes of battery life every day.
The last two major versions of iOS have been riddled with bugs and performance issues in their first releases, and it's good to see Apple prioritizing efficiency, storage, and stability this year. In addition to battery-themed enhancements, iOS 9 introduces smaller software updates for consumers (which I couldn't measure with developer betas), an option to install iOS updates at a later stage, and App Thinning, a set of optimization tools (slicing, bitcode, and on-demand resources) to decrease the footprint of apps by delivering only the resources needed by a user's device. I couldn't test App Thinning either, but I expect it to have major implications for the future of local device storage, App Store downloads, and gaming content.
Stability-wise, iOS 9 is a step up from iOS 8. In my experience, I have seen only a couple of Home screen crashes and random reboots in three months of iOS 9 betas (down from at least twice a week, both on the iPhone and iPad), fewer interface glitches, and increased stability on the iPad Air 2 with Apple apps, using the app switcher, and extensions. New multitasking features on the iPad Air 2 have been rock solid, with a smooth Slide Over, stable Split View, and flawless Picture in Picture.
Unfortunately, memory pressure continues to be an issue on the iPhone 6 Plus, which can still lag in terms of frame rate compared to the Air 2 and that often purges apps from memory to free up resources for the current app. On the 6 Plus, I'm still seeing Safari frequently reload tabs after switching to another app, a slower than usual Camera, and slightly delayed touch responses when moving between apps.
Apple's house cleaning in iOS 9 offers a superior experience than older versions of iOS – at least on recent hardware – and it removes much of the cruft that had accumulated over the past two years. The real effect of features such as App Thinning and Low Power Mode for apps will only be seen in the next few months if developers opt into them, and it's intriguing to imagine a future where they'll be the norm.