1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

1 

UNITED STATES DISTRICT COURT 

NORTHERN DISTRICT OF CALIFORNIA 

SAN JOSE DIVISION 

CHRISTINA GRACE and KEN POTTER, 

Individually and on Behalf of All Others 

Similarly Situated,

Plaintiffs, 

v. 

APPLE, INC. 

Defendant. 

Case No. 5:17-cv-00551-LHK-NC 

EXPERT REPORT 

DR.MARK T. JONES 

Highly Confidential – Source Code

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 1 of 29
Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 2 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

62 

A more general overview of using trust objects is given here149: 

4. APPLE DEVICE PERFORMANCE 

I have also been asked to consider whether, and if so how, upgrading an iPhone 4 or iPhone 

4s from iOS 6.1 to iOS 7.0 or iOS 7.1 affected the performance of the phone. 

I considered performance-related statements and documents made or cited in the filings 

from this case, including the Complaints, the Answer, the Motion to Certify a Nationwide Class, 

the Opposition to the Motion, and the Reply to the Motion. I also considered performance-related 

statements and documents made or cited in Dr. Rubin’s Declaration in support of Apple’s 

Opposition, his deposition, and his Corrected Declaration. I have also conducted my own 

investigation and analysis of publicly available materials as well as documents and information 

 

149 See

https://developer.apple.com/documentation/security/certificate_key_and_trust_services/trust/creating_a_tr

ust_object?language=objc. 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 3 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

63 

produced by Apple, including Apple’s discovery responses related to performance issues.

I requested data and documents on performance testing that was conducted by Apple. My 

understanding is that Plaintiffs requested this type of information from Apple. I understand that 

Apple has produced some documents and data in response to the Plaintiffs’ requests.150

4.1 Hardware 

The putative class members’ phones, the iPhone 4 and 4s, were respectively about two and 

three years old when iOS 7 was first released with the iPhone 5c and 5s. The hardware for the 

iPhone 5c and 5s was more advanced than that of the iPhone 4 and 4s. iOS 7 was primarily 

designed for more advanced hardware than that featured in the iPhone 4 and 4s.151 Apple did not 

publicly announce details about the specifications of its devices’ processors or RAM. 152 

However, third parties have conducted testing and investigations to attempt to determine the 

iPhone’s processor speeds and RAM. Below is an excerpted and annotated table comparing 

reported hardware specifications across various iPhone models153:

 

150 I understand that Dr. Rubin also testified that he reviewed and analyzed performance data but was not 

sure if it was produced in this case. See Rubin Dep. Tr. at 197:1-200:21, 198:21-23. To the extent that

Dr. Rubin reviewed data that was not produced, I reserve the right to supplement and amend my report 

after the production of such data. 

151 See, e.g., https://www.apple.com/newsroom/2013/09/10Apple-Announces-iPhone-5s-The-MostForward-Thinking-Smartphone-in-the-World/ (“iPhone 5s comes with iOS 7, the most significant iOS 

update since the original iPhone, engineered for 64-bit technology and featuring hundreds of great new 

features, including Control Center, Notification Center, improved Multitasking, AirDrop®, enhanced 

Photos, Safari®, Siri® and iTunes Radio.”) (emphasis added); id. (“Apple also engineered iOS 7 and all

the built-in apps to maximize the performance of the A7 chip.”).

152 See, e.g., https://support.apple.com/kb/sp587?locale=en US (iPhone 4 specifications); 

https://www.apple.com/newsroom/2010/06/07Apple-Presents-iPhone-4/ (iPhone 4 press release); 

https://support.apple.com/kb/sp643?locale=en US (iPhone 4s specifications); 

https://www.apple.com/newsroom/2011/10/04Apple-Launches-iPhone-4S-iOS-5-iCloud/ (iPhone 4s 

press release); https://support.apple.com/kb/sp684?locale=en US (iPhone 5c specifications); 

https://www.apple.com/newsroom/2013/09/10Apple-Introduces-iPhone-5c-The-Most-Colorful-iPhoneYet/ (iPhone 5c press release); https://support.apple.com/kb/sp685?locale=en US (iPhone 5s 

specifications); https://www.apple.com/newsroom/2013/09/10Apple-Announces-iPhone-5s-The-MostForward-Thinking-Smartphone-in-the-World/ (iPhone 5s press release). 

