1. Recreating the macOS Genie Effect

    A few weeks ago I released Pause, a Mac app that I made to remind myself to take breaks periodically. If you’ve used the app, you know there just isn’t much UI in there. But I wanted to have one…

  2. Introducing Pause

    If you work in tech, sitting at a desk typing away at a computer all day, you’re aware of the looming spectre of RSI. I’m also personally extremely worried about eye strain. Before Retina screens were…

  3. Wrangling Time

    The overarching theme of what I write about on this website is things that I used to once hate, then understood, and now continue to hate but for different reasons. And there’s no topic that fits the…

  4. Swiftʼs Collection Types

    A while ago, Paul Hudson posted a poll on Twitter, asking people what topic they found most difficult when they’d started learning Swift. An overwhelming number of responses were for generics, with a…

  5. How the SwiftUI DSL Works

    I dunno about you but I distinctly remember where I was and what I was doing when SwiftUI was announced. My first reaction upon seeing Craig Federighi show how a view controller with multiple hundred…

  6. Dynamic Wallpapers in macOS Catalina

    To go with dark mode, macOS Mojave introduced a feature called “dynamic wallpapers”. Once enabled, a dynamic wallpaper would cycle between a number of related images, showing one that was appropriate…

  7. Updating UI for iPhone X

    The safe area API introduced at WWDC 2017 seemed at the time like a lot of work to accommodate the status bar, so I happily ignored it right until the introduction of iPhone X with its notch (ahem…