Mr. Chair, I'd like to take this opportunity to thank the committee for allowing me to appear today to discuss the topic of the performance of iPhones and their batteries. My name is John Poole. I'm the founder and president of Primate Labs, a software company based in Toronto.
Primate Labs develops Geekbench, which is a cross-platform benchmark available for Android, iOS, and other platforms. Geekbench provides an objective measure of performance for devices and computers. It reports this performance through a score. These scores are calibrated against a baseline machine and provide a relative measure. You can compare a device's performance against both the baseline and other devices that have run Geekbench. Higher scores indicate higher performance, with an approximate linear function such that double the score means double the performance.
Geekbench also uses the Geekbench browser, which is an online database. Whenever Geekbench is run, the benchmark results are uploaded to our server. We receive approximately 400,000 to 1.1 million results each month from our users. We are able to take these results and publish them to the public in general so that people can see the performance of various individual devices. We are also then able to collect these results and statistics on them, and report aggregate scores. Generally speaking, what we've done in the past is report the average score for each device, but as I will go into later, we also started looking at the distribution scores once we became aware of the performance issues with the iPhone.
Here are the particulars for the timeline of events that led us to conduct this analysis. In approximately September 2017, we started receiving complaints from Geekbench users that their phones felt slow. These reports were also backed up by reduced Geekbench scores. Normally, when we've seen reduced Geekbench scores from our users, we're able to identify a cause that leads to these lower scores. In this case we were unable to determine that cause, nor were we able to reproduce the results internally in our own laboratory testing.
We initially assumed that this was due to a software update—iOS 11—that Apple had released within approximately the same time frame. Whenever these updates come out, they cause the phone to potentially run a little slower for a while as the phone upgrades its internal databases and rearranges data to meet the new format of the operating system. Usually, these performance issues resolve themselves in a day or two as the phone finishes its background tasks. Our assumption leading up to December was that this was a software issue and that it would resolve itself fairly quickly for most users.
However, in December 2017 we came across a Reddit post with the title “PSA: iPhone slow? Try replacing your battery!” It contained the quote, “Apple slows down phones with low capacity batteries, replacing it”—meaning the battery—“makes them full speed again.”
At this point, we changed our theory. We went from thinking this was a software issue to a hardware issue, and we started to dig in and look at the results that users had uploaded to our service to see if we could actually determine the scope and magnitude of this slowdown that users were experiencing. That led us to publish the article “iPhone Performance and Battery Age”. This article contained kernel density plots of Geekbench scores for several iOS versions. We broke down the results by phone and by operating system version. Again, we based this on user benchmark data from the Geekbench browser. We used approximately 120,000 results from both iPhone 6 and iPhone 7.
Here is an example of the charts that were included in our article.
On the left, we have results from an iPhone 6 running iOS 10.2, and on the right we have results from an iPhone 6s running iOS 10.2.1. As you can see on the left, with iOS 10.2, the distribution is what we would expect from most devices. We have a large peak centred around the average score for that device. On the right, however, is where things get interesting. We see the large peak around the average, but we also see several smaller peaks at several lower tiers of performance. This suggested to us that the slowdown was happening to users, that it was affecting a non-trivial number of devices, and that the cause of it was introduced in iOS 10.2.1. However, from our data, we were unable to determine exactly what that change was or why it was introduced. Again, this is sort of repeating the description I just gave.
Apple made a couple of statements in December 2017 that sort of confirmed our results and also explained what was happening. Apple indicated that the change was due to a software update and that in the iPhone 6s, performance could be reduced for iOS 10.2.1.
This software change was introduced to work around the hardware issue. This hardware issue in particular was the battery. What happened was approximately in December 2016, users started to complain about sudden shutdowns of their iPhones. They'd be using a phone, and when the battery level hit approximately 30% as reported in the operating system, the phone would suddenly shut down.
What was happening under the covers when the sudden shutdown happened was that, when a processor runs at full power, the fastest performance, the sort of performance you'd expect when you're running a benchmark like Geekbench or any sort of demanding application on your phone, when the processor is running at a higher performance, it uses more power. As the battery degrades, as the battery ages, which all lithium-ion batteries do, the battery is no longer able to provide the power to the processor that it needs to run at that full performance. When that happened, the phone suddenly shut down.
The workaround that Apple introduced in iOS 10.2.1 was when it detected that the battery had degraded, when it detected that it no longer was able to deliver the power that the processor needed, the system as a whole would reduce the power, the performance of the processor, so it no longer overtaxed the battery.
One of the questions I was asked ahead of coming to the committee was, does this affect Canadian and American iPhones differently? Again, using the kernel density plots that we used in the original article, we looked at results from the iPhone 6s running, at the time, the latest operating system, iOS 11.2, and looked at approximately 190 Canadian results and just under 1,600 American results.
The classification of these results is a little ad hoc in that we're using the location of the phone when the benchmark was run, not the country where the phone was sold. It's entirely possible that we could have a few phones here in this dataset that are American phones running benchmarks in Canada or vice versa. Personally, I believe that these phones are very few in number and should not affect the majority of the dataset.
Again, here's another kernel density plot. On the left we have Canadian phones and on the right we have American phones. If you overlay the graphs, you'll see that the shape of both graphs is approximately similar, so the distribution of results is approximately the same. Similar distribution between the phones suggests there is not a difference in how this issue affects Canadian phones and American phones, or more broadly, Canadian consumers and American consumers.
Thank you.