153 See https://www.theverge.com/circuitbreaker/2017/6/28/15885636/iphone-10th-anniversary-hardwarespecifications-comparison-apple-ios (scrollable table excerpted and annotated); see also 

https://support.apple.com/en-us/HT201296. Other third-party sources reported substantially similar 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 4 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

64 

As shown in the highlighted cells in the table above, the iPhone 5c and 5s had double the 

amount of RAM in the iPhone 4 and 4s (512 MB v. 1 GB). The iPhone 5c and 5s processors were 

a little over one-and-a-half times faster than the processors in the iPhone 4 and 4s (800 MHz v. 1.3 

GHz). Moreover, the iPhone 4’s processor was a single-core processor while the other phones had 

dual-core processors. The batteries in the iPhone 5c and 5s also had slightly larger capacity than 

the batteries in the iPhone 4 and 4s. 

4.2 Release of iOS 7 – Performance Regression 

iOS 7 was released September 18, 2013 with the release of the iPhone 5c and 5s. There 

 

specifications. See, e.g., https://everymac.com/systems/apple/iphone/iphone-faq/iphone-processortypes.html; https://www.gsmarena.com/apple iphone 4-3275.php; 

https://www.gsmarena.com/apple iphone 4s-4212.php; https://www.gsmarena.com/apple iphone 5c5690.php; https://www.gsmarena.com/apple iphone 5s-5685.php; see also Rubin Decl. at ¶ 23, n.3 

(citing CNET article regarding similarly reported hardware specifications). As noted in some of these 

sources, while the iPhone 4 and 4s processors were rated as 1 GHz processors, they were “downclocked” 

to about 800 MHz. See, e.g., https://everymac.com/systems/apple/iphone/iphone-faq/iphone-processortypes.html. 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 5 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

65 

were subsequent releases on November 14, 2013 (iOS 7.0.4) and February 21, 2014 (iOS 7.0.6). 

Among other things, the iOS 7 user interface (“UI”) was significantly changed from iOS 6 and 

included substantially more animations.154 iPhone 4 and 4s users updating to iOS 7 experienced 

significant performance degradation and regressions on their devices. The performance 

regressions were measurable and substantial. Ars Technica, a technology-oriented online 

publication, performed timed application launch tests on an iPhone 4 running iOS 6.1.3 and an 

iPhone 4 running iOS 7.0 and reported the results depicted in the table below155: 

This is how Ars Technica described the process for the tests and measurements 156: 

 These types of performance regressions on iPhone 4 and iPhone 4s devices that were 

updated to iOS 7 were widely reported.157 The performance regressions were, in part, due to the 

 

154 See, e.g., https://www.engadget.com/2013/12/10/ios-6-vs-ios-7-icons-a-visual-comparison/; 

http://osxdaily.com/2013/06/11/ios-7-vs-ios-6-visual-comparison/. 155 See https://arstechnica.com/gadgets/2013/09/new-lease-on-life-or-death-sentence-ios-7-on-the-iphone4/.

156 See id. 

157 See, e.g., https://readwrite.com/2013/10/15/ios-7-fixes-iphone-4-4S/; 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 6 of 29
Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 7 of 29
Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 8 of 29
Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 9 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

69 

to downgrade, but it appears that as a matter of policy, Apple chooses not to allow iOS 

downgrades.162

User complaints about iOS 7 on Apple’s discussion forums did not go unnoticed by Apple. 

In fact, after iOS 7 was released, Apple tracked threads on its discussion forums, categorized the 

threads by issue, noted the status of the thread, and noted the number of replies. Email reports 

called “ reports were delivered to Apple personnel, including Patrick Gates and 

Dallas De Atley, with users’ complaints and feedback regarding iOS 7’s performance.163 The 

issues in these reports were “arranged by their level of activity and perceived urgency.”164 The 

types of categories included issues such as the following: battery life issues, delayed keyboard 

input, UI bugs, slow or unresponsive performance, not being able to send messages, 

unresponsiveness after entering passcode, user discomfort, wallpaper not being full screen, devices 

intermittently not responding, low ringtone volume, background issues, device warming, messages 

 

162 For example, in January 2018, Apple’s servers briefly provided older versions of iOS, all the way 

down to versions of iOS 6, allowing users to downgrade. See, e.g., 

