Senior/lead software engineer, specializing in developing iOS and Mac apps, but curious about everything.
Engineer on UIKit, the UI framework that millions of iPhone, iPad, Apple Watch, Apple TV, and Mac Catalyst apps are built upon.
For a small taste of what I've worked on, see our WWDC talks: Implementing Dark Mode on iOS, Introducing Drag and Drop, Making Apps Adaptive, and Getting Started with Multitasking on iPad in iOS 9.
Lead engineer on the Twitter Cards canvas team.
Cards were a way of attaching dynamic interactive content to tweets, based on a custom markup language, with renderers integrated in the iOS, Android, and Web Twitter clients. Cards could:
I started by implementing the cards renderer for iOS, then also took responsibility for the markup language compiler in the backend, written in Scala.
Coordinated with the teams running the cards backend and publishing tools, and assisted internal and third-party teams using and creating cards. Helped set our feature roadmap and quarterly goals, planned new features, and wrote architecture documents for engineers and execs.
Developed a new iOS / Mac remote access product, Air Login.
On the Mac, implemented a system-level coordination daemon, per-user screen capture agent, and controller UI, all communicating via XPC. On iOS, prototyped the client app.
For iWork on iPad: Designed and implemented a Core Animation-based graphics and interaction framework. On a tight schedule, we built a revolutionary touch-based UI, pushing the limits of an untried OS and hardware, and shipped all three apps on time with the first iPad.
For iWork and iWeb on Mac: Was lead engineer for our graphics framework, built on OpenGL and Quartz. Designed and implemented new features, from high-level UI to low-level details, across the whole suite. While we were primarily responsible for graphics and interaction, I also had a hand in text layout and rendering, document storage, import/export, performance, and HTML widgets.
Led a team of three engineers. Wrote, triaged, analyzed, and fixed thousands of bug reports. Ran daily scrum meetings, estimated schedules, planned feature sets for releases, wrote prototypes and documentation, and filed for patents. Coordinated with design, engineering, QA, product management, and marketing.
Drag and drop for touchscreen devices, US Patent 10,444,976
Drag and drop for iOS.
Image mask interface, US Patent 8,209,632
A UI method for selecting a mask region for an image, used in iWork for iOS.
Web Widgets, US Patent 8,667,415
A method of including self-contained snippets of web content inside a website builder app, used in iWeb for Mac.