Engineering notes
Notes from building the apps: what the platform actually allows, what it costs, and the measurements behind each decision. Written in English only.
-
The three hard constraints of an iOS keyboard extension
A custom keyboard on iOS looks like a small UIKit app. It is not. It is a UIInputViewController living inside an extension process with rules that no normal…
Read → -
On-device speech recognition on iOS: the honest boundaries
SFSpeechRecognizer gives you a flag called requiresOnDeviceRecognition. Set it to true and the audio is transcribed by a model that already lives on the…
Read → -
AVCaptureMultiCamSession: the real limits, and why the stock Camera app doesn't offer dual recording
Modern iPhones can genuinely run the front and back cameras at the same time. AVCaptureMultiCamSession has been in the SDK since iOS 13 and works on A12 and…
Read → -
Chalk that looks like chalk: depositing particles instead of stroking paths
Every drawing app starts the same way. You collect touch points, build a path, stroke it with a round cap and a width driven by pressure, and ship. It works.…
Read → -
One function that makes canonical, hreflang and sitemap unable to disagree
Multilingual static sites break in a boring, expensive way: the canonical tag says one URL, the hreflang alternates say a slightly different one, and the…
Read → -
Filling a region by writing four bytes: region-id PNGs and an SkSL lookup shader
A paint-by-number canvas has an awkward shape as a rendering problem. The image is large. The number of independently colorable regions is large. Every tap…
Read →