https://appleinsider.com/articles/18/01/11/apple-servers-briefly-enabled-signing-of-older-ios-firmwaresallowing-users-to-downgrade-to-earlier-versions; https://wccftech.com/apple-starts-signing-firmwareway-back-ios-6-downgrade-now-want-jailbreak/; 

https://www.reddit.com/r/jailbreak/comments/7qe81d/question why is ios 613 for 4s still being sign

ed/; http://www.iclarified.com/64117/apple-is-currently-signing-various-ios-6-to-ios-10-firmwareversions-downgrades-possible; http://wololo.net/2018/01/12/apples-big-signing-screw-allowed-usersdowngrade-versions-ios-old-ios-6/; https://9to5mac.com/2018/01/10/users-able-downgrade-from-ios-11/; 

https://www.macrumors.com/2018/01/11/apple-accidentally-signed-old-ios-versions/; 

https://forums.macrumors.com/threads/ios-6-1-3-still-signed-by-apple.2100595/. 163 See, e.g., APL-GRACE_00006769; APL-GRACE_00006779; APL-GRACE_00006789; APLGRACE_00006799; APL-GRACE_00006811; APL-GRACE_00006822; APL-GRACE_00006909; 

APL-GRACE_00006920; APL-GRACE_00006950; APL-GRACE_00007019; APL-GRACE_00007034; 

APL-GRACE_00007065; APL-GRACE_00007080; APL-GRACE_00007105; APL-GRACE_00007121; 

APL-GRACE_00007139; APL-GRACE_00007155; APL-GRACE_00007226; APL-GRACE_00007243; 

APL-GRACE_00008284; APL-GRACE_00011764; APL-GRACE_00011774; APL-GRACE_00011784; 

APL-GRACE_00011794; APL-GRACE_00011836; APL-GRACE_00011890; APL-GRACE_00011933; 

APL-GRACE_00011945; APL-GRACE_00011960; APL-GRACE_00012026; APL-GRACE_00012068; 

APL-GRACE_00012151; APL-GRACE_00013393; APL-GRACE_00165087; APL-GRACE_00165105; 

APL-GRACE_00165145. 

164 See, e.g., APL-GRACE_00007105. 

“ 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 10 of 29
Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 11 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

71 

4.3 Release of iOS 7.1 – Some Improvement, But Performance Still a Problem 

iOS 7.1 was first released on March 10, 2014, with subsequent updates on April 22, 2014 

(iOS 7.1.1) and June 30, 2014 (iOS 7.1.2). In developing iOS 7.1 (“Sochi”), Apple targeted 

performance improvements, particularly for older devices like the iPhone 4 and 4s.171 However, 

even after the release of iOS 7.1, iPhone 4 and iPhone 4s users still experienced performance 

regressions as compared to iOS 6.1. After the release of iOS 7.1, Ars Technica again measured 

application launch times for an iPhone 4 running iOS 6.1.3 and an iPhone 4 running iOS 7.1 and 

reported the results depicted in the table below172: 

The results were measured using the same method described above for iOS 7.0.173 As the table 

shows, while the performance for iOS 7.1 improved as compared to iOS 7.0, for seven of the eight 

tests, the performance of iOS 7.1 was still worse than that of iOS 6.1.3.174 As with the release of 

iOS 7.0, the performance regressions affecting iPhone 4 and 4s users were widely reported.175 

 

171 See, e.g., https://support.apple.com/kb/dl1732?locale=en US (“Improved performance for iPhone 4”); 

APL-GRACE_00035270 (email report tracking attempted fixes for performance regressions in iOS 7.1 

development builds and comparing performance against iOS 6.1); APL-GRACE_00035928 (same); APLGRACE_00169822 (same); see also APL-GRACE_00054711 (email titled “Sochi Performance Exec 

Review” from Ms. Ulrich on 09/05/2013 regarding specific performance regressions in iOS 7.0 that were 

targeted to be fixed in iOS 7.1); Rubin Decl. at ¶ 31. 

172 See https://arstechnica.com/gadgets/2014/03/ios-7-1-on-the-iphone-4-as-good-as-its-going-to-get/; see 

also https://mashable.com/2014/03/11/ios-7-1-iphone-4/#yn27Xw2kwiqG (reporting on Ars Technica 

testing); https://www.macrumors.com/2014/03/10/ios71-makes-iphone4-snappier/ (reporting on Ars 

Technica testing). 

