James Dempsey is a fifteen-year Apple veteran gone indie. At Apple, he was an evangelist, technical trainer, curriculum manager, and software engineer, working on Aperture, iOS, and OS X releases Leopard through Lion. James is currently on the technical staff at Upthere, working to build a cloud computer for humankind’s information. He is also the frontman of James Dempsey and the Breakpoints, a band that performs humorous original songs about technical topics. Their debut album Backtrace topped the iTunes comedy charts in the US, UK, and Canada, reaching #5 on the Billboard comedy album chart.
Many apps have some global state or services that need to be accessed at various places in code. In this session, we begin with singletons, and work through design iterations arriving at an approach using protocols and existentials Swift that make these global dependencies more explicit, while making subsystems that rely on the them more easily tested and evolved.