Friday, February 20, 2026

Building Zavala 4.0

Maurice Parker:

Adding data syncing to any application is hard. iCloud helps with that somewhat, but it is still really hard to get right. Shoehorning a hierarchical data structure like an outline into a flat data structure like iCloud is super hard and I did not get it right the first time. While I did improve the reliability of the syncing code over the course of many Zavala releases, it was never quite right. […] This has been resolved in Zavala 4.0.

To do this I had to change how Rows are stored in the internal database as well as how they are stored in the iCloud database. This new solution works really well, but isn’t compatible with the old versions of Zavala.

[…]

Love it or hate it, Liquid Glass is the new design language from Apple for their latest operating systems. If you are an app developer and don’t support it, your app is going to look dated and out of place on the latest OS’s. Fortunately, I feel like Zavala is one of those kind of apps where Liquid Glass looks good and isn’t the worst at usability.

Unfortunately, it is very difficult to have a Liquid Glass version of your interface along side the legacy look and feel of previous OS versions. This is because you have to update to the latest API’s to correctly use Liquid Glass and some things, like the spacing of elements have been changed. Basically to keep backwards compatibility for OS’s before the version 26 ones, you need to maintain two different versions of the user interface code.

[…]

I used Claude Code to translate Zavala into German.

Previously:

3 Comments RSS · Twitter · Mastodon


"If you are an app developer and don’t support it, your app is going to look dated and out of place on the latest OS’s."

Not really on macOS. It's more the OS that looks like out of place when you use an application that is still using the better UI design options.

"So I made the difficult decision drop support for previous versions of iOS, iPadOS, and macOS."

Let's just hope for him that the new UI design team at Apple is as "talented" as the previous one and does not revert most of the controversial changes of macOS Tahoe.


Beatrix Willius

I'd rather have my app look "dated" but be usable. Using Liquid Ass makes an app look stupid.


"…your app is going to look dated and out of place on the latest OS"

This is not as high of a user value like it was 20 years ago, or even 10 years ago. Among Apple's apps, everything is an inconsistent mess that looks out of place.

It matters that you meet your *user* expectations, not Apple's WWDC talking points.

Apple's completely lost control of platform design. It feels like half of most user's apps are now Electron. No Electron dev I know had to waste their life on Liquid Ass (aside from an icon downgrade). Most importantly: their users aren't clamoring for LA.

It's a huge failure of AppKit, UIKit, and Swift that devs on the Apple stack are *constantly* forced to carry water for Apple and waste so much time on yearly churn just to say they're "up-to-date".

A big point of building on a vendor stack is stability and avoiding churn, and Apple is bottom-tier for this.

I'm happy this dev is continuing to develop his app. My main quibble is with the mentality that you *have to* follow Apple, even when you know they messed up bigly and they don't take their own advice.

Leave a Comment