173 See https://arstechnica.com/gadgets/2014/03/ios-7-1-on-the-iphone-4-as-good-as-its-going-to-get/. 174 See id. 175 See, e.g., https://forums.imore.com/general-apple-news-discussion/325826-iphone-4-ios-7-1-2-veryCase 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 12 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

72 

Furthermore, iPhone 4 and 4s users complained and sought help and advice about iOS 7.1’s 

performance regressions on their devices on Apple’s own discussions forums.176 Additionally, 

some customers sent complaints directly to Apple about iOS 7’s widely-reported performance 

regressions.177 

4.4 Importance of Performance 

From the perspective of interactive software design and implementation on mobile devices, 

software applications should be responsive to user interaction (without substantial delay) and use 

system resources (including the battery) efficiently so that they do not adversely affect their own 

performance as well as the performance of other applications or the device itself. These are the 

types of principles that I teach my students in my courses. Apple also acknowledges the 

importance of performance. In its annual WWDC conferences for iOS app developers, Apple 

engineers regularly emphasize the importance of performance and its effects on user devices and 

user experiences. 

For example, in a 2011 panel about improving iOS app responsiveness and performance, 

an Apple engineer state the following178: 

First, we’re going to talk about first launch. It’s that most critical 

 

slow-keep-rebooting.html; https://www.quora.com/Ive-an-iPhone-4-which-runs-on-iOS-7-1-2-It-lagswhile-scrolling-down-in-certain-apps-like-Safari-Quora-Facebook-etc-Is-there-any-way-to-fix-this-lag; 

https://forum.unity.com/threads/ios-7-1-2-very-slow.368379/; https://community.spotify.com/t5/iOSiPhone-iPad/iPhone-4-version-7-1-2-PAINFULLY-slow-with-Spotify-APP-Help/td-p/1190050; see also 

https://forum.unity.com/threads/ios-7-1-iphone-4-incredibly-slow-startup-affects-games-in-store-anddevelopment.232914/ (noting that “the iPhone 4 is still a very active device for the apps I’ve put out”).

176 See, e.g., https://discussions.apple.com/thread/6464105 (iOS 7.1.2 on iPhone 4); 

https://discussions.apple.com/thread/7020232 (iOS 7.1.2 on iPhone 4); 

https://discussions.apple.com/thread/5987697 (iOS 7.1 on iPhone 4); 

https://discussions.apple.com/thread/6073451 (iOS 7.1 on iPhone 4s); 

https://discussions.apple.com/thread/6622377 (iOS 7.1.2 on iPhone 4); 

https://discussions.apple.com/thread/6480063 (iOS 7.1.x on iPhone 4); 

https://discussions.apple.com/thread/6368399 (iOS 7.1.1 on iPhone 4); 

https://discussions.apple.com/thread/6652694 (asking whether to update to iOS 7.1.2 on iPhone 4). 

177 See, e.g., APL-GRACE_00000996 (customer complaining to investor relations about the FaceTime 

break and that an upgrade to iOS 7 on her iPhone 4 was not an option because of performance issues). 

178See https://developer.apple.com/videos/play/wwdc2011/105/. 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 13 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

73 

time of your application. It’s your application’s first dance with 

your user. It’s going to color her experience with your application 

for the rest of the time that she uses your app. It’s also going to affect 

her estimation of your skills as an application developer. Next, we’re 

going to talk about workflow. Workflow is what happens during that 

10 to 15 critical seconds where the user has removed the device from 

his or her pocket, launched your app, and begun to complete a task. 

From there, we’re going to move in to a discussion about 

responsiveness applications, especially on the iOS platform or any 

embedded platform, need to stay responsive. It's critically important 

especially on a mobile device and especially on iOS. And finally, 

we’re going to discuss something which is often overlooked by 

people, but you have to sweat the small stuff. You have to consider 

the details. The details are a collection of principles, thoughts, and 

ideas that, correctly addressed by the application developer, will 

take your application from being something that people merely use 

to something that they love, something that they want to tell their 

friends about, something that they’ll want to tweet about, something 

that they’ll want to rate with 5 stars on the App Store. 

*** 

So, first launch, as I already said, it’s the most critical time. It’s your 

first interaction with your user. So, you have to really make it count. 

And the first thing that the user is going to see after your beautifully 

rendered application icon is the launch image. You can see here on 

the left we have the launch image for the maps application. You'll 

notice that there is a segmented control at the bottom as well as two 

