Skip to content
jorvik.
  • Utilities
  • Apps
  • Screensavers
  • Games
  • Notes
  • About
  • Donate

Craft

Design, typography, defaults, details and testing. 9 notes.

  • Utilities
  • Games
  • Screensavers
  • Release
  • Website
  • macOS internals
  • Craft
  • Ethos
  • AI
  • Community
  • Retro
  • 6 September 2026

    You Can't Assert A Shadow

    Only one of my forty-six repositories has a test suite. That looks like negligence until you count what is there instead, which is nearly seven thousand lines of code whose only job is to render something and let me look at it. Then SQLite told me that the two most rigorous ways of testing software actively work against each other, and I stopped feeling defensive and started looking for where my way goes blind.

  • 25 August 2026

    The Dark Mode That Found Five Older Bugs

    Adding a dark mode to this site took about an hour, because I had built the stylesheet on colour tokens months before I had any use for them. Wanting it to switch automatically was the interesting part: the operating system already does the clever bit, and the specification has closed off the obvious workaround for the platforms that do not. Then the new palette exposed the old one, which had been failing accessibility contrast in five places since launch, along with an icon I got wrong four times and a build script that had been quietly lying to a hundred pages.

  • 9 July 2026

    Nobody Dances Like That

    A little app I’ve been building sprouted a music visualiser, and I decided it needed a dancer in the spotlight. So I drew one — head, arms, a swirling skirt — and she looked wrong in a way I couldn’t explain. Here’s how a black blob, a smoke machine, and a hard lesson about the human form taught me to make something feel alive by refusing to say what it is.

  • 30 May 2026

    The Details Are the Software

    Tugboat is an internal-only tool, used by exactly one person, and almost nobody will ever see its menu-bar icon. I reworked that icon anyway, so it shows — in real time — which edge of the screen the Dock is actually living on. This is a post about the smallest of details: why they matter, why they're the line between hand-crafted code and AI slop, and the other invisible little things scattered across the Jorvik suite.

  • 3 May 2026

    Default ON Was The Wrong Default

    I changed the rendering format of the standard “background pill” option of our menu-bar apps. I set the default to “on”, propagated deployment across eleven apps in a sweep, and then realised it was silently changing settings for upgraders who'd never touched the toggle. The pill that came shipping with everyone's next update was a small surprise nobody asked for. A short lesson in `UserDefaults.register`, the difference between “fresh install” and “user with no preference set”, and why reversing a convention across eleven repos in one go is sometimes the only honest move.

  • 13 April 2026

    Why I Don't Ship Preferences

    Most software overloads users with settings — but what if that’s the problem? In this article we argue for fewer preferences and stronger defaults, showing how opinionated design reduces complexity, improves usability, and lets software just work.

  • 12 April 2026

    Typography Matters

    Typography on the web is mostly wrong — straight quotes, double hyphens for dashes, three dots for ellipses. Not because writers don’t care, but because the tools don’t care for them. Here’s how the Notes Editor and Web Editor handle curly quotes, smart dashes, acronym wrapping, spell-check suppression, and widow control — so the writer focuses on content and the toolchain handles the rest.

  • 9 April 2026

    Spell-Checking in Three Lines of Code

    Adding spell-checking to the Notes Editor took three lines of configuration and one delegate method. This is what building native gets you.

  • 1 April 2026

    The Great Consistency Update

    Every Jorvik utility has been rebuilt with a standardised settings panel, auto-update support, universal binaries, and a shared design language. Here's what changed and what you need to do.


Jorvik Software · Built with ❤️ on the Isle of Man · Contact
© 2026