Newsletter
  • Get a newsletter digest every Friday:
Contact

Send me feedback, tips, bug reports, and anything else:

About me and the blog

My name is Marcin Wichary (he/him). I’ve worked as a UX designer, typographer, front-end person, and manager at Google, Medium, and Figma. I’ve also written a book about keyboards and typing, gave talks, and published essays about design, typography, and technology.

Unsung is my blog about software craft and quality.

More info about Unsung

Send me feedback, tips, bug reports, and anything else:

More info about Unsung

The Swiss Cheese model, pt. 4: The iPhone jump scare

It’s Halloween Week on Unsung, where we’re sharing scary, spooky, and creepy stories.

The first time I encountered this bug, years ago, I jumped up my seat. I was listening to the music on my iPhone and suddenly, for no particular reason, the music got extremely loud. I frantically held the volume down button, calmed down the sound, and didn’t think much about it.

But it happened again a few days later. And then again. And again.

I slowly started paying more attention to this, trying to figure out what might have been causing it. I started piecing together that it wasn’t wholly random: I noticed whenever it happened, it seemed to be only when I started or resumed the music – but not every single time I did so. Then, I also noticed it only happened whenever I was putting the phone away.

Eventually, I figured out the whole sequence of events.

In 2019, Apple changed the design of the volume indicator so that it went closer to the physical volume buttons. Here’s before and after:

I praised the contemporary version of this animation earlier on Unsung, but what I didn’t mention then was that it wasn’t just a visual change. No, the new control was also interactive. Once you popped it up on the screen, you could drag the volume up and down with your finger:

I never noticed that, nor would I ever want to change the volume this way, particularly since the only way I knew how to invoke it was with my fingers already on hardware volume buttons.

A second component? For reasons that are likely intentional, but I don’t personally understand, the iPhone doesn’t cease touch detection in the few hundred milliseconds between clicking the lock button and the screen completely fading away.

And then, the last thing: It turns out that as I was putting the phone away into my left pocket, my thumb would graze the screen, near the left edge, always in the same position.

That position happened to be the location of the interactive volume indicator.

I think you can assemble the whole puzzle now. Occasionally, I would start playing the music, instinctively adjust the volume with one of the buttons, lock the phone, and put it in my pocket. Adjusting the volume would make the control appear, and the control was ready to accept touch input, too. Locking the phone would not immediately shut down touch detection. As the phone was sliding down my pocket, the volume controls still on the screen, the screen about to fade out but still responding to touches, my thumb would graze the volume control – and while the thumb was stationary, the phone would be moving down into my pocket quickly, so it felt like an upward slide.

Every single one of those instances, it was me who accidentally turned the volume all the way up.

This all needed to happen quickly, almost as one gesture – but that is exactly how it goes if you’re doing it the same way for years. As a matter of fact, here’s a video of how it happens, and it’s so quick you cannot see anything:

(Unsung doesn’t support audio at the moment, but you can watch the same video on YouTube to hear the sudden volume increase.)

The funny thing is that I was likely doing this for years, but it never mattered, as my accidental swipe up didn’t target anything on the screen. It was only with the introduction of the interactive volume control that the Swiss Cheese model was complete:

  • the control was interactive,
  • there was no (accessibility?) option to make it not interactive – which I would want anyway, since I sometimes activate this control in other contexts, too, and never do it intentionally,
  • locking the phone still made the screen accept touch inputs for a moment,
  • as I was sliding the phone into my pocket, my thumb ended up being in the perfect position to change the volume,
  • it just happened that the movement of the phone and the direction of the control resulted in the worst possible scenario – volume going all the way up.

Here’s the tricky part: It’s been years since I figured out the sequence of events. I know exactly what happens. I know how to avoid it. Yet, those things happen so naturally, that I still occasionally blast music right into my ears and scare myself to death.

The previous three times we talked about the Swiss Cheese Model, the examples were more cerebral. This one is visceral and frightening. I hate this bug so, so much.