buttons. What you won’t see here is you won’t see text because this 

resource is not localized. You won’t see a splash screen, even though 

it would be nice to call attention out to your company or to yourself. 

If you’ve done everything right and your application loads quickly, 

the users only going to see the splash screen or the launch image for 

just mere seconds. What the launch screen is there for is to provide 

something for us to progressively build your user interface into what 

keeps her from being a jarring transition from that first launch and 

springboard to when your app is up running, responsive, and ready 

for input. 

*** 

So, to illustrate this point, I developed an application, my nib tester, 

and it uses one giant NIB. Let’s watch it launch. Wait, wait, it’s 

coming. Oh, there it is. And finally, it’s responsive. You see it took 

a while. It took a while to become responsive and ready for user 

input. This isn’t good. I have one giant nib in here with a UI tab 

controller and three UI controllers embedded into it. When I took 

this application and refactored it into 3 nibs with their associated 

view controllers, I was able to realize a forty four percent savings in 

CPU use cycles required to load my app. Now, not only does this

translate into wall clock savings for you. It also translates into 

energy savings for your user. And that’s really important on a 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 14 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

74 

device, which is mobile, like the iPhone or the iPad. And when you 

consider it like this: Why should the user have to pay the energy cost 

and the time costs to load your entire application when they may 

only be using a small slice of it to complete her workflow? 

*** 

So, your app is up, you’ve loaded your UI, and we’re going to talk 

about workflow. Consider that most of your users may be at the 

soccer field watching their son or daughter play soccer, and they 

might just have a couple of minutes to pull out their phone and check 

their Twitter feed before a big play happens, or they’re in the grocery 

line, and they’re about to check out. They generally have between 

10 to 15 seconds to accomplish whatever goal they set out to 

accomplish when they started your app. So, workflow and a 

consideration of workflow is very important to creating a responsive 

and performant iOS app. 

*** 

Moving on, we’re going to chat about responsiveness. It’s difficult 

to maintain a good workflow if your application is not responsive. 

If it hangs, if it sort of jutters when you scroll, these are all things, 

which you want to avoid. And the reason why you want to avoid 

them is not only for the reason of being in service of workflow. You 

want to preserve the illusion that goes with an iOS app. iOS apps 

have been, and iOS itself and the iPhone, have been described, and 

not just by Apple, as magical devices, and they are magical because 

there is this illusion to the user that she is working directly with 

elements inside of your application. She’s not interfacing with 

software; she’s not interfacing with the device; they’re interfacing 

directly with items. And when your app is unresponsive, when it

doesn’t load quickly, when it throws up an alert, you degrade this 

illusion to the point that it may not exist anymore. 

Relatedly to the point about responsiveness creating an illusion of direct interaction, 

Apple’s Human Interface Guidelines describe direct manipulation of onscreen content179: 

 

179 See https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/.

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 15 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

75 

As another example of Apple engineers emphasizing the importance of performance, in 

2015 on a panel about performance, an Apple engineer stated the following180: 

So why should you think about performance? The easiest way to 

sum it up is that performance is a feature. It’s a core and central 

element of giving your users a great experience in your app. It’s not 

an extra or a bonus or something you can get to at the end if you 

have time. It’s actually something that should be on your mind all 

the time while you are writing your app. There’s a couple of reasons 

for that. If your app is really responsive, if it always responds to user 

input right away, that actually builds the trust of your users. That 

lets them know that if they quickly need to access a piece of 

information or service some interaction in your app, it’s not going 

to keep them waiting, and that makes them really happy and keeps 

them coming back. 

*** 

Apps that are architected to be efficient with system resources, like 

CPU or memory, don’t just feel great when you are using them; they 

actually save battery power and let your user get through their day, 

and they really appreciate that. 

*** 

So wrapping up, performance is a feature. It’s an essential aspect of 

giving your users a great experience in your apps. And it should be 

on your mind from day one when you are building your apps. 

Efficient apps feel great when you are using them, they build your 

users’ trust, and they save battery power. 

As another example, in 2016, in a panel on optimizing application inputs and outputs 

(“I/O”), an Apple engineer stated the following about the importance of efficiency as the data 

being handled by devices becomes richer and larger: “Now to manage this data explosion, apps 

 

180 See https://developer.apple.com/videos/play/wwdc2015/230/. 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 16 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

76 

need to be really efficient in their system resource usage, and the main system resources are CPU, 

