Perfect Company v. Adaptics Limited

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

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

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