My experience writing for Apple platforms includes both Objective-C and Swift. With a background in visual design, I enjoy building custom controls and UI with both UIKit and SwiftUI and including the quality interaction details that don’t often get described in a Figma file or even an animation prototype. Every button should provide instant feedback that it was tapped. No user should be guessing if their tap was recognized or tap it again only to find out that they have canceled their intended interaction. Most buttons should rate limit interactions to prevent unintended double clicks. There are so many details that are required for a quality app which designers and product managers may never make explicit. As a long time power-user of software for professionals, I bring a strong empathy for the user—both novices and pros.
I have worked with MapKit, AVFoundation, CloudKit, CoreData and complex asynchronous multithreaded applications. I’ve architected, designed, and implemented server driven UI that minimized the iOS client side code while greatly increasing the automated test suite code coverage. As a lead developer I’ve built out CI pipelines and customized complex projects to output multiple app variants from a single code base. There’s nothing more exciting that starting a new project and nothing more satisfying than building on well structured, modular, well factored code.
My education began in art and design, but even then I was writing Mac toolbox apps using Code Warrior to build an animation ink and paint system. My first career was in the technically demanding field of computer graphics. By 2011, I returned to programming on Apple platforms and learning Cocoa development, beginning with a week long intensive training course with the amazing crew at InvasiveCode.