memory, and I/O.”181 At a different panel in 2016 on optimizing application startup times, an 

Apple engineer stated the following: “We’ve all had that experience where we pull our phone out 

of our pocket, press the home button, and then tap on an application we want to run. And then tap, 

and tap, and tap again on some button because it’s not responding. When that happens to me, it’s 

really frustrating, and I want to delete the app.”182 

At yet another panel in 2016 on using profiling instruments to measure performance, an 

Apple engineer stated the following183: 

And then we’re going to show an example of making an application 

go faster and do less. And then finally, ensuring we have really great 

user responses in our application. But before we do that, let’s talk 

about why we want to do this. And the reason we’re doing this is 

because we want to provide a great user experience. We want our

users to love using our applications. We want them to love our user 

applications because they’re fast. Cheetah fast. So it saves them time 

and they can get more done. We want to make sure our users have

all-day battery life. So that they’re able to use their devices 

throughout the day. And you don’t want to be that application that’s 

at the top of the battery usage chart. And finally, we want to make 

sure we have smooth scrolling, and a really responsive UI in our 

applications, so users love using it. 

As another example, in 2018, in a panel on practical approaches for having great 

application performance, Apple engineers stated the following184: 

Now, you may also experience something like this, where we are 

showing a lot of placeholders, and that’s really not great. Maybe 

you’re soft scrolling, you’ll be lost in this gray area, the [images] 

would start to load, but then you’ll keep scrolling and then you’ll 

experience some frame drops because the views are being updated. 

Well, our goal is to not show views like this. 

*** 

Now, when you work on an app, you want to make sure that it’s 

responsive, and usable at once. You also want to make sure that the 

 

181 See https://developer.apple.com/videos/play/wwdc2016/719. 182 See https://developer.apple.com/videos/play/wwdc2016/406. 183 See https://developer.apple.com/videos/play/wwdc2016/418/. 184 See https://developer.apple.com/videos/play/wwdc2018/407. 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 17 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

77 

animations are smooth. And these two attributes are really crucial to 

providing a great user experience. 

*** 

Lastly, you should always think about performance. At Photos, we 

care deeply about it, and this is really part of our daily job.

At that 2018 panel, the Apple engineer showed the slide below as an example of a scenario that 

the Photos team strives to avoid showing users185: 

The Apple engineer also showed the slide below to describe Apple’s goals when the Photos app 

launched to the Moments screen, noting that they tried to achieve an instant startup with no 

spinners or placeholders186: 

 

185 See https://devstreamingcdn.apple.com/videos/wwdc/2018/407akll3nbwls9yn4qt/407/407 practical approaches to great app pe

rformance.pdf?dl=1 at slide 26. 

186 See https://devstreamingcdn.apple.com/videos/wwdc/2018/407akll3nbwls9yn4qt/407/407 practical approaches to great app pe

rformance.pdf?dl=1 at slide 43. 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 18 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

78 

 Furthermore, Apple acknowledges the importance of software being well-designed to 

operate on all supported devices, including the slowest devices or the devices with the oldest 

hardware. In a 2016 WWDC panel, an Apple engineer stated the following: “Finally, it’s very 

important to test on your slowest supported device. So those timers are constant values across all 

supported devices on our platforms. So, if you hit 400 milliseconds on a iPhone 6S that you’re 

using for testing right now, you’re probably just barely hitting it, you’re probably not going to hit 

it on a iPhone 5.”187 Similarly, in a 2015 WWDC panel, an Apple engineer stated the following: 

“So your goal for any responsiveness scenario should be 100 milliseconds. By the way, you want 

to think about reaching these performance goals on the oldest hardware you intend to support. If 

you are targeting iOS 9, that might be the original iPad mini, the iPhone 4s, or even the iPad 2. If 

you’ve already got one of those -- or rather, if you’ve still got one of those -- please keep it, 

continue to use it, continue testing on it.”188 In that same 2015 panel, the slide below was shown 

regarding performance on older devices189: 

 

187 See https://developer.apple.com/videos/play/wwdc2016/406. 188 See https://developer.apple.com/videos/play/wwdc2015/230/. 189 See https://devstreamingcdn.apple.com/videos/wwdc/2015/230wt8hs0wt8/230/230 performance on ios and watchos.pdf?dl=1

at slide 49. 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 19 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

79 

