← Back
[W] Writing

One app, two looks

Most Mac apps have one design. Diskzy has two, and you pick in Settings.

Bento is the design I made: tiles, flat sand panels, and a personality of its own. Native Mac is the opposite. It uses Apple's own pieces, so it looks like it could have shipped with the system.

Diskzy in its Bento look: a sidebar, a row of tiles for free space, Clean up, what grew and the biggest file, then flat sand panels with a coloured map of the disk.
Bento, the default. This is the demo on diskzy.app, which matches 0.2.0, so it's demo data.

Here's a rough comparison, using the same data in each. It's an HTML sketch rather than the app, but it shows the idea.

Same four rows from the trailer's data, in both looks. Bento explains each one. Native Mac gets out of the way.

What each one does

I shipped the two looks on October 27, and rebuilt Native Mac properly for 0.2.0 on November 1, using the system's own parts.

BentoTiles on Explore, flat sand panels, custom everything
Native MacA split view with the sidebar, a unified toolbar with search, Finder's list as a Table with an inspector, grouped forms and system colours
From the commit messages. Native Mac lives in its own seven files, about 2,900 lines of Swift, on top of the same scanner.

Then one small change gave me something I couldn't have built myself. Linking against the macOS 26 SDK meant Native Mac picked up Liquid Glass, and the system drew the edge down the sidebar.

I think that's the strongest argument for going native. When Apple changes what a Mac app looks like, your app changes with it, and you didn't do anything. Bento won't get any of that. Everything in it is mine to maintain.

What you trade

A custom look gives you
  • Personality
  • Screenshots people notice
  • Room to explain things
  • Control
The platform gives you
  • Instant familiarity
  • System behaviours
  • Future updates
  • Trust
I don't think either column wins. It depends what your app is for.

Diskzy makes that trade unusually interesting, because trust is the product. You're letting it delete files. An app that looks like it came with your Mac has a real advantage there. But a Bento screenshot is what gets someone to look in the first place, and a grey table doesn't travel well on X.

So I stopped trying to pick. It's a real cost, because every new feature now needs building twice. The new Worktrees tab had to work in both.

When to stop fighting the platform

Design engineers can have a bad habit here, and I include myself. We rebuild things the platform already does well, because the custom version is ours. Native lists have years of behaviour in them: keyboard handling, selection, right-click, accessibility.

My rule now is to go custom where it's what makes the product different, and use the system's parts for everything else. If nobody would ever pick your app for its dropdown menus, don't write your own dropdown menus.

Next