A blog by James

A mutating and functional blog for whatever is on my mind.

Effective SwiftUI Previews

Previews are a handy tool for getting a live look at all possible states of a view, and I often finding myself creating loads without thinking. Yet I find people often have trouble getting previews to work nicely. This is my attempt to break down my approach for those people. If you use TCA, which ties architecture very deeply to the view, my best advice is to look to their docs on the topic....

April 28, 2024 · 9 min

Fixing macOS windowing

In my previous post I discussed how I prefer a few aspects of iPadOS over macOS. In this post, I’ll be discussing how to fix the big one - macOS’s window positioning. The problem The fundamental means of positioning windows in macOS has never really received a rethink since the inception of windowing in the early days of the OS. It’s designed for screens with big pixels, and as pixels have gotten smaller it’s become increasingly fiddly to keep windows from being an untidy mess....

November 3, 2023 · 5 min

iPadOS is better than macOS (for normal people)

I have opinions. 🐣 I tend to prefer working on iPadOS to macOS. There’s not any one thing, but a combination of things which just make it feel more comfortable to work with… It’s fair to say macOS has features which iPadOS is lacking, but the reverse is also true! Windowing There’s no weird distinction between maximised and fullscreen windows. (And let’s not get into how some apps don’t maximise, but “zoom”) We don’t work all the time, and iPadOS defaults every app to be fullscreen by default when Stage Manager is disabled....

October 31, 2023 · 4 min

Welcome to my blog!

A mutating and functional blog for whatever is on my mind. Expect Swift and iPad topics published from my iPad!

October 16, 2023 · 1 min