Setup and Performance
iOS 12 supports the same devices that iOS 11 did, starting from the iPhone 5s and 6th generation iPod touch up to the latest iPhone and iPad models. Unlike last year, there is no new architectural transition occurring in iOS 12; however, if you skipped the iOS 11 update last year and are still running iOS 10, updating to iOS 12 will prevent you from launching legacy 32-bit apps you may still have installed on your device.
Following a revamp of the setup process in iOS 11, Apple has taken a year off and foregone major changes to the setup flow in iOS 12, making only one small addition. Frankly, I don’t think the company needs to keep changing the first-run setup on an annual basis: as I argued last year, Automatic Setup mitigated much of the confusion involved with the initial configuration of an iOS device.
Besides an updated set of introductory screens explaining various system features, the only new setting in iOS 12’s setup process is automatic software updates. As the name suggests, this option ensures that iOS updates are automatically downloaded and installed without requiring the user to navigate to the Settings app and manually check for software updates.
Automatic software updates (presented as ‘Keep Your [Device Name] Up to Date’ at setup) is the recommended default option as suggested by its large ‘Continue’ button highlighted in blue. I couldn’t test this feature during the iOS 12 beta as it wasn’t fully functioning yet; according to Apple, iOS devices will send a notification before automatic software updates are installed overnight, presumably giving users the chance to delay installation until later. Automatic software updates can be disabled at any time by navigating to Settings ⇾ General ⇾ Software Update.
Performance improvements were touted as one of the tentpole features of iOS 12. While Apple’s top software brass never characterized iOS as a platform in dire need of serious maintenance, leading the WWDC keynote’s iOS segment with “doubling down on performance” and this slide was his tell. And sure enough, the details Federighi shared about Apple’s work on performance justified such prominent placement in the presentation. iOS 12 can launch apps and bring up the system keyboard up to 40% and 50% faster, respectively; the camera is launched 70% faster; the share sheet comes up twice as fast, and all apps launch up to twice as fast while the system is under heavy load.
These are impressive numbers, but there’s an equally remarkable asterisk: these measurements were conducted by Apple on an iPhone 6 Plus – a phone from four years ago that is now seeing conspicuous performance gains in the jump from iOS 11.4 to iOS 12. This also means that such performance improvements are more modest on an iPhone X, or even a 2016 iPhone 7.
The reason for using an iPhone 6 Plus as the reference point is obvious: the 6 Plus was the first iPhone to introduce resolution downsampling. This clever compromise1 took a hit on performance, as the iPhone 6 Plus wasn’t able to balance downsampling and dealing with the rest of the OS at the same time. This resulted in aggressive memory management and iOS 8 being more prone to slowdowns on the 6 Plus than the iPhone 6. App developers started treating the iPhone 6 Plus as the baseline for acceptable performance when testing their apps, sort of like many do with watchOS apps running on the original Apple Watch hardware. Now that Apple has chosen to prioritize performance and responsiveness across the board, it’s only natural to use the iPhone 6 Plus as the iPhone to optimize for.2
Apple hasn’t shared many details on what exactly has gone into performance enhancements in iOS 12, but we know a little. iOS 12 has been re-engineered to ramp up performance instantly and increase CPU cycles more quickly than before; if an app suddenly requires more resources than anticipated, iOS 12 is able to allocate them more quickly by freeing up resource space (memory, CPU, GPU, etc.) in places where the user likely doesn’t need it. In practice, this means that the camera launches and auto-focuses faster because iOS 12 instantly prioritizes it, or that a GPU-intensive visualization shouldn’t bring other parts of the system to a crawl if you switch between apps. In addition, Apple hinted at UIKit and the CPU being more closely integrated than before, which should result in superior performance when the system is drawing or scrolling cells in table views. Third-party apps should get all of these improvements “for free” without having to do any special configuration for iOS 12, but Apple strongly recommends using cell and data prefetching (an existing API) whenever possible.
Leaving all technical considerations aside, in practice iOS 12 is the fastest and smoothest version of iOS I’ve ever used. This summer, I tested iOS 12 on an iPhone X, a 2017 iPad Pro, a 5th generation iPad, and a 6th generation iPod touch. While I haven’t recorded speed-test comparisons down to the millisecond3, I can safely say that I’ve never tested a version of iOS as stable or performant as iOS 12. In fact, even the first beta of iOS 12 released in June felt more polished and responsive than the public version of iOS 11 at the time. The quality of the software has improved throughout the beta cycle, leaving us today with a final seed that I can recommend to any owner of an iOS device that can be upgraded to version 12.0.
On the 2017 iPhone X and iPad Pro, iOS 12 brought noticeable improvements to animation smoothness and SpringBoard reliability (e.g. fewer soft-reboots); it also fixed issues I’d been encountering since the first version of iOS 11 with Core Spotlight indexing and Split View on the iPad Pro, where one of the two apps would hang upon resuming Split View and force the entire space to crash. In addition to the gains Apple mentioned (faster share sheet and keyboard, quicker app launching), there are dozens of small bug fixes for other system features in iOS 12.
More impressive than its performance on recent devices, though, was the effect iOS 12 had on the aging 6th generation iPod touch. While iOS 11.4 didn’t run terribly on the iPod’s A8 SoC, iOS 12 on the iPod touch feels like the device gained a new gear overnight. Every app launches a bit faster; navigating between home screen pages is slightly more fluid; Control Center pops up more quickly. I wasn’t able to compare iOS 11.4 and iOS 12.0 on an iPhone 6 Plus, but Apple’s claims held up in my experience with the iPod touch, baseline iPad, iPad Pro, and iPhone X.
There are also the little things and nice-to-haves that a stronger foundation affords. Take responding to notifications from the lock screen, for example. Previously, expanding a notification that opened a response field required you to wait for the notification’s content to load and the keyboard to come up. Now, everything happens in a fraction of a second and the interaction feels natural – as if the notification and the keyboard are finally tied to each other.
Another favorite performance improvement of mine involves the share sheet. In older versions of iOS, sharing certain items with extensions, particularly high-res images from the Photos app, involved an almost 2-second wait as the share sheet needed to process the incoming item. In iOS 12, the share sheet comes up almost immediately after tapping the share button.
Apple was able to tighten up different parts of the system for this release. Whether it’s clearing all notifications at once, revealing Control Center, or switching between normal and private Safari tabs, iOS 12 is full of tweaked animations that have been subtly refined and sped up. Unlike old animations and transitions, these are not intrusive or overhanded; they’re fast, elegant, and contextual to each action.
iOS 12’s updated animations seem to imply that the old ones weren’t the result of Apple artificially slowing down animation curves to make sure we appreciated their visual work; despite some improvements along the way, the system simply couldn’t deliver fluid animations quickly or reliably enough. Unlike its predecessors, iOS 12 is capable of being responsive to user touches and beautifully animated at the same time.
Whether Apple’s focus on performance and stability in iOS 12 is an answer to negative press and class actions doesn’t matter. The intention isn’t what I’m interested in – ultimately, the actual product is. And after using iOS 12 on multiple devices for the past three months, it’s clear that Apple wasn’t exaggerating its performance claims at WWDC. iOS 12 is a pleasure to use and navigate, with fewer graphical glitches than iOS 11 and an overall sense of fine-tuning that had been missing for some time now.
For the first time in years, not only will you get new features by updating your device to the new version of iOS, but you’ll get a considerably better, faster, and more stable device too. And if iOS 12 ends up being the last supported version for the aging iPhone 5s and 6 Plus – well, that wouldn’t be a bad send-off at all.
- Apple had to “virtualize” the display resolution of the iPhone 6 Plus with a 3x scaling factor, then use hardware to downsample it and make it fit in a 1080p display panel. See this article for more details. ↩︎
- I personally saw several Apple engineers carrying an iPhone 6 Plus as their main phone running iOS 12 during the week of WWDC. I also heard from a few little birdies that some of the top executives committed to using an iPhone 6 Plus this summer to spot any glaring performance problems, which is amusing to think about. I’m not sure if that would feel like a punishment for previous years, or a reward for work well done in iOS 12. I’m guessing both. ↩︎
- I’ll leave that to young and enterprising YouTubers with more test devices than me. ↩︎