Simple Changes That Save Time in App Development
In product development, I keep noticing how much time disappears into things that are technically possible, but unnecessarily awkward. Small bits of friction accumulate: hidden debug entry points,...
In product development, I keep noticing how much time disappears into things that are technically possible, but unnecessarily awkward. Small bits of friction accumulate: hidden debug entry points,...
When a codebase already uses xib + MVVM + shared collectionView delegate, the hardest part of SwiftUI migration is usually not SwiftUI itself. It is the shared delegate. The common failure mode i...
My previous post about the agentic flywheel was intentionally generic. This one is the follow-up: how I would design an iOS-development-specific flywheel. The framing still comes from Kief Morris...
Symptoms The login with other app success rate drops. The gap between login attempts and (success + failure) grows. That gap can mean more users are starting login but never reaching a comp...
I have been thinking a lot about what kind of environment makes AI agents improve over time instead of just producing one-off outputs. More specifically, I wanted to build an environment that coul...
A Pragmatic, TDD-First Approach I used to write async tests using XCTestExpectation and wait(for:timeout:). That approach works, and I’ve shipped production code with it. But once you adopt TDD s...
I have an app that hadn’t been updated for five years, but in September I received a kind review from a user, which asks for deleting feature of search results. Appreciating the review, I decide...
References https://iosref.com/res https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications — denotes for same with the upper row iPhone Device D...
App Memory’s Four Segments Code: Machine code compiled from source code Data: Global variables, static variables, static literals Heap: Dynamically allocated data (size and lifetime deter...
Static Library vs. Dynamic Library How to include in an app Static libraries: You only need to Link. Dynamic libraries: You need to Link + Embed. Link writes ...