Retiring Overly-specific Protocols

When you start a project, and you try to plan for the future. Protocols help you do that — you use protocols to define what objects can do, what their interface is, and your vision is a neatly-scoped protocol-oriented future.

Metaprogramming with Protocols in Swift

We'll Do It Live

When building products, it’s normally best to work until you get things right. To build, to iterate, to refine, and then finally to publish. That iteration polishes the roughly-chiseled idea into a smooth stone.

Detecting carAudio

How can you detect when the user connects their phone to their car’s stereo? This simple question that came up during a feature brainstorm session proved to have a surprisingly complicated answer. Let’s dive in.