Versioned Builds Are Back, With Master Builds For Fast Verification
Versioned builds are back. What is Codename One? Codename One is an open-source framework for building native iOS, Android, desktop, and web apps from…
Tech news from the best sources
Versioned builds are back. What is Codename One? Codename One is an open-source framework for building native iOS, Android, desktop, and web apps from…
iOS 26 quietly added something I had been waiting for: the Secure Enclave can now hold ML-DSA keys. Not "the app does lattice math and stores a blob i…
Rendering a big image on iOS is one of those things that looks trivial until your app gets killed by the OS mid-export. CGContext , draw, makeImage() …
Commerce is the easiest feature in this release to misunderstand, so the first sentence has to be blunt: What is Codename One? Codename One is an open…
For a long time, mobile meant a touch screen and a few platform-specific escape hatches. That is no longer enough. A Codename One app can run on phone…
TL;DR - When setting up an AI agent for iOS development, the default approach is to have the agent run headless xcodebuild commands. To save disk spac…
Yesterday's release post was about the bigger business line we will not cross: no royalties on IAP, ads, commerce or app revenue. This post is about o…
Yes, I Still Open Safari First I build and test new frontend work in Safari first. On purpose. Repeatedly. Sober. I know that sounds backwards. Everyo…
Publishing ten apps in four months sounds good. And it is good. It means the bottleneck is no longer building the app. With AI-assisted coding, small …
Last week's release post was about funding open source without the bait and switch. This week's release tests that idea again, because two of the new …
TL;DR: In June 2026, I encountered a real-world scenario where an iPhone 13 (iOS 18.6), fraudulently locked via a phishing attack, could be fully unlo…
The introduction of the iOS Location Spoofer, a standalone app capable of altering GPS locations on non-jailbroken iOS devices, has stirred conversati…
The help button is the most important button in your delivery app that your QA team almost never clicks during regression. Every delivery app has an i…
This is the Tuesday follow-up to Friday's funding open source without the bait and switch , and it picks up right where last week's Apple Watch port l…
Detecting a screenshot on iOS starts with a single UIKit notification. That is the last easy part. UIApplication.userDidTakeScreenshotNotification tel…
"I'll just write a quick button style... and a text field with validation... and a card component..." Two weeks later you have a bespoke design system…
Part 2 of 2. This tutorial builds on Part 1 — DesignFoundation core . If you haven't added the base package and theme yet, start there. The core packa…
Disclosure: I write about projects in the OpenNomos ecosystem, including Swipe Cleaner. The Problem With Photo Cleaners Most photo cleaning apps have …
Your phone camera roll is a data problem dressed as a UX problem. The average iPhone user has over 5,000 photos. Most of them are never looked at agai…
Battery is the silent killer of always-on mobile sensing. If your app records or samples through the whole night, you are one bad release away from a …
On Friday I wrote about funding open source without the bait and switch , and the analytics API in PR #5266 is the clearest example of the model in th…
Friday's post covered how we fund this work without the bait-and-switch; today is the engineering side of the same week, with two new visual editors. …
Privacy isn't a checkbox. It's not a statement in your terms of service. It's not a toggle in your settings app. Privacy is architecture. And most app…
A Hybrid Edge–Cloud Architecture for Low-Latency Intent Classification in Mobile Applications Abstract Large Language Models (LLMs) have fundamentally…
Yesterday's funding post covered the model behind this week's releases. Here is the first one. PR #5264 brings mapping back into core with two compone…
Sometimes you want data or functionality to belong to a struct itself, not to any individual instance. That's what static properties and methods are f…
Last year my iPhone popped the dreaded "Storage Full" notification for the hundredth time. I checked the breakdown: 68% was photos. Not memories — jun…