Similar to the Apple engineers’ guidance at WWDC, Apple’s App Store Review 

Guidelines also instruct developers to design efficiently performing applications 190: 

Apple’s Human Interface Guidelines also acknowledge that frozen apps, or the 

perception of frozen apps, can cause confusion and frustration191: 

These performance considerations have a heightened significance when it comes to 

Apple’s iOS software. Third-party apps can be deleted if they become too buggy. iOS is the entire 

operating system platform on which the device runs. Additionally, Apple’s native iOS apps (some 

of which are not removable) include key and primary functions and features marketed by Apple. 

 

190 See https://developer.apple.com/app-store/review/guidelines/. 

191 See https://developer.apple.com/design/human-interface-guidelines/ios/app-architecture/loading/. 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 20 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

80 

As Apple tells iOS app developers, software developers, engineers, and architects, they must 

“[a]lways think about performance”192: 

 Apple recognizes that small changes in performance can be perceptible to users, affect their 

experience, and influence their behavior, and accordingly, that software must perform well and 

respond quickly to users. For example, an Apple engineer has told iOS app developers that as a 

good rule of thumb 400 ms is a good launch time because that lets the app launch time hide in the 

launch animations from the home screen to the application: 

So, let’s discuss the goals, how fast we want to launch. Well, the 

launch time for various platforms are different. But, a good, a good 

rule of thumb, is 400 milliseconds is a good launch time. Now, the 

reason for that is that we have launch animations on the phone to 

give a sense of continuity between the home screen and your 

application, when you see it execute. And those animations take

time, and those animations, give you a chance to hide your launch 

times.193 

Another Apple engineer has stated that the lowest recommendation for apps is a launch between 

500 ms and 600 ms, which is about the same time as the zoom animation from the home screen: 

Now, what do we mean by instant? Well, the time it takes to launch 

 

192 See https://devstreamingcdn.apple.com/videos/wwdc/2018/407akll3nbwls9yn4qt/407/407 practical approaches to great app pe

rformance.pdf?dl=1 at slide 141. 

193 See https://developer.apple.com/videos/play/wwdc2016/406. 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 21 of 29
Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 22 of 29
Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 23 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

83 

 This is consistent with my experience as well. Small, incremental regressions and 

improvements in software design are important and should be considered because during normal 

use, these incremental changes accumulate and either improve or degrade the user experience.205 

4.5 Apple’s Produced Performance Data

I understand that the Plaintiffs served Apple an interrogatory requesting all iOS 7-related 

performance testing information.206 I understand that Apple’s most recent response cites to the 

documents APL-GRACE_00169901 to APL-GRACE_00169913. 207 I have reviewed the 

interrogatory, Apple’s response, and the cited documents. Apple’s response did not provide any 

narrative explanation of the documents or their contents. I refer to these documents in this section 

as “Apple’s Performance Data.”

The Apple Performance Data features eleven columns and appears to provide 

measurements of various benchmark tests for five iOS versions on the iPhone 4 (“N90”) and the 

same five iOS versions on the iPhone 4s (“N94”). The five iOS versions appear to be iOS 6.1.3, 

three iOS 7.0.x releases, and iOS 7.1.1. Because Apple did not provide a narrative explanation of 

the Apple Performance Data, there is a variety of information about it that I do not know, including 

the following: what apps were on the devices tested; who conducted the tests; what was the 

methodology, tool, instrument, or program to conduct the test and take the measurements; where 

the data was stored after it was initially measured; how the data was extracted from wherever it 

was initially stored; what exactly the benchmarks are testing (aside from educated deductions 

 

205 See also https://developer.apple.com/videos/play/wwdc2018/407 (“It’s not every day that you’re going 

to go into the trace, and find something so obvious and easy to fix, that is responsible for 50% of the 

sample. Right? In fact, there is not going to be any other huge lead sitting there waiting for me. Instead, 

what I’m going to need to do is go through that whole sample, with those course filters applied, so I’m 

only looking at operations that take about 1% of the time or more, and I’m going to look for every single 

thing that I see that I think I can come up with some mechanism for making a little bit faster.”).

206 See Plaintiff’s Interrogatory No. 14. 

207 See Apple’s Second Supplemental Response to Plaintiffs’ Second Set of Interrogatories as to 

Interrogatory No. 14 (dated 05/31/2018). 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 24 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

84 

