Perfect Company v. Adaptics Limited

Western District of Washington, wawd-3:2014-cv-05976

DECLARATION of David Howell filed by Plaintiff Perfect Company re {{252}} MOTION to Compel

Interested in this case?

Current View

Full Text

4 1 2 THE HONORABLE RONALD B. LEIGHTON 3 4 5 6 7 8 UNITED STATES DISTRICT COURT 9 WESTERN DISTRICT OF WASHINGTON 10 11 PERFECT COMPANY No. 3:14-cv-05976-RBL 12 Plaintiff, (Consolidated with 3:17-cv-05922-RBL) v. 13 DECLARATION OF DAVID S. HOWELL ADAPTICS LIMITED, and 14 Defendants. 15 16 I, DAVID S. HOWELL, having personal knowledge declare as follows: 17 1. I am engaged as an expert by Perfect Company in connection with the 18 captioned proceeding to provide my analyses and opinions on certain technical aspects of this 19 dispute, including my opinion on infringement of certain claim terms of U.S. Patent No. 20 8,829,365 B2 (hereinafter "the '365 Patent") and U.S. Patent 9,772,217 B2 (hereinafter "the 21 22 '217 Patent") by Adaptics Limited ("Adaptics"). 23 2. I have submitted an expert report in this case which details my background 24 and curriculum vitae, which I am informed is located at Dkt 142-4. 25 3. This declaration includes the following sections: 26 First Source Code Inspection through v. 1.10.0 vs. Dr. Direen's Access 2 Software Development Notes and "Commits" 8 27 Apple App Store Servers 9 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 1 4 1 2 First Source Code Inspection through v. 1.10.0 vs. Dr. Direen's Access 3 4. Over seven (7) days between August 16, 2017 and November 16, 2017, I 4 5 inspected and reviewed the Source Code for the Drop Kitchen Recipe Application, including 6 versions 1.3.0 through 1.10.0, as well as one version (the only version provided to me) of the 7 Firmware for the Drop Scale. 8 5. Adaptics made my review and inspection unnecessarily long and, in 9 comparison to Adaptics expert, Dr. Direen, unnecessarily limited. 10 6. Due to the security controls required by Defendants, I performed my 11 inspection on a laptop computer (the "Inspection Laptop") provided by Defendants' counsel, 12 Todd Kennedy, in an office space rented temporarily for this purpose. Defendants did not 13 permit me to bring my own computer into the room, and I was not permitted to install any 14 software onto the Inspection Laptop, and Defendants did not permit me to copy or transfer of 15 16 electronic files from the Inspection Laptop onto another device. During the inspection, I 17 maintained a text file on the Inspection Laptop of my notes, and cut-and-pasted exemplary 18 portions of code for printing later. After I concluded my inspection, Defendants' counsel, 19 Todd Kennedy, delivered paper copies of my notes and the exemplary portions of code that 20 I copied with my notes. These were provided to me as Bates numbered documents. 21 7. Defendant provided Drop App Versions in different states of completeness. I 22 discovered that there appeared to be missing source files and corrupted project files. In some 23 Versions, the main App project was corrupted and therefore not fully reviewable. The only 24 Versions which were complete, readable, and uncorrupted were: Version 1.3.3, Version 1.9.0, 25 and Version 1.10.0. 26 8. Defendant did not produce the source code files from Drop Kitchen – Recipe 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 2 4 1 2 App Versions 1.4.0, 1.5.2-1.5.4 or 1.9.1 for inspection. 3 9. As I understand it, Plaintiff requested all versions of the Drop Scale firmware. 4 5 Defendant's counsel provided to me a copy of a single version of the Drop Scale's firmware 6 source code, with no associated Version number. It makes sense that there might be more 7 versions of the software than of the firmware, as the versions of the Drop Scale (and its 8 firmware) and the Drop App are not synchronized. 9 10. I was unable to actually run any prior Versions of the Drop App on an iPad or 10 iPhone or in the iOS simulator, because (1) the source code was not complete enough to build, 11 (2) different Versions of the source code require different versions of the Xcode IDE, but we 12 were only provided one version of the Xcode IDE on the Inspection Laptop, and (3) old 13 versions of Apps cannot be downloaded from the iOS App Store — only the most recent 14 compatible version can be downloaded. So my analysis was limited to relying on the videos 15 16 and explanations and source code to understand the design and features of the older Versions 17 of the Drop App. 18 11. In addition, the Inspection Laptop allowed only a limited selection of Apps to 19 run, including Finder and the Xcode Integrated Development Environment (IDE) but not 20 including such essential development tools as Terminal or a web browser. That meant that I 21 was unable to look up documentation for open-source libraries included in the Drop App 22 project. Access to documentation is fairly essential to understanding any software project. 23 This impeded my review and analysis. 24 12. The provided versions of the Drop App source code could not be compiled 25 and built by the provided version of the Xcode IDE. That means that I was unable to build 26 the Drop App and execute it in a debugger. A debugger is an important tool for exploring and 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 3 4 1 2 understanding source code. The debugger allows one to apply breakpoints, that is, to stop the 3 running code during interesting functions, such as the code that is invoked when the user 4 5 clicks a certain button. Without a debugger, it is still possible to find the code in question, 6 but much is left to inference and to painstaking "brute-force" code scrutiny, which is tedious, 7 time consuming, and less reliable than using breakpoints. This added a substantial amount of 8 time and effort to the inspection, which could have been avoided. 9 13. Since I was not permitted to bring my own laptop into the Inspection Lab and 10 was not able to take copies of source code snippets or typed notes from the lab, I had to create 11 and save text files and screenshots on the Inspection Laptop. At the end of the inspection 12 process, Opposing Counsel then Bates-stamped and printed my screenshots and the text files 13 containing source code snippets and my notes. This too introduced substantial inefficiency to 14 the inspection process. It meant that I could not write up a report as I went along. Instead I 15 16 needed to wait for the printouts to be delivered before I could begin writing the report. 17 14. Because the printed, Bates-stamped pages were provided by Opposing 18 Counsel, I am unable to definitively verify that all text was provided intact, although I am 19 not aware of any missing notes or source code snippets. 20 15. The source code inspection could have been much simpler and more precise. 21 I could have been provided just a few versions of the Drop App source code. Each version 22 would have been provided complete and intact, and each would compile and run with 23 provided versions of the Xcode IDE. I would have been free to inspect and test the source 24 code in my own development environment rather than on a feature-limited computer 25 provided by defendant's attorney. If that were not possible, I would have been provided an 26 iPad connected to a Drop Scale, allowing me to build and run the App on the iPad, and to put 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 4 4 1 2 the system intentionally into desired states, such as the condition whereby a target weight 3 threshold is exceeded and the App responds by automatically progressing to the next recipe 4 5 block. I would have had access to the Internet, which would have allowed me to learn about 6 the various incorporated open-source libraries during the source code inspection rather than 7 offline. I would have been able to save source snippets and notes, so that I could write the 8 report iteratively with feedback from counsel about readability by lay persons, about clarity, 9 completeness, and formatting. I would have been provided internal source code 10 documentation, as well as documentation detailing how to flash the firmware to the Drop 11 Scale. 12 16. I was present during Dr. Direen's deposition on February 27, 2018 and I 13 reviewed his expert report. 14 17. At the deposition of Dr. Direen, he confirmed that he was provided greater 15 16 access to Adaptics' source code and products than I was. 17 18. The preparation of my expert report was hampered by the unwieldy 18 procedures imposed by Adaptics. I was given only minimal access to the Adaptics Drop Scale 19 Firmware, whereas Dr. Direen was given significant freedom and unsupervised access. 20 19. Adaptics provided me a copy of a single version of the Drop Scale Firmware: 21 version 2.0, on a Mac computer that was restricted by Adaptics' counsel to running only a 22 few software inspection tools: Finder, Xcode, and TextEdit. Because the web browser was 23 disabled, I was unable to read technical documents about the processor for which the 24 microprocessor was written, which severely limited my ability to inspect the Firmware source 25 code. In addition, I was not provided any information about the Drop Scale hardware and 26 chipsets that would have facilitated my inspection of the Firmware, while Dr. Direen was 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 5 4 1 2 given a schematic and bill of materials that I did not receive. 3 20. Having access to only a copy of a single Firmware version from December 4 5 2014, which was not the one that runs now on Drop Scales, created difficulties. A contested 6 issue pertaining to whether or not the Drop Scale is capable of receiving real-time information 7 from a scale is that the Drop scale implements a "slow mode" and a "fast mode." Basically, 8 the scale operates in slow mode, which provides a steady signal but poor responsiveness, 9 when the measured weight is not actively changing. When the weight begins to change, the 10 scale transitions into fast mode. This yields good real-time response when that is needed: 11 when pouring an ingredient without exceeding a target weight. In Adaptics' supplemental 12 responses to interrogatories on January 5, 2018, provided about eight months after I filed my 13 initial Expert Report, I learned that Adaptics changed the implementation of the transitions 14 between slow and fast modes, which may explain some observations I made of how the real- 15 16 time feedback loop seems to go very slowly when I first start pouring an ingredient, and then 17 speeds up to become quite responsive almost immediately. Version 2.0 of the Firmware 18 performed this transition in one way, but the current version that is actually running on the 19 Drop Scale I was able to obtain does it the newer way. 20 21. In contrast, according to Dr. Direen's testimony at deposition, he was given 21 multiple versions of the Drop Scale Firmware, on an unrestricted PC running Windows, along 22 with software tools and interface hardware for compiling the Firmware, installing the 23 compiled Firmware on a Drop Scale, and executing performance tests on the Drop Scale 24 using each Firmware version. Importantly, he testified in his February 27, 2018 deposition 25 that he did indeed observe timing differences between the different Firmware versions. 26 22. My limited access to the versions of the Firmware, to chipset documentation, 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 6 4 1 2 to tools for testing the Firmware on an actual Drop Scale, to hardware schematics, and to bill 3 of materials all made my Firmware analysis very difficult. 4 5 23. Regarding the Drop Kitchen App mobile application, some of the versions I 6 was given were corrupted or incomplete, and I was unable to run the App in the debugger or 7 on a mobile device. But it appears that my inspection was much more thorough than Dr. 8 Direen's description of his own inspection. I was able to view all of the provided Drop 9 Kitchen App source code in Xcode (Apple's integrated development environment for 10 developing iOS applications). I note, however, that Dr. Direen reports that he only used text 11 viewers on a Windows PC, which would facilitate a much more limited inspection. Virtually 12 all of the user interface of the Drop Kitchen App is implemented in "Nib files." These are 13 resource files that are unreadable in any environment besides Xcode. Xcode includes a 14 graphical tool called Interface Builder, which allows developers to graphically view and edit 15 16 user interface layouts. Without Interface Builder, a deep understanding of the Drop Kitchen 17 App's implementation is just not feasible. 18 24. This limitation is critical because many of the '365 patent claims infringed by 19 the Drop mobile application are interface inventions whose implementation cannot be well 20 understood by looking only at the human-readable text-only source files, without Xcode's 21 Interface Builder viewer. 22 25. The table below summarizes the differences in access between what I received 23 and what Dr. Direen received: 24 Howell Direen 25 • Was given App version in varying degrees • Was given multiple versions of the of completeness through version 1.10, some Drop Scale Firmware 26 versions were corrupted or incomplete, and • Allowed an unrestricted PC running he was precluded from running the App in a Windows, with no limitations on 27 debugger or on a mobile device availability 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 7 4 1 2 • Was restricted to Mr. Kennedy's Mac • Was given hardware schematic and bill 3 laptop, and only allowed when Mr. Kennedy of materials was available • Allowed software tools and interface 4 • Mac had few tools: Finder, Xcode, TextEdit hardware for • Was not allowed tools for compiling the • compiling the Firmware, 5 firmware, installing the compiled firmware • installing the compiled Firmware on on a Drop Scale, or executing performance a Drop Scale, and 6 tests on the Drop Scale using each firmware • executing performance tests on the version Drop Scale using each Firmware 7 • The Web browser was disabled—precluding version. reading online technical documents about • Had no limitations on his access to 8 the microprocessor for which the firmware the Internet or other materials during was written analysis 9 • Was not provided information on hardware 10 and chipsets • Was given single version of Firmware from 11 December 2014, which was not the one that runs now on Drop Scales, and this created 12 difficulties. 13 Software Development Notes and "Commits" 14 26. It is the standard in software development to use version control. For version 15 control, software developers typically, including Adaptics here, use an online hosted 16 repository of source code, such as GitHub, and add the latest changes to the source code, the 17 18 "commits," to the repository. An online running log detailing the commits is typically 19 maintained, as it was here, that usually, as here, contains a unique identifier for each commit, 20 the date and time, the person making the commit, and frequently notes regarding the commit. 21 While the commits are the actual code, frequently the code commit and the running log are 22 called the "commits." 23 27. I received a printout of the listing of "commits" from November 2013 through 24 May 2016 that Mr. Kennedy had provided to Mr. Rylander in August 2017. The online 25 repositories provide significantly more information and detail than a black and white printout 26 of the commits. Counsel for Perfect provided me a copy of an Adaptics documents, Adaptics 27 Bates 25745, that Adaptics apparently provided as part of some other prosecution, not the 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 8 4 1 2 commits, for some other purpose. It is a screen shot of the online repository, showing the 3 commits between November 2013 and March 2014. It shows not only the commits, but also 4 5 the side menu, and shows that the commit identifiers are a hyperlink so that anybody with 6 access to the repository can go directly to the code by the hyperlink which is the subject of 7 the commit. By comparison the printout provided by Mr. Kennedy, which was a simple 8 listing, does not have this detail and functionality. Access to the online source code repository 9 would have made review significantly easier and thorough. It is my understanding that 10 Perfect's counsel will be submitting the August 2017 Kennedy provided commits for 11 November 2013 through March 2014, as well as the later provided Bates No. 25745, to the 12 Court under seal. 13 Apple App Store Servers 14 28. I have authored and deployed dozens of iPhone and iPad Apps to the Apple 15 16 App Store over the course of my career, which apps have been downloaded by millions of 17 users. Accordingly, and because of my work history as a Lead Engineer at Apple, I regularly 18 follow Apple news and developments. 19 29. It has been explained to me that the location of App servers can be legally 20 significant. Specifically, I understand that if developers upload Apps to, or customers 21 download Apps from, a server located in the United States, the foreign profits for sales 22 outside the United States may be subject to United States patent law. 23 30. I have been asked where the App Store data centers reside. This actually is 24 two questions. First, what is the location of the Apple servers that developers upload Apps to 25 when the developer wishes to have them be available in the Apple App Store. Second, where 26 are the servers located that download the Apps when a customer wishes to download an App 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 9 4 1 2 from the App Store. They do not have to be, and typically are not, the same servers. For 3 example, a developer will upload to an Apple server, and that information is then moved from 4 5 that server to another server from which a customer downloads it. 6 31. When customers download Apps, the App bits are served directly by Akamai's 7 Cloud Delivery Platform. This is known information from Apple releases. Apple, an early 8 investor in Akamai, uses Akamai's distributed delivery services for customer downloads of 9 Apps and other media around the world. Akamai's network comprises "over 240,000 servers 10 deployed in more than 120 countries". Reference (i), below. Accordingly, international App 11 Store customer downloads are directly downloaded from an Akamai server in their region. 12 32. But before entering Akamai's international distributed peer-to-peer network, 13 the App bits originate from an Apple data center. 14 33. Although Apple is notoriously secretive about its operations, data centers are 15 16 too massive to hide. Construction is a large project and these construction projects are 17 reported in trade journals and newspapers. I have found consistent information about Apple's 18 data centers from numerous sites, including The New York Times (Reference (ii), MacRumors 19 (References (iii and iv)), iDownloadBlog (Reference (v)), and the Danish sites DR (Reference 20 (vi)) and Avisen (Reference (vii). These sources place Apple App Store data center sites in 21 the United States, China, Ireland, and Denmark. However, of these, only the United States 22 data centers appear to be active. I will discuss the state of Apple's data center efforts in each 23 of those other countries. 24 34. China. According to the New York Times, in July 2017 Apple announced plans 25 to open its first data center in China, in "response to a strict new law in China that requires 26 companies to store users' data in the country." Reference (viii). Later Apple announced, 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 10 4 1 2 according to The Verge, that on February 28, 2018 it had "formally transferred its Chinese 3 iCloud operations to a local firm in southern China." But Apple's Chinese data centers are 4 5 only for "Apple users with iCloud accounts registered in China," according to that 6 announcement. Reference (ix). 7 35. Apple has also announced a second Chinese data center, but it will not go live 8 until 2020, according to a Reuters report. Reference (x). 9 36. Ireland. The Irish site's construction plans have been cancelled due to 10 extensive land use protests by outraged Irish. Reference (iii). 11 37. Denmark. The Denmark sites look promising, and a second Apple App Store 12 site is planned. The funding started in 2015, supposedly to be complete by the end of 2017, 13 for the first one. But according to Danish newspapers viewed in Google Translate, neither 14 site is online. Reference (vi & vii). The first one is now scheduled to go online in 2019, and 15 16 the second in 2026. 17 38. The two data centers in Denmark will support Cloud services such as iTunes, 18 App Store, iMessage, Maps, and Siri for Apple's European customers, who are increasingly 19 using these services. The first phase of the building in Kassø is expected to be completed in 20 2019. The first data center in Foulum is to be fully developed in 2026. References (vi & vii). 21 Apple plans to open a data center at Foulum near Viborg in 2019 and has an additional center 22 in Kassø near Aabenraa. 23 39. Summary. In short, based on information that I rely upon, and which it is my 24 opinion other software developers would rely upon, the data centers that serve Apple's Apps 25 for the App Store are all in the United States, with the exception of those that serve Apple 26 customers with iCloud accounts registered in China. 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 11 4 1 2 40. But all that said, it is important to know that even those Chinese users who 3 directly download from a Chinese data center get their Apps from servers located in the 4 5 United States. Based on my personal experience and observation as an App developer, when 6 App developers upload Apps to be sold in the App Store, they upload them through the 7 domain This has been true since 2008 when Apple first launched 8 the App Store. That domain, a subdomain of, is hosted in Cambridge, 9 Massachusetts and San Jose, California, according to the geolocation web site 10 41. In my opinion, all Apps downloaded by any App Store customer comes either 11 directly or indirectly from a server based in the United States. 12 42. The References cited are references that any coder in the industry would 13 typically follow to determine the information. The References cited are: 14 (i) Wikipedia: "Akamai Technologies," 15 16; 17 (ii) The New York Times, July 12, 2017: "Apple Opening Data Center in 18 China to Comply With Cybersecurity Law," 19 20 cybersecurity.html; 21 (iii) MacRumors, May 10, 2018: "Apple Ditches Plans for $1 Billion Irish 22 Data Center, Citing Approval Delays," 23 24 center; 25 (iv) MacRumors, July 10, 2017: "Apple to Build Second Data Center in 26 Denmark," 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 12 4 1 2 european-data-center-denmark; 3 (v) iDownloadBlog July 10, 2017: "Apple will build another data center in 4 5 Denmark," 6 build-another-data-center-in-denmark; 7 (vi) DR, July 10, 2017: "Four reasons why Apple is building another data 8 center in Denmark" (via Google Translate), 9 10 bygger-endnu-et-datacenter-i-danmark; 11 (vii) Avisen, April 13, 2018: "Facts: Gigantic IT data centers in Denmark" (via 12 Google Translate), 13 datacentre-i-danmark_493728.aspx; 14 (viii) New York Times, July 12, 2017: "Apple Opening Data Center in China to 15 16 Comply With Cybersecurity Law," 17 18 cybersecurity.html; 19 (ix) The Verge, February 28, 2018: "Apple officially moves its Chinese 20 iCloud operations and encryption keys to China," 21 22 accounts-government-privacy-speed; 23 (x) Reuters Technology News, February 6, 2018: "Apple to build a second 24 data center in China: Xinhua," 25 datacenter/apple-to-build-a-second-data-center-in-china-xinhua- 26 idUSKBN1FQ2E6 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 13 4 1 2 I CERTIFY under penalty of perjury of the laws of the United States the foregoing to 3 be true and correct to the best of my recollection and belief. 4 5 6 DATED THIS September 19, 2018 In Lake Oswego, Oregon DAVID S. HOWELL 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 DECLARATION OF DAVID S. HOWELL 29 (14-cv-05976-RBL) 9/19/2018 3:36:12 PM PURI.035 Page 14