In stereo, where available

An extremely bad click-through experience in Vimeo: a whole lot of redundant text, and a double captcha (luckily you only have to click on one).

Put the little captcha box in the middle of the screen and that’s it. Nothing else feels necessary. A great example of an insecure interface.

“Every time user pressed Enter at a frozen interface screen”

I have never before heard of this story of an absolutely botched deployment of a new accounting system at the British post office, and “the widest miscarriage of justice in UK history.” More on Wikipedia:

Between 2000 and 2015, 736 subpostmasters were prosecuted by the UK Post Office, with many falsely convicted and sent to prison. The subpostmasters were blamed for financial shortfalls which actually were caused by software defects in the Post Office’s Horizon accounting software.

Some of these bugs sound absolutely horrendous, and remind me of Therac-25:

The Horizon IT system contained “hundreds” of bugs. Some of those that came to light were named after the post offices where the bug first occurred. These bugs included: the “Dalmellington bug”, where the system would enter repeated withdrawals in the ledger every time the user pressed Enter at a frozen interface screen; and the “Callendar Square bug”, where the system would create duplicate database entries in the ledger.

This bit feels absolutely crucial and it seemed to me we have learned this lesson decades ago:

And while the technology had changed, the contract between the Post Office and subpostmasters, who owned their own businesses but were agents for the Post Office, remained the same. It stated that any accounting shortfalls were the responsibility of the subpostmasters unless they could prove otherwise. But without the chain of evidence created by paper-based accounting methods, proving the losses were not their fault was near impossible for many.

Fonts have bugs, too

You might not encounter them often in polished fonts unless you’re knee-deep into typography, but: fonts have bugs, too.

Paul van der Laan on Mastodon:

Did anyone ever notice that Avenir LT has some serious errors in the descender lengths of p and q in certain weights?

Florian Hardwig adds:

It’s one of the things that got revised in Avenir Next. But it’s bonkers that it hasn’t been fixed in the “legacy” Avenir that’s still being sold – and bundled with Mac OS – after all these years.

Downthread there’s an original Avenir drawing that for some reason I found very evocative:

A new (old) kind of keyboard

The first iPhone famously introduced the soft keyboard, which could change its shape depending on the need. Sometimes it would mean becoming a keypad (for numeric entries), and sometimes something subtler, like introducing a “.com” key to the bottom row, or adding a new column of keys and making the keys a bit more narrow for a few languages that need that.

Bear (the note-taking app) does something interesting: after a button press, it replaces the onscreen QWERTY keyboard with a “funpad” or a “function keypad” (like StreamDeck or Figma Creator Micro). This achieves a similar result to a scrolling toolbar above the keyboard (see: Apple Notes), but in a different way. I haven’t seen anything like this before, and I think it’s really clever and it has worked well for me in practice.

(It also cleverly closes itself upon some actions like introducing a divider, but stays put for bolding, indentation, etc.)

“It’s hard to do a drive-by on your feet.”

Perhaps the only ever musical that’s about a buggy piece of software. From the inimitable Cabel Sasser, this 2006 video about Saints Row, with three songs and a goddamn reprise at the end.

It’s very good.

my car door’s freaking out
it seems to be forever in the concrete barricade
I wonder how I’m ever gonna drive away
this really is isn’t my day
the sparks are flying
people dying
metal frying
and I wonder if there’s more to life
or if I’ll find that this is really it
this game is a piece of work

A clever disambiguation detail

Was always so inspired by this pattern in Mac OS – showing me an extra bit of information only and exactly when it was needed:

I just saw a version of it in Nova, the text editor:

Fav tech museums

I hope it’s okay for me to link to my work once in a while.

Today, I published a photo essay about my favourite tech museums. A lot of it doesn’t have to do with software, but in general it’s about craft and good user experience in this specific context.

If you are interested specifically in software, the ACMI part has some of good examples of integration of software in invisible, delightful ways.

“And they can’t even agree on the direction of an arrow.”

Yet another good post by Nikita Prokopov, continuing the theme of icons in Mac OS Tahoe (previously), going into more depth:

In my opinion, Apple took on an impossible task: to add an icon to every menu item. There are just not enough good metaphors to do something like that. ¶ But even if there were, the premise itself is questionable: if everything has an icon, it doesn’t mean users will find what they are looking for faster.

I always liked this kind of an exercise:

There’s a game I like to play to test the quality of the metaphor. Remove the labels and try to guess the meaning. Give it a try:

Also, this must hurt:

Microsoft used to know this.

Nick Heer at the excellent Pixel Envy, commenting on the above post, adds:

This is a gallery of elementary problems. None of this should have shipped if someone with power internally had a critical eye for consistency and detail. If Apple deems it necessary to retain the icons, though I am not sure why it would, it should be treating this post as one giant bug report.

h/t my friends Scott and Ezra.

Fun interface on my bike

This still remains one of my favourite pieces of UI ever designed. I know this is is not software, but this to me is exactly the right kind of “delight” in this context.

(Apologies for a shoddy video.)

Jan 4, 2026

“Just 3 days before the deadline, I discovered something horrible.”

A really fun 2021 story by Fabien Sanglard at the perfect-for-me intersection of bugs and typography.

In 1991, just days before the final deadlines, Akira Nishitani, one of the graphic designers of the absolutely seminal arcade game Street Fighter II realized they misspelled the world “Warrior” as “Warrier.”

The typo was there for months and no one noticed. But the moment it was noticed, the graphic ROMs were already burned and impossible to change, and the code was due in three days.

What would you do? I’ll let you click through to read, but I really enjoyed this short story.

Remember me?

One of the frustrating patterns for me is a dialog box that doesn’t offer “skip it next time” option, or even just defaults to remembering.

My go-to examples? Apple’s Remote Desktop which always throws this thing up on connection:

And this in Photoshop upon saving a PNG file, which has been there forever:

I never change these options. These are flow-killers; trees have grown to maturity as I have spent collective hours in those dialogs over the years/​decades, even though they serve no purpose for me.

(The worst part might be if you forget this dialog waits, and move on to do other things, and the operation you thought was completed never actually finishes.)

Book review Laws of UX (2nd ed.)

★★★☆☆

I was delighted by the Laws of UX website when it came out. The site was beautiful (it still is!) and it felt important to bring some of this stuff to designers earlier in their careers.

But the book based on the website was largely a disappointment, and seems like a good case study of an unsuccessful adaptation – it felt this was pushed to become a book without editorial help and without thinking too much about what makes for a good book.

The book lost a lot of what made the site great – it’s a pretty generic-looking production with flawed typesetting, an uninspired cover, and poorly sized and reproduced images. But chiefly, I also feel the book showed there is limited rigor behind the whole premise; the writing feels academic in the sense that it’s a little boring, but academic writing at least can be precise and follow process. Not here. The laws of UX are not “laws” in the traditional sense and the combination of “laws” presented, as well as examples of them in use, feel really arbitrary and sometimes at odds with the entire premise.

I felt disagreeing with the book often. For example, I feel the chapter about Doherty Threshold feels is teaching the wrong lessons (100ms is not enough for a bunch of things!). Or the advice on gradually deploying changes (Jakob’s Law) is missing a core component of maintenance and how to approach the contingent of users who will never graduate to the new interface if given a chance to stick with the old one.

I also started worrying that the book doesn’t fully understand how design works. From the very first page:

This project was somewhat unique in one specific way: I was being asked to justify a number of design decisions to project stakeholders, without any data to support them. Normally, when you have quantitative or qualitative data available to draw upon, this is pretty straightforward task – but in this case the data wasn’t available, so the process of justifying the decisions would have to be a little different.

This is… This is not what design is. This is never true. You rarely have the data – and if there’s data, it’s never netural, always at the mercy of people collecting it and people interpreting it.

My friend summarized it well – “design is not mathematical” – but at various moments the book suggests it’s as simple as knowing a certain “law” and applying it. This is perhaps most visible in the Aesthetic-Usability Effect chapter, which touches upon craft without really understanding it.

On the positive side: I think what the book is trying to do feels important and appreciated. Some of the stuff like Fitts’s Law or Doherty Threshold and Jakob’s Law are good to know about, they are still relevant, and can serve as useful tools in your toolkit as a designer.