based on the test names, my experience, some of Apple’s public statements, and some of Apple’s 

other produced documents); what significance Apple places on various benchmarks (aside from 

educated deductions based on my experience, some of Apple’s public statements, and some of 

Apple’s other produced documents); the condition of each device tested; whether a single device 

(e.g., one N90) had multiple iOS versions loaded or whether different devices (e.g., five N90s) had 

the different iOS versions loaded; or what storage capacities were on the devices tested. This is 

not an exhaustive list of missing information. I also have not been provided with the actual devices 

to further inspect, analyze, or test. I also have not been provided with what I assume was Apple’s 

internal database or internal testing platform. I note that the spreadsheet contained almost 50,000 

rows for different benchmark tests. I note that there were over 1,250 benchmark tests with names 

that related to FaceTime, but that no measurements of FaceTime-related tests were included for 

iOS 6.1.3 on either the iPhone 4 or iPhone 4s. If Apple provides any of this information or access 

later, I reserve the right to supplement and amend my Report. 

4.6 Analysis of the Apple Performance Data 

I analyzed the Apple Performance Data. This data further confirms the performance 

regressions and degradations experienced by iPhone 4 and 4s users that upgraded to iOS 7 and iOS 

7.1 as compared to iOS 6.1. These performance regressions and degradations spanned a variety 

of performance metrics (e.g., time-based performance, size/memory-based performance, app 

launches, app exits, number of system calls, number of messages sent, number of page faults, CPU 

usage, etc.).208 I provide some additional detail below. However, because iOS 7.1 was released 

at the time of the FaceTime Break in April 2014, iPhone 4 and 4s users, who had not already 

upgraded to iOS 7, would have only been able to upgrade to iOS 7.1. In other words, the choice 

 

208 See generally APL-GRACE_00169903 (comparing BrightonMaps to Innsbruck, InnsbruckTaos, and 

Sochi performance for N90 and N94). 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 25 of 29
1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

85 

presented to putative class members was whether to upgrade from iOS 6 or earlier to iOS 7.1. 

Thus, the additional detail provided focuses on iOS 6.1.3 and iOS 7.1.1. 

I prepared Excel spreadsheets and pdfs based on the data in APL-GRACE_00169903 to 

provide my additional detail. I have attached these spreadsheets and pdfs as exhibits to my 

report.209 To generate the first two spreadsheets, I started with APL-GRACE_00169903. In one 

spreadsheet, I included the data related to the iPhone 4 / N90 for iOS versions BrightonMaps / iOS 

6.1.3 and Sochi / iOS 7.1 (Exhibit 2). In the other spreadsheet, I included the data related to the 

iPhone 4s / N94 for iOS versions BrightonMaps / iOS 6.1.3 and Sochi / iOS 7.1 (Exhibit 3). For 

any given benchmark test (i.e., row) that did not have a value in either the BrightonMaps or Sochi 

columns, I deleted that row because there was no basis to compare the two versions. Because the 

BrightonMaps and Sochi columns included both numeric values and units, I split those into two 

columns, one for value and one for units. With one exception, I deleted any rows in which the 

units did not match because there would be no basis for comparison; the exception to this rule was 

when the units were different units of time (e.g., minutes and seconds), in which case, I retained 

the row and converted to units of seconds. 

For each row in the spreadsheet, I created a column of the difference between the Sochi 

result and the BrightonMaps result. I also created a column of the percentage change from the 

BrightonMaps result to Sochi result relative to the BrightonMaps result; in this column, if both 

results were 0, I left the relative change at 0, but if only the BrightonMaps result was 0, I noted 

this with “change from zero.”

The resulting spreadsheets have entries from many different benchmark tests. Many of 

 

209 Exhibit 2 is an Excel file for the iPhone 4 / N90. Exhibit 3 is an Excel file for the iPhone 4s / 

N94. Exhibit 4 is an Excel file for page load times for the iPhone 4 / N90 and iPhonne 4s / N94. 

Exhibit 2-1 is a pdf file of tabs from the Exhibit 2 Excel file. Exhibit 3-1 is a pdf file of tabs from 

the Exhibit 3 Excel file. Exhibit 4-1 is a pdf file of tabs from the Exhibit 4 Excel file. 

Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 26 of 29
Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 27 of 29
Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 28 of 29
Case 5:17-cv-00551-LHK Document 285-21 Filed 10/18/18 Page 29 of 29