I also learned some new things from it! I have never heard of shape coding before (turns out I’ve been practicing it without knowing, so learning about it was validating), and never really thought about the equivalent of heat maps for mobile.

Also: I don’t think this book is for me. I get a sense this is a volume for a very different group of UX designers, maybe even people at companies where UX design is not at all established as practice. There is a lot of stuff like explaining personas and basics of user testing and even ethics that feels somewhat out of place and like it’s padding the content – but I can see how that could be valuable. However, I still wish the book didn’t oversimplify a lot of things like I think it does. I believe there’s a way to do it while still keeping it accessible and not overwhelming.

But today, I would rather recommend the beautiful poster that seems more true to what the website was trying to aim for.

In terms of how I would improve the book:

  • Have it reviewed by someone who actually lives and breathes this stuff for living.
  • Invest in better writing and better storytelling. This of good stories and not just data. Ditch the random O’Reilly-esque callouts and integrate them into the stories.
  • Either get deeper into more specific and deeper examples for most of the stuff, or make it drastically shorter.
  • Don’t package it all as “laws”, or at least – if this title sells – contextualize it better inside. These are useful tools, but they are not laws like physics has laws. Also, all of them, like most of design, will be caveated with “it depends.”
  • Consider adding stuff about motor memory, Sturgeon’s Law, monotony, gestalt to flesh out the toolkit, and maybe group the chapters into a few bigger areas.

Sins of our Finders, pt. 2

When you accidentally rename a file to a name that already exists, Finder tells you about it, and then just dumps you out of rename, so you have to enter rename mode again and type the desired name.

This feels like such a 1990s way of doing things: throwing a dialog box and washing your hands away from the responsibility to make things smoother and more fluid.

It’s not hard to imagine a better solution that returns you to rename mode and keeps the name you entered so you can refine it, or even something that eschews the dialog box altogether, and does something simpler like a password shake or a little callout.

Reported to Apple as FB21509667.

“I was inspired by the Comic Sans typeface”

I hate most font reveals; they’re written in a pretentious, corporate-meets-Design-with-capital-D way that’s devoid of any value or meaning or feeling, with the requisite highly polished motion graphics that feel pretty like empty sugar calories. They did feel like written by AI before that became a meme.

This feels like the opposite: an actual personal font announcement of Shantell Sans that made me feel things. From Shantell Martin:

When I was 20 or 21, I found out that I was dyslexic. When I started my art degree at Central Saint Martins in London, I was in an environment where it felt like the majority of people were dyslexic. I was instantly part of a cool group of creative people. However, I was disappointed about the amount of teachers who had never spotted my reading challenges. Instead of supporting me to learn to read and write, they punished me.

What I liked about this post is that it hands the mic off to other involved people: Stephen Nixon who “produced” the typeface, and Anya Danilova who took care of the Cyrillic side. It’s a simple technique, but I feel much more effective than doing the “oral history” a.k.a. “journalistic” approach of different people having various quotes interspersed. It can work, but only if you do it really well. Almost no one does it really well.

There’s just so much to love here. The motion graphics are actually useful, informative, and allow you to learn things! Even the “in use” photographs are delightful and don’t feel arbitrary.

Just well done all around.

(Also, I hate Comic Sans, so having something new in the same vein will be genuinely useful.)

“Christmas lights diarrhea”

I was just looking at some old 1980s screenshots and wondering “why don’t you ever see syntax highlighting in inverse video”? And then I randomly stumbled upon this deep dive into syntax highlighting from Nikita Prokopov.

I don’t know if I disagree with everything here, but there’s a lot of great stuff in there, and a lot of food for thought.

Highlighting everything is like assigning “top priority” to every task in Linear. It only works if most of the tasks have lesser priorities.

I thought the mention that comments should be visually promoted, not demoted, was particularly insightful.

Also, the idea that light themes are not popular because the colors are duller… this is very interesting. It could be so interesting to try a light theme with very prominent chiefly at the periphery of Display P3.

I have never been very invested in syntax highlighting because I find the UI to change it in text editors is usually pretty harrowing, but now I’m interested.