<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Unsung</title>
  <link href="https://unsung.aresluna.org" rel="alternate" type="text/html"/>
  <link href="https://unsung.aresluna.org/feed.xml" rel="self" type="application/atom+xml"/>
  <id>https://unsung.aresluna.org</id>
  <updated>2026-06-11T23:19:58.362Z</updated>
  <author><name>Marcin Wichary</name></author>
  <entry>
    <title>“Must hate yourself to submit”</title>
    <link href="https://unsung.aresluna.org/must-hate-yourself-to-submit" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/must-hate-yourself-to-submit</id>
    <published>2026-06-11T23:19:58.362Z</published>
    <updated>2026-06-11T23:19:58.362Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I linked to a bunch of <a href="https://unsung.aresluna.org/tags/speedrunning/">speedrunning videos</a> before, but this <a href="https://www.youtube.com/watch?v=I5auJOBC828" target="_blank">43-minute video by hbomberguy</a> from 2018 is a good introduction to the whole concept and why people care:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=I5auJOBC828" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/must-hate-yourself-to-submit/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/must-hate-yourself-to-submit/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/must-hate-yourself-to-submit/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/must-hate-yourself-to-submit/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/must-hate-yourself-to-submit/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>It’s really funny, romantic (maybe a bit <em>too</em> romantic), and it has a few great examples and explanations of the different kinds of speedruns that exist.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/speedrunning/">#speedrunning</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“This is my favorite news from all of WWDC this week.”</title>
    <link href="https://unsung.aresluna.org/this-is-my-favorite-news-from-all-of-wwdc-this-week" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/this-is-my-favorite-news-from-all-of-wwdc-this-week</id>
    <published>2026-06-11T02:24:08.862Z</published>
    <updated>2026-06-11T02:24:08.862Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://daringfireball.net/2026/06/macos_27_golden_gate_removes_the_dumb_icons_from_menu_items" target="_blank">John Gruber on Daring Fireball</a>:</p>
<blockquote><p>Perhaps the worst UI crime in MacOS 26 Tahoe was the inexplicable decision to add inscrutable, distracting icons next to every item in the menu bar. You will recall <a href="https://daringfireball.net/linked/2026/01/06/nielsen-icons-in-menus" target="_blank">Jim Nielsen writing about it</a>, rightly describing it as exactly the sort of thing that Mac users look down upon in platforms like Google Docs and Windows. You will also recall <a href="https://tonsky.me/blog/tahoe-icons/" target="_blank">Nikita “Tonsky” Prokopov writing about it</a>, illustrating that the bad idea wasn’t even implemented well, with different Apple apps using entirely different icons for the same menu items. […]</p>
<p>Top third-party developers rightly <a href="https://weblog.rogueamoeba.com/2026/01/10/removing-tahoes-unwanted-menu-icons/" target="_blank">rejected the design</a>, adopting <a href="https://indieweb.social/@brentsimmons/115846213935605782" target="_blank">open source code from Brent Simmons</a> to disable the default “icons in all standard menu items” behavior. […]</p>
<p>Wonderful news in MacOS 27 Golden Gate: the icons are gone. It’s like Tahoe’s menu item icons never happened.</p></blockquote>
<p>Kudos to Nielsen and Prokopov for pushing on this and <a href="https://unsung.aresluna.org/apple-abandons-its-own-guidance/">explaining</a> the <a href="https://unsung.aresluna.org/and-they-cant-even-agree-on-the-direction-of-an-arrow/">problem</a> so well. This wasn’t about ugly icons. This was about improper use and misunderstanding of iconography.</p>
<p>(Also may I try to manifest something:) Looking forward to reading the oral history of macOS 26 Tahoe and Liquid Glass some time in the 2030s!</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>The trouble with font previews</title>
    <link href="https://unsung.aresluna.org/the-trouble-with-font-previews" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-trouble-with-font-previews</id>
    <published>2026-06-10T18:57:42.177Z</published>
    <updated>2026-06-10T18:57:42.177Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A reader sent me this screenshot from PowerPoint, with one of the menus looking the best it’s ever looked, and the other one showing to work with what we could charitably call “a UI hangover”:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/1.1088w.avif" alt="" width="472" height="324">
      </picture></figure>
<p>It’s obviously bad craft and crossing over to the “embarrassing” territory, but I thought it’s an interesting question: what happened?</p>
<p>The main piece of the puzzle is that the first menu shows the name of the font in San Francisco, but the second asks to render the font name in itself, serving as a font preview. </p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/2.1088w.avif" alt="" width="361" height="700">
        </picture></figure>
<p>Font previews are fascinating because they are the perfect showcase of how tricky fonts can be at scale.</p>
<p>Some time ago, I wrote an essay called <a href="https://medium.engineering/typography-is-impossible-5872b0c7f891" target="_blank">Typography is impossible</a>. TL; DR: It’s actually impossible to left align or center text. Ever. Not just because each font does whatever it wants – font size is a number that doesn’t really give you anything to hang a hat on, and the font can place itself in its box however it desires, too – and not just because fonts often lie (via bad metrics) about what they store inside, but also because aligning and centering are really in the eye of the license holder, and have more than one definition.</p>
<p>So, every time you align text to anything, in whatever way, it’s only an <em>approximation</em>. Most of the time that’s good enough. Here it is not. </p>
<p>I worked on font previews at Figma, and wanted to show you three screenshots of what we did.</p>
<p>This first one shows the default attempt: we ask the fonts to render themselves in the same size (16px), vertically centered in a box that’s always 28px tall… and they oblige on paper, but it really doesn’t <em>feel</em> like they are:</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/3.1088w.avif" alt="" width="397" height="637">
      </picture></figure>
<figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/4.1088w.avif" alt="" width="397" height="637">
      </picture></figure>
</div><p>The second take shows what happens if you nudge the fonts up and down so they’re aligned to their baselines. This at least creates vertical rhythm; in effect, we need to make the fonts <em>uneven </em>to make them feel even.</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/5.1088w.avif" alt="" width="397" height="637">
      </picture></figure>
<figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/6.1088w.avif" alt="" width="397" height="637">
      </picture></figure>
</div><p>And this is the final result, with extra adjustments:</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/7.1088w.avif" alt="" width="397" height="637">
      </picture></figure>
<figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/8.1088w.avif" alt="" width="397" height="637">
      </picture></figure>
</div><p>What do we do in the final version? Too many small things to mention, but in essence:</p>
<ul class="long-list">
        <li>We literally measure the fonts (programmatically) by rendering them and looking at them, and make adjustments. We blow them up (but not too much) if they’re optically too small, or reduce them (but not too much) if they’re too big. </li>
        <li>We have a multiplier for scripty fonts and monospace fonts, where the traditional measurements are likely to be off.</li>
        <li>We even special-case specific fonts by name. That feels like bad practice, but fonts are so varied and all over the place, that I think it’s perfectly fine to make exceptions for particular individual fonts that are popular or otherwise very important to your users.</li>
      </ul>
<p>These adjustments are all in the same category: getting off math balance to get to optical balance.</p>
<p>Here, you can compare before (the naïve version) with after (the final version):</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/9.1088w.avif" alt="" width="397" height="637">
      </picture></figure>
<figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/10.1088w.avif" alt="" width="397" height="637">
      </picture></figure>
</div><p>If it feels subtle, imagine it applied to a much wilder menagerie of very thin, very huge, or very strange fonts. (The go-to example? Open a Mac and try typing in <a href="https://en.wikipedia.org/wiki/Zapfino" target="_blank">Zapfino</a>.)</p>
<p>I’m not showing this to brag about my work – okay, fine, to some extent I am, we’re all human – and I truly believe this could be so much better, still. There are icon fonts, color fonts, and non-Western fonts so rich in variety and tradition that this category itself is basically a fractal.</p>
<p>Mostly, I wanted to share this lesson: dealing with fonts is hard, and dealing with fonts <em>as a system</em> even more so. Whether it’s the printing press, paper, or Illustrator, it takes people years or even decades to fully learn the craft of setting type, and to believe their eyes instead of only relying on math. But here, what’s needed is <em>manufactured craft</em>: we have to teach the machine to trust its eyes (which it doesn’t have) over math (which it can’t escape). </p>
<p>Now if you’re wondering why font previews look bad in so many apps, I believe it’s because people working on those did not allocate enough time to deal with all that.</p>
<p>But I’ve used the word “embarrassing” as there’s one more thing that the original did poorly, and something the reader identified immediately. The makers of PowerPoint allowed the font to escape its containment:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/11.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/11.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/11.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/11.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-trouble-with-font-previews/11.1088w.avif" alt="" width="472" height="324">
      </picture></figure>
<p>This is another big lesson: fonts will ignore their bounds at every single opportunity. That infamous CSS IS AWESOME graphic? That’s CSS underestimating text. That naked URL or code snippet pushing the mobile site past the viewport and making it scroll? That’s the creators of the site not building up enough imagination of what fonts can do when they’re not watching. <a href="https://en.wikipedia.org/wiki/Zalgo_text" target="_blank">Zalgo text</a>? A joke, but based in reality.</p>
<p>Fonts are so much more feral than you think. Are you ready for it?</p>
<p class="credit">Thank you to Giovanni Lanzani for sending in the original PowerPoint screenshots.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>Got your back, pt. 6</title>
    <link href="https://unsung.aresluna.org/got-your-back-pt-6" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/got-your-back-pt-6</id>
    <published>2026-06-10T18:52:58.709Z</published>
    <updated>2026-06-10T18:52:58.709Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A nice little old-school moment from Flickr: When you accidentally type the name of the new photo album in the search field instead of the “new album name” field, Flickr just passes on that value to save you from having to retype it:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/got-your-back-pt-6/1-thumbnail.avif" width="358" height="369" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/got-your-back-pt-6/1.1600w.mp4"></video></figure>
<p>(I bet you witness a version of this all the time when dealing with “I forgot my password” flows which should pass on your login from one field to another, but they don’t.)</p>
<p>I’m not saying this dialog is beyond reproach; one way to reduce this problem would be to make those two treatments different enough visually to reduce the chance of confusion. But it doesn’t matter, because the truth is that often there is no dividing line between the problems and the symptoms, and both overlap to a scary degree. </p>
<p>As a designer, I think it’s sometimes good to simply face this truth: no matter what I do, the user might type something into a wrong field. Anything I can do to help then?</p><p><a href="https://unsung.aresluna.org/tags/got-your-back/">#got your back</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“Imagine being a pixel on an old Pac-Man game.”</title>
    <link href="https://unsung.aresluna.org/imagine-being-a-pixel-on-an-old-pac-man-game" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/imagine-being-a-pixel-on-an-old-pac-man-game</id>
    <published>2026-06-09T13:29:57.915Z</published>
    <updated>2026-06-09T13:29:57.915Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>1.<br>
In last year’s essay at Tedium, <a href="https://tedium.co/2025/01/12/screen-saver-history/" target="_blank">Ernie Smith investigated the rise and fall of screensavers</a>, those pieces of software that peaked in the 1990s, originally meant to prolong the life of your display by kicking in after a period of inactivity, but eventually becoming “self-contained art projects.” </p>
<p>As it always happens, what we thought was the first screensaver – Peter Socha’s SCRNSAVE – was far from the original idea:</p>
<blockquote><p>The accepted answer is often the easy answer, and when doing a little research, you can bust past that to the point of truth. [… But] while Socha deserves credit for popularizing the technique with a broad audience, the idea wasn’t totally new. See, during the 1970s and early 1980s, numerous hardware and software developers attempted to build things in the same wheelhouse as Socha’s early screen saver. The difference was, they weren’t for the IBM PC or even for a computer at all. Rather, they were for dumb terminals or video game systems.</p></blockquote>
<p>The prior art includes “attract mode” in arcade games, and is accompanied by the absolutely terrifying, jump-scare-adjacent photo of CRT burn-in you wouldn’t want to miss.</p>
<p>2.<br>
This is an enthralling 1-hour-long <a href="https://www.youtube.com/watch?v=kpt0MwYIc-Q" target="_blank">video by Savvy Sage</a> that talks about the immense popularity of After Dark, a collection of screensavers for Macs and PCs, of the “flying toasters” fame:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=kpt0MwYIc-Q" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>This video absolutely blew my mind. I had no idea the screensavers were so popular that they had their own (official) merch and (unofficial) <a href="https://www.youtube.com/watch?v=3ID-XleJ2JE" target="_blank">guidebooks</a>, and that the company that made them employed over 100 people – half of them artists – and had tens of millions of dollars in revenue. </p>
<p>There’s tons of inevitable scope creep – screensaver remixers! screensavers with sound! interactive screensavers! licensed screensavers? – but also attempts to branch out to new ideas.</p>
<p>The video is great in documenting everything so you actually see all that’s talked about, in copious detail. And since this is a blog about craft, obligatory caveat: most of these screensavers are <em>absolutely garish</em>, although one also has to account for state of the art of computer graphics at that time.</p>
<p>3.<br>
After Dark had a fish aquarium and so did competing products from Microsoft and <a href="https://winworldpc.com/product/pyro/20-dos" target="_blank">Fifth Generation Systems</a> – but in a moment likely recognizable to many people reading this blog, one person got fed up with <em>how bad they all looked</em> and created his own screensaver that became as well known as the flying toasters.</p>
<p>This <a href="https://www.youtube.com/watch?v=PprsZgA-kxs" target="_blank">16-minute video by LGR</a> talks about the story of The Marine Aquarium Screensaver:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=PprsZgA-kxs" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/yt2.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/yt2.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/yt2.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/yt2.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/yt2.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>This, too, had a lot more going on than I expected, including the eventual appearance of a hall-of-fame checkbox “Starfish allowed on glass.”</p>
<p>4.<br>
Another popular screensaver was Windows’s 3D Pipes, whose (much shorter) origin story is documented by Raymond Chen <a href="https://devblogs.microsoft.com/oldnewthing/20240611-00/?p=109881" target="_blank">on his excellent and long-running The Old New Thing blog</a>. </p>
<p>But it’s the first comment there that steals the show:</p>
<blockquote><p>These were mesmerizing, but quite often IT folks would enable these on Windows Servers, and they would essentially “bring down the system.” See, they were CPU intensive and would take a tax on the system essentially stealing CPU time away from the business application running. […]</p>
<p>I can recall the first time getting a call on this – and back then things were remote, etc. sometimes using PCAnywhere – and then I saw 3D Pipes running. Just told them to turn it off – and done. From that point forward the first question asked of our customers was “are you running any screen savers?”</p></blockquote>
<p>3D Pipes also had some <a href="https://devblogs.microsoft.com/oldnewthing/20241224-00/?p=110675" target="_blank">interesting lore behind it</a>:</p>
<blockquote><p>A customer complained that they were losing productivity because employees were spending too much time running the 3D Pipes screen saver and waiting for teapots to appear. They requested an option to increase the likelihood of a teapot, so the employees would be placated more quickly and get back to their work.</p></blockquote>
<p>If this doesn’t remind you of <a href="https://mashable.com/article/the-office-dvd-logo-cold-open" target="_blank">that scene from The Office with another famous screensaver</a>…</p>
<p>5.<br>
In <a href="https://tedium.co/2025/01/12/screen-saver-history/" target="_blank">Smith’s essay</a>, he posts Socha’s recounting of the exact logic of his early screensaver:</p>
<blockquote><p>How does Scrnsave do all this? The clock inside your PC ticks 18.2 times per second. Scrnsave contains a three-minute counter that starts at 3276—the number of clock ticks for three minutes. On each tick of the clock, Scrnsave subtracts one from this count, and it turns off the screen when it reaches zero. […]</p>
<p>Each time you push or release a key, the keyboard sends an interrupt signal to the PC. Scrnsave intercepts this interrupt; each time you push or release a key, Scrnsave resets its counter to 3276 (three minutes) before passing control to the ROM BIOS routines that read keystrokes. Scrnsave also resets its counter to 3276 every time a program sends characters to the screen. By intercepting these last two interrupts, Scrnsave can tell when you need to have the screen active, so it won’t shut out the lights unless you sit back or walk away for three minutes or more.</p></blockquote>
<p>It’s a very simple algorithm, but I was amazed by it, because that’s exactly the same algorithm you would use – in reverse – for any sort of <a href="https://developer.mozilla.org/en-US/docs/Glossary/Debounce" target="_blank">debouncing</a> that’s crucial in good front-end engineering; there is something kind of beautiful about these universal algorithms floating around, kind of like math quietly ruling the world around us. </p>
<p>But on that note, one last video. Do you remember that well-known <a href="https://unsung.aresluna.org/so-i-made-another-tool/">palette-cycling waterfall I posted some time ago</a>? </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/1.1088w.avif" alt="" width="800" height="500">
      </picture></figure>
<p>This wasn’t as much a “prevent CRT burn in” screensaver as it was “a piece of standalone, repeating, interactive art” screensaver. It graced many an Atari ST display.</p>
<p>Well, in April, a YouTuber Techmoan unpacked sort of a “prior art” to that, too – <a href="https://youtu.be/24e14PTJLJw?si=zGV5zOB-Q671dFne&amp;t=364" target="_blank">a picture frame that simulates a waterfall</a> (the relevant video segment starts at 6:04):</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/imagine-being-a-pixel-on-an-old-pac-man-game/2.1088w.avif" alt="" width="800" height="451">
      </picture></figure>
<p>The art is (again) garish, and there is no screen to save here, but also curiously – there are no electronics at all, either. How was it made? I’ll let you click through to find out. </p>
<p>It was fun for me to revisit this strange moment in time and learn more. It’s not just that there were tons of shared ideas, repeated algorithms, independent reinventions, and one-upping each other. What stood out to me was also how many people engaged here did other things I used and admired – SCRNSAVE’s Peter Socha created the absolute 🐐 <a href="https://en.wikipedia.org/wiki/Norton_Commander" target="_blank">Norton Commander</a>, Jim Sachs of the marine aquarium screensaver fame did graphics for the legendary <a href="https://www.mobygames.com/game/181/defender-of-the-crown/" target="_blank">Defender of the Crown</a> game, a few people at After Dark also made the original <a href="https://unsung.aresluna.org/testing-tip-enable-the-zoom-peek-gesture/">zoom peek gesture</a> before that, and the incredible <a href="https://www.mobygames.com/game/2473/the-incredible-machine/" target="_blank">The Incredible Machine</a> after.</p>
<p>It seems like a fascinating time that attracted people equally interested in tech as they were in its creative uses.</p><p><a href="https://unsung.aresluna.org/tags/easter-eggs/">#easter eggs</a> <a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“I’ve lost entire sentences of text to this incompetent implementation.”</title>
    <link href="https://unsung.aresluna.org/ive-lost-entire-sentences-of-text-to-this-incompetent-implementation" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/ive-lost-entire-sentences-of-text-to-this-incompetent-implementation</id>
    <published>2026-06-08T21:33:13.430Z</published>
    <updated>2026-06-08T21:33:13.430Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>John Gruber at Daring Fireball talks about a problem in SwiftUI-based macOS and iOS apps <a href="https://daringfireball.net/2026/06/swiftui_only_makes_it_easy_to_develop_bad_apps" target="_blank">where undo is completely broken during text editing</a>:</p>
<blockquote><p>Basic stuff that’s worked reliably for decades — some things that heretofore had worked forever — are dangerously broken. If you’re running MacOS 26 Tahoe, open Journal and make a new dummy entry. Type something like “The quick brown fox.” Then double-click on the word “brown” and delete it. Now invoke Undo.</p>
<p>What you expect is for the word “brown” to reappear. What happens is ... <em>the whole sentence disappears</em>. Gone. Invoke Redo and you only get back to “The quick fox.” The word “brown” is just gone forever. It’s nowhere in the Undo stack. That’s just profoundly fucked up.</p></blockquote>
<p>I couldn’t believe it, but I reproduced it myself just now on my phone (my backup Tahoe-running Mac is in a closet not responding to pings, I am now assuming out of embarrassment):</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/ive-lost-entire-sentences-of-text-to-this-incompetent-implementation/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/ive-lost-entire-sentences-of-text-to-this-incompetent-implementation/1-framed.1600w.webm"></video></figure>
<p>Gruber adds:</p>
<blockquote><p>Apple’s developer message used to be that it was not just easy to develop apps for their platforms, but that it was easy to develop <em>good idiomatically native</em> apps. You got the correct complex behavior — for things like Undo/&#8203;Redo — out of the box. That’s still true for AppKit and UIKit, but it’s never been true for SwiftUI, and <a href="https://www.apple.com/newsroom/2019/06/apple-unveils-groundbreaking-new-technologies-for-app-development/" target="_blank">SwiftUI is now seven years old</a>. That’s too long for any excuses to hold water.</p></blockquote>
<p>I don’t want to automatically assume that this problem has existed for seven years (vs. being a more recent deterioration), and I don’t know exactly which native apps use SwiftUI, but either way, this reflects very poorly on Apple.</p>
<p>Software engineering typically has some categories of bugs and failures that result in immediate action – a night shift, a war room, “sevs,” and so on. Those are, in my experience, things like:</p>
<ul>
        <li>the app crashes,</li>
        <li>the site doesn’t load,</li>
        <li>there is data loss.</li>
      </ul>
<p>Depending on what you work on, this list will also likely include security problems, regulatory considerations, privacy-leaking bugs, and so on. In a more mature organization, these are all well documented, but even in early startups there is some shared understanding that some bugs are bigger than life and they take immense priority over pretty much anything else.</p>
<p>At any company, a version of this list needs to exist for front-end and user-experience problems, and undo should be on top of that list. If you break undo, <em>you drop what you’re doing to fix it</em>.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/process/">#process</a> <a href="https://unsung.aresluna.org/tags/undo/">#undo</a></p>]]></content>
  </entry>
  <entry>
    <title>“I am skeptical it achieves what Apple intends.”</title>
    <link href="https://unsung.aresluna.org/i-am-skeptical-it-achieves-what-apple-intends" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/i-am-skeptical-it-achieves-what-apple-intends</id>
    <published>2026-06-08T13:37:57.353Z</published>
    <updated>2026-06-08T13:37:57.353Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://pxlnv.com/blog/window-chrome-of-our-discontent/" target="_blank">Nick Heer’s analysis of Apple’s Pages interface</a> over time is a nice counterpart to the recent post about Sinofsky<a href="https://unsung.aresluna.org/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/"> doing the same for the early years of Microsoft Office</a>. Here is the key comparison, 2011–2025:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/1.1088w.avif" alt="" width="800" height="451">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/2.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/3.1088w.avif" alt="" width="800" height="674">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/4.1088w.avif" alt="" width="800" height="674">
      </picture></figure>
<p>I’ll let you read the whole excellent analysis and Heer poking at the notion of “content over chrome” which feels dogmatically attractive, but needs deeper thinking which usually doesn’t follow.</p>
<p>The interesting thing to me about that last screenshot above is that the team didn’t want a toolbar separated from content – and yet, they walked themselves into recreating a de facto toolbar anyway, just uglier and with more problems. (Just like <a href="https://unsung.aresluna.org/each-one-of-these-buttons-has-four-distinct-purposes/">designers who use all-white for complex surfaces</a>, and arrive at visual hierarchy challenges that now require more work.)</p>
<p>We’re a few hours away from WWDC. I don’t imagine we will see any direct response to the criticism of Liquid Glass as Apple <a href="https://unsung.aresluna.org/the-curse-of-the-cursor/">doesn’t work that way</a>, but it will be interesting to spot any indirect signs of reactions or course corrections.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/nick-heer/">#nick heer</a></p>]]></content>
  </entry>
  <entry>
    <title>“Each one of these buttons has four distinct purposes.”</title>
    <link href="https://unsung.aresluna.org/each-one-of-these-buttons-has-four-distinct-purposes" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/each-one-of-these-buttons-has-four-distinct-purposes</id>
    <published>2026-06-08T12:53:52.168Z</published>
    <updated>2026-06-08T12:53:52.168Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A nice <a href="https://pending.design/buttons-not-for-clicking/" target="_blank">blog post by Nathan Manceaux-Panot</a> on Pending Design about the subtle design of the tabs underneath the search results in the programming editor Nova:</p>
<blockquote><p>Through buttons right below its text field, the bar also lets you filter results: only show files, only show symbols, or only show symbols in current tabs. Here’s the thing, though: each one of these buttons has <em>four distinct purposes</em>. They’re not just for clicking.</p></blockquote>
<p>The tabs are clickable as they normally are, but they’re also a treasure map (to tell you something is possible), a cheat sheet (to remind you how to do it again), and an onramp for faster keyboard navigation.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/1-thumbnail.avif" width="574" height="508" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/1.1600w.mp4"></video></figure>
<p>I’d add two more things to the celebration:</p>
<ul class="long-list">
        <li>I myself often forget onboarding is not just about the first run, but also about <em>reinforcement</em>. Here, this UI does a lot of reinforcing over time, helping you build the habit. Pressing the key highlights the tab. Clicking on the tab adds a key as if you pressed it, and so does using an advanced shortcut (e.g. ⌃⌘O instead of ⇧⌘O). Even slash as a symbol comes from path names, so you might naturally associate it with files. </li>
      </ul>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/2.1088w.avif" alt="" width="574" height="508">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/3.1088w.avif" alt="" width="574" height="508">
      </picture></figure>
<ul class="long-list">
        <li>The search pop-up always has a nice contrasty appearance: dark when the background is light, or vice versa. Many modern interfaces go for white background for every UI element and surface. This <em>seems</em> like solely an aesthetic choice, but has more consequences when it comes to visibility of things, and even hierarchy. I am personally always excited when I see a duochrome app these days, because it feels like the team knows what they’re doing and isn’t just chasing visual trends. (Below is an example from Bear.)</li>
      </ul>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/each-one-of-these-buttons-has-four-distinct-purposes/4.1088w.avif" alt="" width="800" height="657">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/bear/">#bear</a> <a href="https://unsung.aresluna.org/tags/coding/">#coding</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/onboarding/">#onboarding</a> <a href="https://unsung.aresluna.org/tags/search/">#search</a></p>]]></content>
  </entry>
  <entry>
    <title>Book review: Steve Jobs in Exile</title>
    <link href="https://unsung.aresluna.org/book-review-steve-jobs-in-exile" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/book-review-steve-jobs-in-exile</id>
    <published>2026-06-07T16:54:23.946Z</published>
    <updated>2026-06-07T16:54:23.946Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>★★★★☆ (as a book) <br>
★★★☆☆ (for the purposes of this blog)</p>
<p>There are as many books about Steve Jobs as there were Quadra models, but they focus mostly on two phases:</p>
<ul>
        <li>1955–1985 – Steve Jobs befriending Wozniak, the early days of Apple, Lisa, and the Mac</li>
        <li>1997–2011 – Steve Jobs’s “second act” at Apple, and the creation of the iMac, iPod, iPhone, and so on</li>
      </ul>
<p><a href="https://geoffreycain.net/steve-jobs-in-exile/" target="_blank">Steve Jobs in Exile</a> by Geoffrey Cain is a just-released, rare volume that focuses on the “in-between years” – starting with Steve Jobs founding NeXT and Pixar after his Apple ouster, and ending with him coming back to Apple under the absolutely strangest of circumstances. It’s a doubly interesting phase, both because we see Jobs maturing as a leader and actually learning from his many mistakes, and because the early technical NeXT decisions eventually became underpinnings for modern macOS and iOS.</p>
<p>I do not see this as a book of new immense insight, technical depth, or design details, but that doesn’t mean it doesn’t go beyond surface level. What I appreciated most was Cain not shying away from pointing at some of Steve Jobs’s mistakes: hiring wrong people he happened to like, almost driving the company to the ground through obstinance, inability to focus on things he considered uninteresting, and a profound dose of duplicity coming into the NeXT/&#8203;Apple merger.</p>
<p>Other things that stood out: focus on people <em>around</em> Jobs, spotlight on Jobs’s disappointing moral flexibility around working with government (or befriending Larry Ellison, for that matter), and a really fun pizza ordering story that serves as a prelude to the Starbucks call during the iPhone 2007 keynote.</p>
<p>Some learnings:</p>
<ul class="long-list">
        <li>Craft and taste alone are not enough; you can spend your talents and energy on things that don’t “matter” given some definition of the word. That could be okay if that’s a choice you make – “impact” is ill-defined and often overrated, anyway – but you need to approach it clear-eyed, which Jobs didn’t initially know how to do.</li>
      

        <li>Confidence, like everything, needs to be practiced, and focused, and influenced back by feedback and reactions. (Witness the negotiating acumen of a certain Jean-Louis Gassée!)</li>
      

        <li>It’s really hard to create a culture of hard and honest and deep conversations that’s also not a culture of abuse and toxicity.</li>
      </ul>
<p>The one thing I didn’t like about the book was that the few photos inside are only perfunctory; there’s a lot of chatter about a beautiful, symbolic NeXT lobby staircase, top-of-the-landline phones, and expensive chairs, but we never get to see them. Many of the photos are by Doug Menuez – <a href="https://exhibits.stanford.edu/menuez/catalog?page=1&amp;per_page=10000&amp;search_field=search&amp;view=gallery" target="_blank">which you can also see online</a> – but the problem is that those photos are generally not that interesting.</p>
<p>That aside, it’s still a breezy and entertaining read that filled in some gaps and provoked new thoughts.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-steve-jobs-in-exile/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-steve-jobs-in-exile/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-steve-jobs-in-exile/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-steve-jobs-in-exile/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/book-review-steve-jobs-in-exile/1.1088w.avif" alt="" width="642" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/book/">#book</a> <a href="https://unsung.aresluna.org/tags/book-review/">#book review</a> <a href="https://unsung.aresluna.org/tags/culture/">#culture</a> <a href="https://unsung.aresluna.org/tags/next/">#next</a> <a href="https://unsung.aresluna.org/tags/review/">#review</a></p>]]></content>
  </entry>
  <entry>
    <title>“Artifacts from a strange moment”</title>
    <link href="https://unsung.aresluna.org/artifacts-from-a-strange-moment" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/artifacts-from-a-strange-moment</id>
    <published>2026-06-07T12:55:13.408Z</published>
    <updated>2026-06-07T12:55:13.408Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Welcome to another Super Mario Sunday! </p>
<p>This is <a href="https://youtu.be/N1kh8h2WV0c" target="_blank">an 11-minute video from gruz</a> talking about the fascinating world of South Korean bootleg Marios, such as Super Boy, Super Bros World, and Super Bio Man – existing solely because of Korea’s subpar copyright law of that era:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=pbjAvZSMnbE" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/artifacts-from-a-strange-moment/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/artifacts-from-a-strange-moment/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/artifacts-from-a-strange-moment/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/artifacts-from-a-strange-moment/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/artifacts-from-a-strange-moment/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>In short: The code was copyrighted, but the IP was not, so many companies rebuilt Mario for the dominant game console of the region, in the process stripping it of all of the original game’s actual craft – with “levels feeling assembled rather than built” and “getting the [visuals] right and missing almost everything underneath” – and as such become interesting as a reflection of the details that actually made Mario great. </p>
<p>However, as the time moves on, some of the bootleg games actually get better and better, and come into their own. It’s interesting to compare this to <a href="https://unsung.aresluna.org/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/">Nintendo’s own “clone” I mentioned before</a>. </p>
<p>What I wouldn’t give for some oral history of what looks like an absolutely fascinating time and place for software.</p><p><a href="https://unsung.aresluna.org/tags/craft/">#craft</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/super-mario-bros/">#super mario bros</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Face with symbols over mouth, apparently</title>
    <link href="https://unsung.aresluna.org/face-with-symbols-over-mouth-apparently" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/face-with-symbols-over-mouth-apparently</id>
    <published>2026-06-06T20:15:46.073Z</published>
    <updated>2026-06-06T20:15:46.073Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A nice moment in the iOS emoji keyboard – after selecting an emoji from the grid, its name shows up for a second:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/face-with-symbols-over-mouth-apparently/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/face-with-symbols-over-mouth-apparently/1-framed.1600w.webm"></video></figure>
<p>I have small reservations here, as reusing a placeholder like this trips up my “<a href="https://unsung.aresluna.org/houston-we-have-1-problems/">this is cheap</a>” alarm. But otherwise I like that this – just like keyboard shortcuts in menus or tooltips – ambiently teaches you the alternative representation of the emoji that you can use later to get to it faster.</p>
<p>(Another way of looking at it: This is a tooltip in a place where tooltips cannot exist.)</p><p><a href="https://unsung.aresluna.org/tags/search/">#search</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>“-4.5° rather than -45°?”</title>
    <link href="https://unsung.aresluna.org/4.5-degrees-rather-than-45-degrees" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/4.5-degrees-rather-than-45-degrees</id>
    <published>2026-06-06T19:02:46.383Z</published>
    <updated>2026-06-06T19:02:46.383Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Two nice follow-ups to topics we covered before.</p>
<p>In February, Nobert Heger <a href="https://unsung.aresluna.org/trust-your-fingers/">did some analysis</a> of precisely which pixels in Tahoe are intercepted by mouse when trying to resize a window. In April, Steve Ruiz, author of tldraw, <a href="https://tldraw.dev/blog/a-review-of-design-tool-hover-areas" target="_blank">did this more extensively for all the drawing apps</a> like Canva, Figma, Illustrator, and so on:</p>
<blockquote><p>When a user has one or more shapes selected, we display an interactive overlay that allows the user to transform their selection: a drag inside the box will translate the selection; a drag on the edges will resize along that axis; a drag from the corner will resize along both axes; and a drag from further out on the corners will rotate the selection.</p>
<p>Like many features in tldraw, my design here was meant to follow the conventions of design tools. This meant a broad survey of other applications, both new and old, reconciling differences between them, and picking a design that I felt best served the user while remaining conventional.</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/1.1088w.avif" alt="" width="800" height="420">
      </picture></figure>
<p>Remember the “<a href="https://unsung.aresluna.org/if-you-put-the-apple-icons-in-reverse/">if you put the Apple icon in reverse</a>” joke from January? Last month, Jim Nielsen on his blog <a href="https://blog.jim-nielsen.com/2026/rotten-macos-icon-design/" target="_blank">pulled on that thread and showed a few more examples</a>:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/2.1088w.avif" alt="" width="800" height="180">
      </picture></figure>
<blockquote><p>Some 3rd-party apps continue to fight a good fight, even as Apple’s definition of what an icon should be — or what’s even possible — shrinks all around them.</p></blockquote>
<p>One finding from this blog post for me was that things changed. In Big Sur, <a href="https://unsung.aresluna.org/they-did-the-bare-minimum-and-moved-on/">the squircle form factor was encouraged, but not enforced</a>. Well, it is enforced <em>now</em>, when even shapes very similar to the squircle are now inside “the gray box of hell”:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/3.1088w.avif" alt="" width="800" height="345">
      </picture></figure>
<p>These gray boxes are not some pedestal for icons. They’re the actual icons.</p>
<p>Anyway, I always appreciate efforts of people methodically documenting things so we can all learn and notice patterns and/or continue the work from the best possible starting point.</p><p><a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>More molly guards</title>
    <link href="https://unsung.aresluna.org/more-molly-guards" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/more-molly-guards</id>
    <published>2026-06-05T20:15:40.831Z</published>
    <updated>2026-06-05T20:15:40.831Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Ever since I wrote a post about the <a href="https://unsung.aresluna.org/molly-guard-in-reverse/">molly guard</a>, I have been on the lookout for those, and I think I collected enough to do a little follow-up.</p>
<p>First, some classic industrial molly guards from a museum in Germany:</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/1.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/2.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
</div><div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/3.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/4.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
</div><p>This IBM electronic typewriter had a gorgeous perspex molly guard around the power button:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/5.1088w.avif" alt="" width="800" height="482">
      </picture></figure>
<p>Other machines opted for “softer” quasi molly guards that still aimed to prevent you from pressing a button or switch by accident, but without having to get something out of the way first:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/6.1088w.avif" alt="" width="800" height="530">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/7.1088w.avif" alt="" width="800" height="533">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/8.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Even softer? This below is not a traditional molly guard, but the placement of “I’m writing to the SD card” red light was not accidental. Ejecting the card while the camera is writing to it might cause some damage, so the light was positioned right next to the card door and the card itself, making you more likely to spot it and wait:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/9.1088w.avif" alt="" width="559" height="700">
      </picture></figure>
<p>This one is even more clever. You know how some old floppy drives have a handle that lowers the reading/&#8203;writing head so that the diskette can be used? That same handle also prevented you from pulling the disk once the head was lowered. It felt so natural, you might not have even realized it’s a molly guard doing its job:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/10.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>On the other side, these following guards are more of a “you <em>really</em> shouldn’t do this” variety – much closer to a disabled state in graphical user interfaces:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/11.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/11.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/11.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/11.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/11.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/12.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/12.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/12.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/12.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/12.1088w.avif" alt="" width="467" height="700">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/13.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/13.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/13.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/13.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/13.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<p>Let’s jump into software.</p>
<p>This is a nice situational molly guard in Finder when you press ⌘O and have a lot of files selected:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/14.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/14.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/14.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/14.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/14.1088w.avif" alt="" width="372" height="308">
      </picture></figure>
<p>iPhone’s “slide to unlock” no longer graces the home screen, with one exception – stopping the alarm:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/more-molly-guards/15-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/more-molly-guards/15-framed.1600w.webm"></video></figure>
<p>There’s something about this treatment that doesn’t sit well with me. I’m not sure what it is: The text not feeling centered? The control being circular? The icon on the slider making it seem like it’s a stop button you can press?</p>
<p>Speaking of stuff I don’t love, you might recognize this molly guard from Chrome:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/16.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/16.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/16.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/16.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/16.1088w.avif" alt="" width="350" height="70">
      </picture></figure>
<p>This one never felt pleasant to me. You might say “isn’t the point of the molly guard that it <em>doesn’t</em> feel pleasant”? But I think one needs to separate the intent and the mechanics. I don’t mind the intent here, but the styling is ugly, the message kind of confusing – you don’t really have to hold ⌘Q, just press it again – and you also don’t get any feedback during holding.</p>
<p>Contrast with this extremely skeuomorphic CD burning molly guard in early iTunes, suggested by one of the readers:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/more-molly-guards/17-thumbnail.avif" width="800" height="560" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/more-molly-guards/17.1600w.mp4"></video></figure>
<p>And lastly, something I didn’t expect to ever see. Per <a href="https://ws.engr.illinois.edu/sitemanager/getfile.asp?id=540" target="_blank">this issue</a> (page 14) of an alumni magazine of University of Illinois, here’s the actual Molly with her father:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/18.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/18.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/18.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-molly-guards/18.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-molly-guards/18.1088w.avif" alt="" width="256" height="400">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“Then suddenly we were boring, bloated, and not particularly interesting.”</title>
    <link href="https://unsung.aresluna.org/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting</id>
    <published>2026-06-04T21:59:21.665Z</published>
    <updated>2026-06-04T21:59:21.665Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In 2021 and 2022, product manager Steven Sinofsky wrote a…</p>
<blockquote><p>…first-person account of what I saw at the PC revolution from the perspective of joining Microsoft as a newly hired software design engineer fresh from graduate school working on developer tools, through my time as a program manager and ultimately leading Office, and then moving to Windows, and everything in between.</p></blockquote>
<p>Sinofsky called the series <a href="https://hardcoresoftware.learningbyshipping.com/p/roadmap-table-of-contents" target="_blank">Hardcore Software: Inside the Rise and Fall of the PC Revolution</a>. It covers 1989–2012 and somewhere inside over 100 chapters, there is a fascinating six parter about the “<a href="https://en.wikipedia.org/wiki/Ribbon_(user_interface)" target="_blank">ribbon</a>” redesign of Office 2007. </p>
<ul>
        <li><a href="https://hardcoresoftware.learningbyshipping.com/p/077-what-is-bloat-really?s=w" target="_blank">What is Software Bloat, Really?</a></li>
        <li><a href="https://hardcoresoftware.learningbyshipping.com/p/078-museum-of-office-past" target="_blank">A Tour of “Ye Olde Museum Of Office Past”</a></li>
        <li><a href="https://hardcoresoftware.learningbyshipping.com/p/079-competing-designs-better-design" target="_blank">Competing Designs, Better Design</a></li>
        <li><a href="https://hardcoresoftware.learningbyshipping.com/p/080-progress-from-vision-to-beta" target="_blank">Progress From Vision to Beta</a></li>
        <li><a href="https://hardcoresoftware.learningbyshipping.com/p/081-first-feedback-and-a-surprise" target="_blank">First Feedback and a Surprise</a></li>
        <li><a href="https://hardcoresoftware.learningbyshipping.com/p/082-defying-conventional-wisdom" target="_blank">Defying Conventional Wisdom to Finish Office</a></li>
      </ul>
<p>The first part covers the challenge of the team in 2007, taking stock of Office after almost 25 years of its evolution. (Number of toolbars in 1983: one. Number of toolbars in 2003: 31.) The second part shows great screenshots of all the Office versions from 1.0 until then, and the remaining four cover the Ribbon redesign process.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/1.1088w.avif" alt="" width="800" height="600">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/2.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/3.1088w.avif" alt="" width="800" height="600">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/then-suddenly-we-were-boring-bloated-and-not-particularly-interesting/4.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>Regardless of how you feel about Microsoft Office today, and whether you consider the Ribbon interface a success, it’s a perfect weekend read as it covers universal challenges of software complexity and change management.</p>
<p>It’s such a potent series I’m sure we’ll come back to it. It covers a lot, including – in the first part – wrestling with a definition of bloat or complexity, which in the context of Office was less about the number of functions available, and more about mastery:</p>
<blockquote><p>[…] In practice, bloat comes from the fact […] that Office does so many things that customers just assume the product can do whatever they need it to do. Despite that fact, customers have no idea how to make the product do what they need. This feeling of helplessness that leads to frustration. […]</p>
<p>Bloat is owning a product that you cannot master. </p></blockquote>
<p>This below is a great observation about the perils of an idea of a “simple mode,” which Sinofsky argues is always a <a href="https://en.wikipedia.org/wiki/Leaky_abstraction" target="_blank">leaky abstraction</a>:</p>
<blockquote><p>We tried reducing bloat by hiding features […], but that only added to the mystery of the product. Mac, Windows, and Office all went through periods of “simple means fewer” and tried mechanisms such as short menus, simple mode, or adaptive toolbars. But that frustrated or confused people. No one really wanted to use a simple mode and there was always one command missing that was needed, so simple mode became a complicated way to do that one thing that made someone’s work unique.</p></blockquote>
<p>It was great to see this argument for a broad definition of a bug, as it slides exactly into <a href="https://unsung.aresluna.org/how-to-make-sure-a-designer-never-files-a-bug-again/">my post from a while back</a>:</p>
<blockquote><p>Ages ago in ancient Microsoft history there was a debate on the original apps team about what it means for something to be a bug. Is it a crash? Is it data loss? Is it a typo in an error message and so on? Out of that was created a notion of bug severity, a measure for how serious a bug might be from losing all data all the way to simple cosmetic issues. However, when it came to talking about bugs with product support or ultimately customers the definition of a bug was very simple “a bug is any time the software does not do what a customer expects”. This definition created a discipline of documenting everything reported about the product and always making sure every issue was looked at, even if a code change did not result. The key lesson was how helpful an expansive definition was.</p></blockquote>
<p>There are also observations and research about how users “debug” the product to make it achieve something they know is possible, but they don’t know how:</p>
<blockquote><p>We called the futzing document debugging, and it created a frustration that the product was powerful yet overwhelming. People believed a specific result was achievable but getting from point A to B seemed impossible or unlearnable.</p></blockquote>
<p>And some about the challenges of figuring out what features people use:</p>
<blockquote><p>[…] Most people didn’t know or care what buttons they clicked on or menus they chose so long as it was working for them—and that meant when asked, “Did you use X?” most people couldn’t recall. To a skeptical press or IT manager (and they all were) that meant unused features.</p></blockquote>
<p>I should stop quoting and let you read in peace. But, check this out. <a href="https://unsung.aresluna.org/lisas-copy-and-cut-and-paste/">Lisa</a> wasn’t the only one having linguistic fun:</p>
<blockquote><p>Early keyboard shortcuts were simple, like using Ins(ert) key to copy text from the scrap (clipboard).</p></blockquote>
<p>Scrap!?</p><p><a href="https://unsung.aresluna.org/tags/case-study/">#case study</a> <a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>Good type against all odds</title>
    <link href="https://unsung.aresluna.org/good-type-against-all-odds" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/good-type-against-all-odds</id>
    <published>2026-06-04T07:47:13.819Z</published>
    <updated>2026-06-04T07:47:13.819Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure>
        <video poster="https://unsung.aresluna.org/_media/good-type-against-all-odds/1-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/good-type-against-all-odds/1.1600w.mp4"></video></figure>
<p>This is not italics. This is not even <a href="https://en.wikipedia.org/wiki/Oblique_type" target="_blank">oblique</a>. This is a side effect of how those displays work. Instead of a whole rectangle of pixels being changed at once, the display is updated line by line, starting from the top one. As it’s moving towards the bottom, the internal horizontal position might have already advanced, the subsequent lines will be drawn slightly to the left, and it all leads to a slanted appearance. (This is in effect the same problem as <a href="https://en.wikipedia.org/wiki/Rolling_shutter" target="_blank">rolling shutter</a> in photography.)</p>
<p>The interesting thing is that it could’ve gone the other way. Twice. In English or German, we treat scrolling left to be natural, and we consider only one direction of italic slant appropriate. The first has to do with the direction of reading. I believe the second is, like many things in typography, customary; there’s nothing inherently better than right-leaning letters, except we’re used to them since those are the only ones we ever see.</p>
<p>But, the person putting it all together could’ve just as well done it the other way: scrolling to the right, or slanting to the left (by updating the display bottom to top – not as unusual as you might think!). Were those intentional choices, or was it a default? I’m not sure, but it points to the value of knowing this stuff, or creating a culture where this stuff is treasured. Often, more craft will require more work. Sometimes, however, you will get it for free – but only if you choose the right fork in the road.</p>
<p>While we’re here, how about a few other examples of delightful moments in typography where I did not expect them? These, I believe, will be all intentional. But whether you consider them craft, or even good, I don’t know.</p>
<p>Here are some surprising small caps:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/2.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Here’s a cute depiction of a train carriage, somewhat hampered by the limitations of a similar workhorse 5×7 pixel font display:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/3.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>But here’s something even better. This icon of a stadium cleverly leaned into the same limitations. It’s so delightful. These are, I believe, four characters side by side:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/4.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Here, someone added nice decoration to fill out the space:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/5.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Here, someone removed all the line height to create a <em>fascinating</em> vertical ligature. This is <a href="https://aresluna.org/the-hardest-working-font-in-manhattan/" target="_blank">Gorton</a> and the letters are carved into the plastic, so this required some effort!</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/6.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Speaking of obliques, this NOT is too thick, and slightly too large, but you have to appreciate someone actually slanting the text rather than underlining it, or decorating in a simpler way:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/7.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Even if you underline, you can go a little… well, below and beyond:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/8.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Or, here, with maybe the most impressive, three-dimensional underline I’ve ever seen:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/9.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/10.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>This I spotted on an old typesetting machine, and I would like to believe this is an intentional easter egg:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/11.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/11.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/11.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/11.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/11.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>This was on a computer keyboard. You don’t expect hyphenation in this context…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/12.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/12.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/12.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/12.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/12.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>…and you <em>definitely</em> don’t expect an old-fashioned contraction:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/13.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/13.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/13.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/13.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/good-type-against-all-odds/13.1088w.avif" alt="" width="467" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/craft/">#craft</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>Three good interactive explainers</title>
    <link href="https://unsung.aresluna.org/three-good-interactive-explainers" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/three-good-interactive-explainers</id>
    <published>2026-06-02T19:54:36.297Z</published>
    <updated>2026-06-02T19:54:36.297Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Interactive explainers are one of my favourite things about the web: people passionate about things introduce them to others, for free, with care, and often using some interesting interactive or educational approaches in the process.</p>
<p>I picked a few I particularly liked for this post. These aren’t just explaining things useful to know as a designer, but also themselves contain inspiring/&#8203;unique interactive moments worth knowing about:</p>
<p>1.<br>
<a href="https://ciechanow.ski/curves-and-surfaces/" target="_blank">Curves and Surfaces</a>, Bartosz Ciechanowski</p>
<ul>
        <li>Every example has draggable points, but it also pops up an undo button once you start messing around, so you can feel safe experimenting:</li>
      </ul>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-good-interactive-explainers/1-thumbnail.avif" width="700" height="322" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-good-interactive-explainers/1.1600w.mp4"></video></figure>
<ul>
        <li>Specific ideas and definitions are color coded between text and the interactive pieces:</li>
      </ul>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-good-interactive-explainers/2-thumbnail.avif" width="616" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-good-interactive-explainers/2.1600w.mp4"></video></figure>
<ul>
        <li>For complex three-dimensional shapes, you can simply rotate them around to orient yourself better:</li>
      </ul>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-good-interactive-explainers/3-thumbnail.avif" width="700" height="539" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-good-interactive-explainers/3.1600w.mp4"></video></figure>
<ul>
        <li>I liked this trick of claiming something is impossible, but leaving a door open to try it anyway – I bet it will get some people more engaged, in the “but I’m sure <em>I</em> can lick my elbow” sense:</li>
      </ul>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-good-interactive-explainers/4-thumbnail.avif" width="700" height="483" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-good-interactive-explainers/4.1600w.mp4"></video></figure>
<p>2.<br>
<a href="https://alexharri.com/blog/ascii-rendering" target="_blank">ASCII Characters Are Not Pixels</a>, Alex Harri</p>
<ul>
        <li>I think the traditional “drag a divider to swap between two representations” interaction is actually kind of bad, but this essay subverts it by allowing you to toggle between representation A, representation B, or both side by side:</li>
      </ul>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-good-interactive-explainers/5-thumbnail.avif" width="700" height="532" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-good-interactive-explainers/5.1600w.mp4"></video></figure>
<ul>
        <li>A button to copy code to clipboard is always appreciated:</li>
      </ul>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-good-interactive-explainers/6-thumbnail.avif" width="700" height="135" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-good-interactive-explainers/6.1600w.mp4"></video></figure>
<ul>
        <li>I don’t know, I liked these minimalistic sliders:</li>
      </ul>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-good-interactive-explainers/7-thumbnail.avif" width="700" height="502" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-good-interactive-explainers/7.1600w.mp4"></video></figure>
<p>3.<br>
<a href="https://nik.digital/posts/tab-roving" target="_blank">Tab Roving</a>, Niklas Gadermann</p>
<ul class="long-list">
        <li>It’s hard to know what to do with complex interactivity, for example a specific sequence of keystrokes… let alone the fact that mobile phones don’t have easily accessible arrow or Tab keys. Here, a brilliant solution: not just on-screen soft keys, but also automatic playback!</li>
      </ul>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-good-interactive-explainers/8-thumbnail.avif" width="700" height="393" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-good-interactive-explainers/8.1600w.mp4"></video></figure>
<p>Also, kudos to all three creators for their explainers working equally well on phones as they do on desktop computers.</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/undo/">#undo</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>A mixed blessing</title>
    <link href="https://unsung.aresluna.org/a-mixed-blessing" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-mixed-blessing</id>
    <published>2026-06-02T05:29:46.961Z</published>
    <updated>2026-06-02T05:29:46.961Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The otherwise excellent <a href="https://unsung.aresluna.org/tags/bear/">note-taking app Bear</a> has an interesting <a href="https://community.bear.app/t/toggle-shortcut-doesn-t-handle-mixed-states-well/19009" target="_blank">bug</a> that’s worth talking about while it’s still here.</p>
<p>When you’re around to-do items, you can press ⌘. (period) to toggle any task complete or incomplete. It’s actually a really fun shortcut in practice:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/a-mixed-blessing/1-thumbnail.avif" width="193" height="233" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-mixed-blessing/1.1600w.mp4"></video></figure>
<p>But when you have a larger selection with a mixed state (some checkmarks are on, others off), this is what happens:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/a-mixed-blessing/2-thumbnail.avif" width="193" height="233" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-mixed-blessing/2.1600w.mp4"></video></figure>
<p>This feels like an obvious thing to implement, and this is also where the code itself wants to go when left alone. </p>
<p>But this is not great. The rule is: When you have a mixed state, changing it should collapse (or: normalize) the entire selection to one state or the other, rather than perform individual inversion. Try ⌘B in your text editor on partially bolded text, and you can see that collapse in action:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/a-mixed-blessing/3-thumbnail.avif" width="649" height="188" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-mixed-blessing/3.1600w.mp4"></video></figure>
<p>It feels strange to recommend that, particularly as it seems like it loses data. So, what gives?</p>
<p>The first argument is “do not make the user jump through hoops” or maybe “respect a large selection.” If, as a user, I want to actually make sure all my tasks are done, the shortcut not being <a href="https://unsung.aresluna.org/deterministic-vs-idempotent/">idempotent</a> means that I now have to go through tasks one by one, and that’s a lot of work – especially since we’re talking about text selection, which is famously unpleasant.</p>
<p>The second reason is that even the UI layer has an opinion here. In the above bolding example, Pages collapsing the selection to bold when you press the B toggle, makes the toggle UI behave exactly as it normally would with a simple selection:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/a-mixed-blessing/4-thumbnail.avif" width="800" height="230" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-mixed-blessing/4.1600w.mp4"></video></figure>
<p>Elsewhere, in Figma, typing a number on top of a “mixed” state changes all the properties of relevant objects to that number:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/a-mixed-blessing/5-thumbnail.avif" width="800" height="525" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-mixed-blessing/5.1600w.mp4"></video></figure>
<p>Imagine how awful it would feel mechanically in both the above examples if your action would still leave the text in the “mixed” state. It would simply appear like the UI broke, since the change didn’t fully “stick” – kind of like those tiny hated moments when you close the door, but it doesn’t latch on and reopens on its own, or when you engage the turn signal stalk, but it refuses to stay put and snaps right back.</p>
<p>There is also one last reason. It’s the simplest one that I sometimes have to remind myself to put in my head before I jump too deep into the mechanics, or details, or technical nuances. Let’s say the toggles invert individually on a large selection. Who would ever benefit from it behaving this way?</p><p><a href="https://unsung.aresluna.org/tags/bear/">#bear</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a></p>]]></content>
  </entry>
  <entry>
    <title>“Whoever is doing this had some fun with adding these portions.”</title>
    <link href="https://unsung.aresluna.org/whoever-is-doing-this-had-some-fun-with-adding-these-portions" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/whoever-is-doing-this-had-some-fun-with-adding-these-portions</id>
    <published>2026-06-02T05:26:25.989Z</published>
    <updated>2026-06-02T05:26:25.989Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I hate lorem ipsum with passion, but guess what? There’s more intentionality in it than I assumed, and even easter eggs, as this <a href="https://www.youtube.com/watch?v=kL1PDqzqhM4" target="_blank">fun 25-minute mini documentary</a> from Emily Zhang/&#8203;Rabbit Hole shows:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=kL1PDqzqhM4" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/whoever-is-doing-this-had-some-fun-with-adding-these-portions/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/whoever-is-doing-this-had-some-fun-with-adding-these-portions/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/whoever-is-doing-this-had-some-fun-with-adding-these-portions/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/whoever-is-doing-this-had-some-fun-with-adding-these-portions/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/whoever-is-doing-this-had-some-fun-with-adding-these-portions/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<blockquote><p>You can tell that this was not the work of an amateur. The garbled text is done with a lot of care and knowledge. You can see a lot of rational decisions about why it looks the way it does in there. They are making very careful additions, such as adding letters… the “-and”s and the “-ng”s… The “y” got stuck in because that’s an English letter. […] I think the fact that it is garbled Latin text, and that it has those other letters in a fairly Latin-based alphabet amount of frequency, speaks to that it was done very, very carefully.</p></blockquote>
<p>Just a fun watch all around.</p><p><a href="https://unsung.aresluna.org/tags/typography/">#typography</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Writing about fonts</title>
    <link href="https://unsung.aresluna.org/writing-about-fonts" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/writing-about-fonts</id>
    <published>2026-06-01T07:05:44.315Z</published>
    <updated>2026-06-01T07:05:44.315Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In <a href="https://unsung.aresluna.org/a-few-interesting-modern-pixel-fonts/">last week’s post</a>, I made an off-hand comment about Vercel’s <a href="https://vercel.com/blog/introducing-geist-pixel" target="_blank">Geist Pixel announcement</a>, and I thought it might be interesting to turn this into more of a full-fledged critique. </p>
<p>I don’t think it’s a good announcement, but its flaws are pretty universal, so I want to put words to these flaws. This will extend to a lot of other writing about design, not even necessary even just about typography.</p>
<p>Here’s my advice that I believe would make announcements like this better:</p>
<ul class="long-list">
        <li>Write like a human being would. This is famously hard, and takes practice. Here, we see stuff like “unapologetically digital,” “a functional tool within a broader typographical system,” “the result feels both nostalgic and contemporary,” and “constraints weren’t a limitation, they were the design tool.” No one talks like this. I think people believe font releases <em>have</em> to use these kinds of words and phrases, as a way to bring legitimacy to the project. I do not subscribe to that way of thinking. I think it leads to writing that’s optimized only for admiration, which is not as much fun for anyone.</li>
      

        <li>Show a specific example of a problem you solved. This page hints at some things – “They don’t scale properly across viewports, their metrics conflict with existing typography, or they’re purely decorative.” – but that feels altogether too vague to be useful or even interesting. These are actually fascinating and hard challenges, yet I know as much at the bottom of the page as I did at the top.</li>
      

        <li>Show details you are proud of. Zoom in literally or figuratively. “Each glyph was manually refined to avoid visual noise, uneven weight distribution, and awkward diagonals.” I would love to see a few examples.</li>
      

        <li>Show work in progress! Show stuff you discarded. This will be hard, but why not? It’s good practice and I believe this, more than anything else, will have people appreciate what you did. Plus, everybody loves a blooper reel. </li>
      

        <li>Related: talk about struggle. But don’t just motion in the direction of challenges, or performatively announce that this was the hardest project of your life. Actually talk about something that was hard, and why. Be vulnerable. Be honest. People didn’t care that Rocky lost in the first movie, because people cared about Rocky.</li>
      

        <li>Talk about your inspiration or history. What we all do here is part of something much bigger. Why a pixel font to begin with? Why is this interesting to you? Is that because Vercel is filled with nerds, or because you got bored with bold and italic, or because it just seems visually interesting in a new way?</li>
      

        <li>Let me type! Immediately and on every relevant page. I don’t think any modern font announcement/&#8203;tester can exist without this. This is the easiest way to getting to know the font and explore specific things that matter to you. (To do this here, you have to <a href="https://vercel.com/font" target="_blank">go to the font page</a>, switch to Geist Pixel at the top, and then scroll all the way to the bottom. This feels entirely too far away.)</li>
      

        <li>Show, don’t tell, generally. The Geist Pixel announcement feels rife for an avalanche of “show,” but has so little. I mentioned above wishing to see examples of manual refinements. There is a visual for “seamless mixing,” but it’s really a marketing photo, not a real-use example – it visualizes what, but you want to visualize what and <em>why </em>at the same time. I would love to see the spread of variants, specific examples of how the font is not “breaking in production” and “scaling properly across viewports.” I don’t know what is a “semi-mono approach” and I would like to learn.</li>
      

        <li>Motion is okay, but it has zero nutritional value. If you have limited resources, don’t spend it on motion. Anything interactive is better. (But again, the best interactive thing is letting you type.)</li>
      

        <li>The “Already shaping what’s next” is a narratively unsatisfying section, as it promises stuff that you cannot see yet. Either show those, or skip the tease altogether.</li>
      </ul>
<p>I know the elephant in the room here is “how big companies do things.” A lot of redesign announcements and font unveils exist chiefly to make the execs who championed them happy, and perhaps as fodder for future promotion – I bet the whole “Already shaping what’s next” section isn’t really written for external audience – and they get chewed by the big PR machine that often files away whatever personality and quirkiness might have been there. Your job is to fight that machine! But I acknowledge that it might be hard.</p>
<p>However, I’ve also seen all this seeping into personal font announcements, which is unfortunate. (I don’t want to link to specific examples, since that’d be punching down.)</p>
<p>Also, this is not just about the joy of reading or some general notion of “craft” – although they are important, too. This is also purely informational. I feel I haven’t learned enough from the Geist Pixel announcement for the amount of time I spent with it. I don’t understand “multiple variants for different densities and use cases” or “semi-mono approach” or what stylistic sets are included. (My general goal is to write in a way that people can learn something new from any design announcement, even if they don’t have any prior context, and if they never actually use the font.)</p>
<p>It‘s a shame, because the work itself seems thoughtful and excellent, deserves a better intro, and could help others interested in typography as a jumping off point, particularly because this feels like a typeface off the beaten path.</p>
<p>Just to round up this post, some recent counterexamples:</p>
<ul class="long-list">
        <li><a href="https://emilysneddon.com/fran-sans-essay" target="_blank">Fran Sans announcement post</a> by Emily Sneddon (complements the <a href="https://emilysneddon.com/fransans" target="_blank">font page</a>) – personal, distinctive, talks about the process, shows interesting artifacts.</li>
        <li>I feel that every small essay from David Jonathan Ross’s <a href="https://djr.com/font-of-the-month-club" target="_blank">Font Of The Month Club</a> teaches me something new – pick a font you like on that page, then click Notes next to it.</li>
        <li><a href="https://departuremono.com/" target="_blank">Departure Mono font page</a> by Helena Zhang doesn’t use a lot of words, but still says a lot.</li>
        <li><a href="https://shantellsans.com/process" target="_blank">Shantell Sans process post</a> by Shantell Martin (complements the <a href="https://shantellsans.com/" target="_blank">font page</a>) – already <a href="https://unsung.aresluna.org/i-was-inspired-by-the-comic-sans-typeface/">talked about it before</a>.</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/craft/">#craft</a> <a href="https://unsung.aresluna.org/tags/david-jonathan-ross/">#david jonathan ross</a> <a href="https://unsung.aresluna.org/tags/storytelling/">#storytelling</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>See you on the other side</title>
    <link href="https://unsung.aresluna.org/see-you-on-the-other-side" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/see-you-on-the-other-side</id>
    <published>2026-06-01T06:40:48.340Z</published>
    <updated>2026-06-01T06:40:48.340Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A nice moment in Google Maps – if you are travelling by public transit, an indicator shows not just the current stop on the list in real time, but also exactly where you are in between stops:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/see-you-on-the-other-side/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/see-you-on-the-other-side/1-framed.1600w.webm"></video></figure>
<p>It’s not just something traditionally delightful, a cute big icon moving smoothly. I also think it’s very helpful. Travelling in a new place can be stressful and station names look similar; it’s nice to orient yourself without having to go back to the map, and if the indicator only always pointed to a station, it would introduce off-by-one errors (“was it the last station, or is it the next one”)? </p>
<p>Plus, I think any design features that help your brain transition between abstract (list) and physical (map) views are very welcome. </p>
<p>My suggestion would be to consider making it pulsating and/or blue to tie it better together with the current GPS position, which has had the same visual signature since 2007.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a></p>]]></content>
  </entry>
  <entry>
    <title>“In a world of unresponsive 911 calls, it is the 912 that actually works.”</title>
    <link href="https://unsung.aresluna.org/in-a-world-of-unresponsive-911-calls-it-is-the-912-that-actually-works" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/in-a-world-of-unresponsive-911-calls-it-is-the-912-that-actually-works</id>
    <published>2026-05-31T06:35:56.260Z</published>
    <updated>2026-05-31T06:35:56.260Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I know I <a href="https://unsung.aresluna.org/nemo-thats-a-nice-name/">just mentioned</a> the Google Search app, but I’m also in the process of disentangling myself from Google and Gmail after last week’s Google I/O revelations.</p>
<p>On that note, this is an interesting, meandering <a href="https://tedium.co/2026/05/30/google-ai-udm14-reflection" target="_blank">essay by Ernie Smith at Tedium</a>, reflecting on the enshittification of Google and the two-year anniversary of <a href="https://udm14.com/" target="_blank">&amp;udm=14</a>, a simple site that removes AI from Google’s search results:</p>
<blockquote><p>I spent two hours of my life building a thing. Google has probably spent thousands, if not millions, of collective employee hours building all their AI innovations. And for a surprisingly large number of people, the two-hour workaround I built wins out. There’s a lesson in that.</p></blockquote>
<p>Somewhere in the middle, the essay transitions into talking about the value of good tools and single-serving websites:</p>
<blockquote><p>Our world needs more, smaller tools that speak the same language, where everyone makes a little money, but nobody dominates the industry. In the 1980s, the software industry was kind of like this. Oh, sure, Microsoft and Apple were still out front, sucking up all the oxygen. But there were lots of little companies, selling software on disks. The bigger ones put them in boxes in stores. The smaller ones realized that they could just ship software through the mail and let the software spread naturally among user communities.</p>
<p>Shareware didn’t really survive the internet era—but, at least for a while, its spirit did. More recently, that spirit has taken a backseat to the larger companies that realize, if they’re big enough, they can shape how we interact with our world.</p>
<p>In 1991, if you wanted to start a software company, you had to hope that your product was good enough that word of mouth and a P.O. Box could push it around. That’s exactly what happened when Tim Sweeney released ZZT. It became the starting point for Epic Games, the kind of company that today is big enough that, thanks to its Unreal Engine and the success of Fortnite, it can dictate terms to much of the gaming industry.</p>
<p>If you ask me, I want a world where more software is like ZZT than it is like Fortnite, because more people have a chance to succeed in the former environment.</p></blockquote>
<p>Previously in this general category, we covered <a href="https://unsung.aresluna.org/have-you-ever-been-annoyed-by-your-macs-media-keys/">Keyhole</a> and (Gmail) <a href="https://unsung.aresluna.org/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/">Simplify</a>. If you have a favourite small tool or a simple tool-like website, I’d love to hear from you!</p><p><a href="https://unsung.aresluna.org/tags/ai/">#ai</a> <a href="https://unsung.aresluna.org/tags/enshittification/">#enshittification</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/toolmaking/">#toolmaking</a></p>]]></content>
  </entry>
  <entry>
    <title>“Nemo? That’s a nice name.”</title>
    <link href="https://unsung.aresluna.org/nemo-thats-a-nice-name" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/nemo-thats-a-nice-name</id>
    <published>2026-05-31T06:10:47.632Z</published>
    <updated>2026-05-31T06:10:47.632Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Do you know those “Are you still here” screens? In some cases – like banking – they are ostensibly there to improve security. In public transit ticket or similar machines, on the other hand, they exist just so the machine can easily reset itself ahead of a future customer.</p>
<p>Resetting to default state happens on your phone, too. I’ve been thinking about it this past week and found a few examples. </p>
<p>The Google Search app comes back how you left it, except if you abandon it for longer than 45 minutes. If that‘s the case, it returns to a pristine, deterministic homepage. (You can always come back to the previous session, though.)</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/1-framed.1600w.webm"></video></figure>

<figure>
        <video poster="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/2-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/2-framed.1600w.webm"></video></figure>
<p>When you pause a podcast or music, at least in my setup, it will be on the home screen for 5 subsequent minutes – you can then resume it by simply tapping on your AirPods. But leave it dormant for longer than that, and the home screen forgets about it and resuming is impossible:</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/3-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/3-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/3-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/3-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/4-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/4-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/4-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/4-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>My favourite: if you swipe through the apps back and forth on the iPhone in a touch UI equivalent of command-tabbing, there needs to be a specific moment where the app you switch to becomes the “current” app. On desktop, it’s easy – you can reset the state at the next invocation of ⌘⇥. But there is no such obvious moment on mobile.</p>
<p>When there is no obvious moment, timeout can be a great answer. And so it is here, and it seems to be set at about 5–6 seconds:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/5-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/5-framed.1600w.webm"></video></figure>
<p>I understand the Google Search and the app switching examples. But I am not sure I know why a podcast resets so soon. A challenge when talking about this without seeing the code – as it is with many things on Unsung – is that I don’t know if this is carelessness, a technical limitation, a design consideration I’m unaware of, or just something that’s intentional, but I happen to disagree with. Even testing this has been hard if the delays are longer than seconds.</p>
<p>The extra challenge for Google Search, as it is for many other apps, is that they <em>also</em> reset when iOS itself purges it to make room for other apps. This isn’t great, and can be avoided if you care; we talked before about Bear and <a href="https://unsung.aresluna.org/the-vision-of-persistence/">how it remembers its precise state</a> even after the system evicts it from its memory.</p>
<p>Whether you want your app to remember you forever, or whether you want some deliberate forgetfulness, it could be important to take ownership of that. My go-to example of a miss in this category is Google Maps, which completely throws away its current trip-in-progress status whenever the iOS kicks it to the metaphorical curb – and returning to that status later again as a user is a really complicated sequence of steps including rewinding back the time, on top of travel already being stressful.</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/6-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/6-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/6-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/6-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/7-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/7-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/7-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/7-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>By the way, I can think of fewer examples on the desktop, but that makes sense given desktop apps are less tactical, and given that ⌘Q exists. </p>
<p>But Spotlight does freshen itself up after about 7 or 8 minutes…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/8.1088w.avif" alt="" width="800" height="609">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/9.1088w.avif" alt="" width="800" height="184">
      </picture></figure>
<p>…and Raycast actually offers an option to set its short-term memory from between 0 seconds and three minutes, with the default being 90 seconds:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/10.1088w.avif" alt="" width="507" height="336">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/raycast/">#raycast</a></p>]]></content>
  </entry>
  <entry>
    <title>“The broken, slapdash, bed-shitting end to one of the most iconic franchises in all of gaming history”</title>
    <link href="https://unsung.aresluna.org/the-broken-slapdash-bed-shitting-end-to-one-of-the-most-iconic-franchises-in-all-of-gaming-history" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-broken-slapdash-bed-shitting-end-to-one-of-the-most-iconic-franchises-in-all-of-gaming-history</id>
    <published>2026-05-30T11:08:07.161Z</published>
    <updated>2026-05-30T11:08:07.161Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I absolutely love Jimmy Maher’s <a href="https://www.filfre.net/sitemap/" target="_blank">body of work</a>. He’s been writing about older games and software in general since 2011; it’s always solid, always an enjoyable read, and always providing new perspectives even on stuff I thought I knew well. (Maher also goes by The Digital Antiquarian.)</p>
<p>I linked to his work <a href="https://unsung.aresluna.org/and-then-the-system-crashes/">once before</a>, and today I wanted to share a recent essay <a href="https://www.filfre.net/2026/02/ultima-ix/" target="_blank">about the disaster that was the 1999’s game Ultima IX</a>.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-broken-slapdash-bed-shitting-end-to-one-of-the-most-iconic-franchises-in-all-of-gaming-history/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-broken-slapdash-bed-shitting-end-to-one-of-the-most-iconic-franchises-in-all-of-gaming-history/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-broken-slapdash-bed-shitting-end-to-one-of-the-most-iconic-franchises-in-all-of-gaming-history/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-broken-slapdash-bed-shitting-end-to-one-of-the-most-iconic-franchises-in-all-of-gaming-history/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-broken-slapdash-bed-shitting-end-to-one-of-the-most-iconic-franchises-in-all-of-gaming-history/1.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>I have never played any Ultima games, but this was a gripping read. </p>
<blockquote><p>[…] Richard Garriott, the motivating force behind Ultima from first to last, has done his level best to write the aforementioned last out of history entirely. Ultima IX is literally never mentioned at all in his autobiography.</p>
<p>But, much though I may be tempted to, I can’t similarly sweep under the rug the eminently unsatisfactory denouement to the Ultima series. I have to tell you how this unfortunate last gasp fits into the broader picture of the series’s life and times, and do what I can to explain to you how it turned out so darn awful.</p></blockquote>
<p>In some sense software projects always fail for one of the few obvious reasons, and it’s just details that change. Here, the details are fascinating. The <a href="https://en.wikipedia.org/wiki/Ultima_(series)" target="_blank">Ultima series</a> started in the very early 1980s as a series of small games made by one person, and ended ignominiously as an almost-AAA title rushed to market that no longer wanted it:</p>
<blockquote><p>They met the deadline — what other choice did they have? — but the playable game eluded them.</p></blockquote>
<p>It’s not just the deadline. There’s also a studio past its prime, a fascinating but deeply flawed leader, the market forces and trends, and perhaps even some <a href="http://unsung.aresluna.org/tags/enshittification" target="_blank">enshittification</a> long before the word’s invention.</p>
<p>It is also a story of the first two decades of the videogame industry itself. It happened so long ago that it almost feels like a fairytale itself, although one with a sad ending.</p>
<p>Maher also lists some learnings that are universal enough to apply to a lot of other projects:</p>
<blockquote><ul class="long-list">
        <li>No game can be all things to all people.</li>
        <li>Development teams need a clear leader with a clear vision.</li>
        <li>Checking off a list of bullet points sent down from marketing does not a good game make.</li>
        <li>When the design goals do change radically, it’s often better to throw everything out and start over from scratch than to keep retro-fitting bits and pieces onto the Frankenstein’s monster.</li>
        <li>It’s better to release a good game late than a bad game on time.</li>
      </ul></blockquote>
<p>And, in case you want more, here are handy links to all of Maher’s Ultima essays: <a href="https://www.filfre.net/2012/02/ultima-part-1/" target="_blank">I</a> (3 parts!), <a href="https://www.filfre.net/2012/10/the-wizardry-and-ultima-sequels/" target="_blank">II</a> (3 parts), <a href="https://www.filfre.net/2013/05/ultima-iii-in-pictures/" target="_blank">III</a>, <a href="https://www.filfre.net/2014/07/ultima-iv/" target="_blank">IV</a>, <a href="https://www.filfre.net/2024/02/the-rise-of-pomg-part-2-multima/" target="_blank">Multima</a>, <a href="https://www.filfre.net/2016/02/ultima-v/" target="_blank">V</a>, <a href="https://www.filfre.net/2017/04/ultima-vi/" target="_blank">VI</a>, <a href="https://www.filfre.net/2018/02/the-worlds-of-ultima/" target="_blank">Worlds</a>, <a href="https://www.filfre.net/2019/01/life-off-the-grid-part-1-making-ultima-underworld/" target="_blank">Underworld</a> (2 parts), <a href="https://www.filfre.net/2019/02/ultima-vii/" target="_blank">VII</a>, and <a href="https://www.filfre.net/2021/02/ultima-viii-or-how-to-destroy-a-gaming-franchise-in-one-easy-step/" target="_blank">VIII</a>. I haven’t personally read them in order, and I’m better for it.</p><p><a href="https://unsung.aresluna.org/tags/enshittification/">#enshittification</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>Shift &amp; ⌥ &amp; Splat &amp; ⎋ Escape</title>
    <link href="https://unsung.aresluna.org/shift-and-option-and-splat-and-escape" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/shift-and-option-and-splat-and-escape</id>
    <published>2026-05-30T08:53:38.843Z</published>
    <updated>2026-05-30T08:53:38.843Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The biggest smallest GUI design schism between Apple’s platforms and Windows isn’t the black vs. white cursor or where to put the menu bar. It’s the presentation of keyboard shortcuts. </p>
<p>On a Mac, the shortcuts are iconographic. Command is ⌘. Option is ⌥. Shift is ⇧. Control is ⌃. <a href="https://aresluna.org/fn" target="_blank">Fn is 🌐</a>. There are also icons for all the other non-printing keys, from the relatively well-known Tab (⇥), through the perennially confusable End and PgDn (⤓ and ⇟), to the absolutely cryptic Esc (⎋). </p>
<p>On Windows, the keyboard legends are mostly text. PC lost the icon battle in the early 1980s – IBM had them on their 1970s computers, worldwide, but apparently American users of the early IBM PC hated them – and the names are spelled out (Shift and Enter and Home), or close to it (Ctrl, Esc, PgDn, Prt Sc).</p>
<p>Why did Apple go this way? My speculation is the revered <a href="https://www.braun-audio.com/en-GB/stories/history/dive-into-history-braun/" target="_blank">Braun</a> and generally hi-fi hardware: a lot of stuff sold in Europe defaults to iconography in part because that makes exporting easier. Icons are also more compact – putting ⇧⌘C in a menu or a tooltip takes up a lot less space than Shift+Ctrl+C – and more beautiful when done well. Here’s Figma’s right click menu on Mac and Windows:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/1.1088w.avif" alt="" width="234" height="639">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/2.1088w.avif" alt="" width="234" height="639">
      </picture></figure>
<p>But there are also challenges, as icons are more cryptic and confusing. “Command” tells you something about itself out of the box, but “⌘” is completely abstract. (Arguably, only arrow keys and symbols like ⇥ and ↵ explain themselves visually.) The attendant issue is that icons are hard to talk about if you don’t know their names, hence tons of jargon like “propeller,” “splat,” or “beanie” for ⌘, for example.</p>
<p>It’s a hard situation. Here is one of Mac’s own menus being thoroughly inconsistent, and an example of CleanShot using <em>both</em> the icon and the label to be sure:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/3.1088w.avif" alt="" width="287" height="232">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/4.1088w.avif" alt="" width="759" height="700">
      </picture></figure>
<p>“Why not both” seems to be the best way in places you can afford it. Apple started doing that on the keyboards too, but it took them <em>decades</em> to get there for modifier keys alone. Even on the 2026 computers, many other keys like Esc and Tab are still single-legended:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/5.1088w.avif" alt="" width="800" height="334">
      </picture></figure>
<p>With all that in mind, I want to show you what I saw the other day in Google Docs, on my Mac:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/6.1088w.avif" alt="" width="800" height="375">
      </picture></figure>
<p>This is one of those <a href="https://unsung.aresluna.org/1h-in-a-config-menu-10c/">cryptic</a> things that I would <em>love</em> to understand the thinking behind. Because, on the surface, this breaks so many rules:</p>
<ul class="long-list">
        <li>A strange hybrid of Mac and Windows styling: some modifier keys are spelled out, and the others are iconographic. (It’s very strange to see ⌘ conjoined with others using a plus!)</li>
      

        <li>Complex and generally uncommon dual key shortcuts – to collapse the sidebar, you really need to press ⌃⌘A and <em>then</em> press ⌃⌘H, in sequence.</li>
      

        <li>Three-modifier-shortcuts are in general really unpleasant and Google Docs does not seem complicated enough to warrant them.</li>
      

        <li>(You can’t see that, but they’re also unreliable! ⌃⌘A ⌃⌘H doesn’t always work and seems to depend on where the focus is.)</li>
      </ul>
<p>There is also a visual argument that cannot be ignored. We’ve <a href="https://unsung.aresluna.org/the-dusty-menus-of-the-worlds-most-popular-desktop-browser/">been there once before</a>; if in your menu keyboard shortcuts start overwhelming the commands themselves, you are probably doing something wrong. </p>
<p>The only explanation for this I can think of off the top of my head is this: these were invented somewhere else (Word?) and inherited by Docs to respect motor memory of the users transition from the older app. That still doesn’t cover the presentation, plus there is a way for Docs to redesign the shortcuts to be better for people who are starting anew.</p>
<p>Ultimately, I think all of this also breaks a cardinal rule: it makes keyboard operation feel more scary and intimidating than it needs to be. Shortcuts are scary enough on their own, and they don’t need any help in this area.</p><p><a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>The surprising richness of GarageBand</title>
    <link href="https://unsung.aresluna.org/the-surprising-richness-of-garageband" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-surprising-richness-of-garageband</id>
    <published>2026-05-29T00:30:21.154Z</published>
    <updated>2026-05-29T00:30:21.154Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Do you remember the video I once shared about <a href="https://unsung.aresluna.org/tags/text-editing/">making a song in Strudel</a>?</p>
<p>I recently stumbled upon this <a href="https://youtu.be/JDcwP89Tj8E" target="_blank">20-minute YouTube video by iSongs</a> of someone recreating Eminem’s “Lose Yourself” in GarageBand on their iPhone:</p>
<figure>
        <a href="https://youtu.be/JDcwP89Tj8E?si=HtZCM5Kl25Nvu0jN" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-surprising-richness-of-garageband/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-surprising-richness-of-garageband/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-surprising-richness-of-garageband/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-surprising-richness-of-garageband/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/the-surprising-richness-of-garageband/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>Like the previous video, I believe this is so tight as it was previously rehearsed/&#8203;prepared, which makes for an interesting watch if you even just check out a fragment of the video.</p>
<p>I can’t speak for the verisimilitude/&#8203;quality of the composition, but it was fascinating to witness because <em>The. UI. Just. Kept. Coming.</em> I had no idea Garage Band is so fully-featured on the iPhone, and that there is so much going on!</p>
<p>Maybe my fascination is this: it’s amazing that “power users” come in various shapes and forms. Would I recommend using the iPhone to do this? Not really. Is it cool that this is possible, for people who might not have access to other platforms? Yeah.</p>
<p>(The channel <a href="https://www.youtube.com/@iSongs" target="_blank">has a lot more different songs</a> if this one is not to your liking.)</p><p><a href="https://unsung.aresluna.org/tags/touch/">#touch</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“The pipeline of future experts is thinning from both ends.”</title>
    <link href="https://unsung.aresluna.org/the-pipeline-of-future-experts-is-thinning-from-both-ends" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-pipeline-of-future-experts-is-thinning-from-both-ends</id>
    <published>2026-05-27T16:45:55.514Z</published>
    <updated>2026-05-27T16:45:55.514Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I generally avoid think pieces about AI because a) a lot of them are boring, and b) they rarely match the pragmatic posture of this blog.</p>
<p>But <a href="https://nooneshappy.com/article/appearing-productive-in-the-workplace/" target="_blank">this essay</a> on a new No One’s Happy blog was really interesting to read, and feels different in a few ways.</p>
<p>First, it examines what happens as AI slop spreads in the context that is less discussed – in a workplace:</p>
<blockquote><p>This is a new form of slop, and it is more expensive than the public kind, because the people producing it are being paid a salary to do so. […]</p>
<p>The cost of producing a document has fallen to nearly zero; the cost of reading one has not, and is in fact rising, because the reader must now sift the synthetic context for whatever the document was originally about.</p></blockquote>
<p>A lot in the essay feels pertinent to Unsung as real craft is not feelings or fluffiness. Real craft is <em>deep expertise</em>:</p>
<blockquote><p>Generative AI can produce work that looks expert without being expert, and the failure arrives in two shapes. The first is when novices in a field are able to produce work that resembles what their seniors produce, faster or more advanced than their judgment. The second is when people generate artifacts in disciplines they were never trained in. The two failures look similar from a distance and are not the same. Research has mostly measured the first. The second is what it is missing, and in my experience it is the riskier of the two. </p></blockquote>
<p>The term for this new challenge is, apparently, “output-competence decoupling.”</p>
<p>Other parts of the essay come back to a topic – toxic velocity – we <a href="https://unsung.aresluna.org/we-internalize-so-much-by-doing-things-slower-and-making-mistakes">covered</a> <a href="https://unsung.aresluna.org/prototyping-turned-into-an-excuse-for-not-thinking/">before</a>:</p>
<blockquote><p>The current generation of agentic systems is built around the premise that the human is the bottleneck — that the loop runs faster and cleaner without the awkward delay of someone reading what is about to happen and deciding whether it should. This is, in a great many cases, exactly backwards. The human in the loop is not a vestige of an earlier era; the human is the only part of the loop with skin in the game. Removing the H from HITL [Human In The Loop – eds. note] is not an efficiency. It is the abandonment of the only mechanism the system has for catching itself.</p></blockquote>
<p>And one last thing that differentiates this essay from many others is the last “what to do about it” section.</p><p><a href="https://unsung.aresluna.org/tags/ai/">#ai</a> <a href="https://unsung.aresluna.org/tags/craft/">#craft</a></p>]]></content>
  </entry>
  <entry>
    <title>“It took months to find appliances that didn’t need apps to function.”</title>
    <link href="https://unsung.aresluna.org/it-took-months-to-find-appliances-that-didnt-need-apps-to-function" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/it-took-months-to-find-appliances-that-didnt-need-apps-to-function</id>
    <published>2026-05-27T16:36:18.762Z</published>
    <updated>2026-05-27T16:36:18.762Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The Ringer journalist Brian Phillips <a href="https://bsky.app/profile/brianphillips.lol/post/3mmrjlqebrc2f" target="_blank">asked on Bluesky</a>:</p>
<blockquote><p>I’m working on a column about the tech annoyances that drive us crazy, and I want it to be as universal as possible, so tell me yours!</p>
<p>E.g. scanning a QR code to read a menu, never receiving the one-time passcode they supposedly texted you, “verify you’re human” by IDing tiny motorcycles, etc.</p></blockquote>
<p>There are already many responses. I am drafting behind Phillips before he even writes his essay, because I like <a href="https://unsung.aresluna.org/i-do-not-want-to-tell-you-about-my-recent-experience/">occasionally</a> checking in with people this way. Not just for commiserating; perhaps scanning the answers will also give you some inspiration, or validation, or quotes for something you can push to make better, wherever you are.</p>
<p>Some patterns I noticed:</p>
<ul class="long-list">
        <li>A lot of logging in woes: password requirements, bouncing people from apps to web to log in, login flows forgetting context, “I trusted this device” settings you cannot trust.</li>
      

        <li>“Local news websites that crash under the weight of all their pop-up ads and auto-play videos.” <a href="https://bsky.app/profile/pizzahimbo.bsky.social/post/3mmrnvfrt3k2q" target="_blank">This post</a> had a great take:</li>
      </ul>
<blockquote><p>The way super sketchy bootleg websites used to look (written in questionable English, 2/3 of the window overtaken by ads, constant popups and redirects, incorrect information more often than not) is just how all websites are now.</p></blockquote>
<ul class="long-list">
        <li>Hatred of QR codes, or perhaps what they represent: needing to install an app, removing people out of the equation, introducing phones where they weren’t needed before.</li>
      

        <li>Surprisingly little AI. Is that because of the audience or the way the question was phrased?</li>
      </ul>
<p>Also, <a href="https://bsky.app/profile/dekkm.bsky.social/post/3mmroximzec24" target="_blank">this little beauty</a>:</p>
<blockquote><p>My toaster says to unplug when not in use. It also has a digital clock that resets when I unplug it.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/enshittification/">#enshittification</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>Day for night</title>
    <link href="https://unsung.aresluna.org/day-for-night" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/day-for-night</id>
    <published>2026-05-26T14:55:18.198Z</published>
    <updated>2026-05-26T14:55:18.198Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Actors are overwhelmingly diurnal, overtime is expensive, and film emulsion struggles with limited light, so since the dawn of time Hollywood has been using a technique called “day for night” – shooting during daylight, and then darkening and blue-tinting in post to pretend it was night time all along:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/day-for-night/1-thumbnail.avif" width="800" height="417" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/day-for-night/1.1600w.mp4"></video></figure>
<p>It’s a method filled with nuance, as <a href="https://www.youtube.com/watch?v=1ctQIIl1PxY" target="_blank">this 11-minute video</a> describes really well. <a href="https://tvtropes.org/pmwiki/pmwiki.php/HollywoodDarkness/LiveActionFilms" target="_blank">This TV Tropes page lists a lot of examples</a> from movies you might recognize, and another video by Rob Ellis <a href="https://www.youtube.com/watch?v=VGKbcC3f1gg" target="_blank">has a lot of practical advice</a>. </p>
<p>Now that you know it, you might spot it in movies that use it poorly: the ones that darken everything too much, the ones where too bright of a sky gives it away, or the ones where the shadows appear lunatic in the wrong sense of the word.</p>
<p>In UX design, you can day-for-night your dark mode as well – long before proper dark mode was a gleam in someone’s bloodshot eye, operating systems allowed you to invert their screens – but the limitations of that approach are apparent very quickly:</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/2-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/2-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/2-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/2-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/3-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/3-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/3-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/3-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
</div><p>Sure, black becomes white, white becomes black, and grays swap places. But in real life, shadows do not get brighter at night, and photos do not behave that way, either.</p>
<p>The “proper” answer is not to do anything automatically and to go all out with a perfectly hand-crafted dark mode that’s an equal partner to light mode: a distinct set of semantic colors, a new strategy for shadows and layering, and a second set of visual assets like icons and images.</p>
<p>Here’s a comparison of naïve inverting and a proper dark mode:</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/4-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/4-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/4-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/4-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/5-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/5-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/5-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/5-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
</div><p>A lot of apps do that for colors and shadows, some even providing multiple dark mode flavors…</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/6-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/6-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/6-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/6-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/7-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/7-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/7-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/7-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>…but visual assets is where things get tricky. Yeah, vector graphics can use the same swappable color variables as CSS text and elements, although in practice it <em>is </em>quite a bit of work and from my experience SVG doesn’t make it very easy, either (here’s an example <a href="https://aresluna.org/the-primitive-tortureboard/" target="_blank">from my essay</a>):</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/8-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/8-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/8-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/8-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/9-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/9-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/9-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/9-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
</div><p>But when it comes to bitmaps, they are usually left alone. Overtime is still overtime, and producing each bitmap twice is a lot of effort.</p>
<p>Since swappable variables don’t exist in this context, the only automatic approach method left is inverting, but a) inverting an already- dark image can make things <em>lighter</em>,and b) inverting things like photos makes them look creepy and mixes up all the colors:</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/10-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/10-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/10-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/10-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/11-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/11-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/11-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/11-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
</div><p>What explains the last part? This has to do with the fact that inversion happens in the RGB color space. R becomes 1–R, and the same for G and B. </p>
<p>Everyone who’s into gradients knows of a similar challenge that results in the <a href="https://www.joshwcomeau.com/css/make-beautiful-gradients/" target="_blank">gray dead zone effect</a>. This is fixable if you convince a gradient to traverse through a different space instead, or coax it through the RGB space on a more… bespoke path (this is e.g. what Figma gradient plugins do).</p>
<p>Could we invert in HSL or OKLAB color space, then? Yes, we could. They both look similar – this is HSL:</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/12-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/12-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/12-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/12-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/13-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/13-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/13-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/13-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
</div><p>You can see how the photos get inverted now, but the colors remain the same! Still a curiosity, perhaps, but the bottom of the above screen shows this technique feels <em>really interesting</em> for diagrams, screenshots, and things of similar nature. Here’s another bitmap that looks pretty great inverted this way:</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/14-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/14-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/14-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/14-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><div class="hint"></div><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/day-for-night/15-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/15-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/day-for-night/15-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/day-for-night/15-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
</div><p>Unfortunately, while there are techniques and plugins to do gradients in non-RGB color spaces, I am not seeing a lot of options for inversion customization anywhere. Neither the graphics apps I use, nor CSS offer anything here.</p>
<p>But there’s a trick: do a regular invert and then rotate the hue halfway through. Through the magic of math, this is the same as inverting just L in the HSL space, which means the colors are preserved. This <em>is</em> actually achievable in graphic programs…</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/day-for-night/16-thumbnail.avif" width="754" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/day-for-night/16.1600w.mp4"></video></figure>
<p>…and, more importantly, available in CSS as a filter: instead of <code>invert(1)</code>, use <code>hue-rotate(180deg) invert(1)</code>. </p>
<p>So, if you have dark-on-light diagrams, bitmapped text, illustrations, or other similar things – or even vector graphics you cannot throw dark mode variables at – this day-for-night trick that can get you places very cheaply. (And for other bright bitmaps, just reduce the brightness by 25%.)</p>
<p>It’s the same as with Hollywood trickery: remember to add a bit more nuance in the right place, and you get something that feels bespoke for the price of only light – please excuse the pun – manufacture.</p><p><a href="https://unsung.aresluna.org/tags/dark-mode/">#dark mode</a> <a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a></p>]]></content>
  </entry>
  <entry>
    <title>“But obviously, that’s just silly stuff.”</title>
    <link href="https://unsung.aresluna.org/but-obviously-thats-just-silly-stuff" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/but-obviously-thats-just-silly-stuff</id>
    <published>2026-05-26T08:41:49.691Z</published>
    <updated>2026-05-26T08:41:49.691Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This <a href="https://www.youtube.com/watch?v=DqejfoVTiqs" target="_blank">22-minute video by Karl Jobst</a> describes a pretty wild discovery of a glitch called Crystal Storage Glitch, allowing to skip a certain level for much faster completion times in Mega Man X2:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=DqejfoVTiqs" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/but-obviously-thats-just-silly-stuff/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/but-obviously-thats-just-silly-stuff/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/but-obviously-thats-just-silly-stuff/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/but-obviously-thats-just-silly-stuff/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/but-obviously-thats-just-silly-stuff/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I won’t spoil the glitch because it’s a fascinating combination of a corner case, a race condition, and even a dose of dumb luck. Its finding unveils almost like a scientific discovery over many years – first a theoretical possibility, then a first sighting done in a modified emulator, then confirmation made by a machine via a tool-assisted speedrun, and eventually actual performance by someone by hand. And a lot of this achieved by relative newcomers to the community, too.</p>
<p>There is certain poetry here in having to go slow to go fast – you’ll see what I mean.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/speedrunning/">#speedrunning</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Within or without</title>
    <link href="https://unsung.aresluna.org/within-or-without" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/within-or-without</id>
    <published>2026-05-26T07:33:39.132Z</published>
    <updated>2026-05-26T07:33:39.132Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In Figma, when choosing a font, you can filter down a list of fonts from “all” to specific categories or e.g. only fonts present in the current file. </p>
<p>But when you type into the search field, the search cuts across all fonts again, ignoring the applied filter. The search effectively lives <em>outside</em> the filter.</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/within-or-without/2-keyed-thumbnail.avif" width="297" height="517" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/within-or-without/2-keyed.1600w.webm"></video></figure>
<p>In Keyboard Maestro, when adding an action, you can click in the nav to filter down to a specific category. And when you search, the current filter remains active, so you search <em>inside</em> the filter.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/within-or-without/3-thumbnail.avif" width="503" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/within-or-without/3.1600w.mp4"></video></figure>
<p>Which one is better?</p>
<p>I don’t have a universal rule here, because it will depend both on the UI treatment, and the specific filters and searches people do.</p>
<p>But I think here, my recommendation for Keyboard Maestro here would be to do the same thing as Figma does. I designed that flow in Figma, so I might be biased, but my reasons are:</p>
<ul class="long-list">
        <li>There aren’t really a lot of options in each category, so you don’t benefit a lot from double filtering.</li>
      

        <li>But the most important thing: For both Figma and Keyboard Maestro, the text field might <em>smell</em> like a text filter and as such expected to be multiplexed with the category filter, but I think this field is actually something else: It’s quick keyboard access, like ⌘F or Spotlight or Raycast. And if you think about it this way, it’s important for it to be <a href="https://unsung.aresluna.org/deterministic-vs-idempotent/">deterministic</a> – I can always type “Output Sans,” no matter what state am I in, and get to the font.</li>
      </ul>
<p>On that last note, I find it’s good to look around what you’ve designed once in a while and consider not what the UI set out to be, but what it <em>became</em> – there might be more examples of that around you.</p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>A few interesting modern pixel fonts</title>
    <link href="https://unsung.aresluna.org/a-few-interesting-modern-pixel-fonts" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-few-interesting-modern-pixel-fonts</id>
    <published>2026-05-25T06:23:19.548Z</published>
    <updated>2026-05-25T06:23:19.548Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Andrew Gleeson designed <a href="https://gleeson.itch.io/analog-mono" target="_blank">Analog Mono</a>, “fixing the crimes of VCR OSD Mono.” There used to be this classic pixel font that you’d see everywhere in the 1990s on hi-fi equipment: VCRs, TVs, camcorders, etc. One of its challenges was a low baseline which resulted in all the letters with descenders pulled up, for example:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/1.1088w.avif" alt="" width="800" height="330">
      </picture></figure>
<p>Analog Mono fixes that problem:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/2.1088w.avif" alt="" width="800" height="420">
      </picture></figure>
<p>Elsewhere, Kumiko Yoshida made <a href="https://github.com/tanukifont/Coral-Pixels" target="_blank">Coral Pixels</a> (also on <a href="https://fonts.google.com/specimen/Coral+Pixels?preview.script=Latn" target="_blank">Google Fonts</a>), a color font that comes with the 1990s and 2000s colorful fringing baked in. The fringing was once an artifact of subpixel rendering, but now it is meant to evoke nostalgia or just as an interesting visual element in and of itself. (Perhaps adjacent to chromatic aberration?)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/3.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>Lastly, <a href="https://joefatula.com/twoslice.html" target="_blank">here’s Two Slice</a> by Joseph Fatula – a font that’s only 2 pixels tall, “and somewhat readable.”</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/4.1088w.avif" alt="" width="800" height="44">
      </picture></figure>
<p>Of course, these are all vector fonts – e.g. ready to be installed on a modern operating system – pretending to be pixel fonts. That’s maybe a separate post altogether, but it leads us to the last font, <a href="https://vercel.com/blog/introducing-geist-pixel" target="_blank">Geist Pixel from Vercel</a>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-few-interesting-modern-pixel-fonts/5.1088w.avif" alt="" width="694" height="700">
      </picture></figure>
<p>The copy introducing the font is a little pretentious/&#8203;spicy, but it touches upon something important: </p>
<blockquote><p>Geist Pixel isn’t a novelty font. It’s a system extension. [… It] was designed with real usage in mind, not as a visual gimmick, but as a functional tool within a broader typographic system. […] This matters because pixel fonts often break in production. They don’t scale properly across viewports, their metrics conflict with existing typography, or they’re purely decorative. Geist Pixel was built to solve these problems, maintaining the visual texture teams want while preserving the typographic rigor products require.</p></blockquote>
<p>There <em>are</em> definitely fonts whose Achilles’ heel is not the letterforms, but the invisible hard work put into everything that surrounds them: the kerning, the metadata, the extra glyphs, the vertical metrics. It seems that the team being Geist Pixel is proud of especially that last part.</p><p><a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>Google Docs shortcut onboarding</title>
    <link href="https://unsung.aresluna.org/google-docs-shortcut-onboarding" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/google-docs-shortcut-onboarding</id>
    <published>2026-05-25T06:05:24.356Z</published>
    <updated>2026-05-25T06:05:24.356Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A nice, but unpolished onboarding callout directing people towards a more useful shortcut, in Google Docs. I’m holding arrow keys without ⇧ here first, then with ⇧:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/google-docs-shortcut-onboarding/1-thumbnail.avif" width="800" height="683" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/google-docs-shortcut-onboarding/1.1600w.mp4"></video></figure>
<p>To improve it, I would add some sort of small celebratory “completed!” state, and auto-hide it afterwards; right now, it seems that it hides on a delay, likely regardless of what happens.</p>
<p>(Testing onboarding is hard because once it’s invoked it disappears forever. If you are worried about onboarding experiences in a place you work, please insist on easy toggles to bring it back for testing. And no, one-size-fits-all “reset onboarding” is too crude; ideally you can reset each specific one easily through a simple UI.)</p>
<p class="credit">Thank you to Ezra Spier for the tip.</p><p><a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/onboarding/">#onboarding</a></p>]]></content>
  </entry>
  <entry>
    <title>FAIL_MAIL_OVER_500_MILES=TRUE</title>
    <link href="https://unsung.aresluna.org/fail-mail-over-500-miles-equals-true" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/fail_mail_over_500_milestrue</id>
    <published>2026-05-24T06:09:31.004Z</published>
    <updated>2026-05-24T06:09:31.004Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Here’s a 2002 story from a younger internet, by programmer Trey Harris (<a href="https://www.ibiblio.org/harris/500milemail.html" target="_blank">link to the original</a> and if you don’t like the classic Usenet formatting – my browser’s reader mode can’t even prettify it! – <a href="https://beza1e1.tuxen.de/lore/500mile_email.html" target="_blank">here’s a nicer-looking format</a>):</p>
<blockquote><p>“We’re having a problem sending email out of the department.”</p>
<p>“What’s the problem?” I asked.</p>
<p>“We can’t send mail more than 500 miles,” the chairman explained.</p>
<p>I choked on my latte. “Come again?”</p>
<p>“We can’t send mail farther than 500 miles from here,” he repeated. “A little bit more, actually. Call it 520 miles. But no farther.”</p></blockquote>
<p>It would be easy to assume this is a classic case of <a href="http://www.catb.org/jargon/html/P/PEBKAC.html" target="_blank">pebkac</a>, “problem exists between keyboard and chair,” the derisive term used (supposedly!) by support people, describing naïve public who had a tenuous grasp of technological reality. But the story goes to an unexpected place.</p>
<p>This might be the most widely-shared computer bug story of all time I’ve seen – I just saw a comment from 2008 calling it “oldie but a goodie,“ and it even has an <a href="https://www.ibiblio.org/harris/500milemail-faq.html" target="_blank">FAQ page</a> that’s actually a really great read. There’s quite a bit of chatter inside about something important to me: the balance between the needs of good storytelling and going deep into technical details:</p>
<blockquote><p>In the story, I make it sound like it took all of ten minutes from being made aware of the 500-mile email limit and determining a 3 ms light-speed issue. In fact, this took several hours, and quite a bit of detective work. The point is, eventually I came up with that figure, ran units, and gagged on my latte. </p></blockquote>
<p>You can sense author’s frustration with every nerd trying to “gotcha” him instead of just enjoying the story. Even a younger internet wasn’t without faults.</p><p><a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/change-management/">#change management</a> <a href="https://unsung.aresluna.org/tags/storytelling/">#storytelling</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>“Why pay for an orchestra when your computer can do it all?”</title>
    <link href="https://unsung.aresluna.org/why-pay-for-an-orchestra-when-your-computer-can-do-it-all" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/why-pay-for-an-orchestra-when-your-computer-can-do-it-all</id>
    <published>2026-05-23T16:04:00.381Z</published>
    <updated>2026-05-23T16:04:00.381Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://www.youtube.com/watch?v=SQTkOUjayW0" target="_blank">delightful 24-minute video from ToffeeBun</a> about sampling in videogame music and how it changed over the years:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=SQTkOUjayW0" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-pay-for-an-orchestra-when-your-computer-can-do-it-all/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-pay-for-an-orchestra-when-your-computer-can-do-it-all/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/why-pay-for-an-orchestra-when-your-computer-can-do-it-all/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/why-pay-for-an-orchestra-when-your-computer-can-do-it-all/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/why-pay-for-an-orchestra-when-your-computer-can-do-it-all/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The video helped me understand the difference between tunes purely synthesized from soundchips, those sequenced with samples (e.g. MIDI or sound trackers), and those that are completely “streamed” (e.g. MP3). It’s stuff in between that’s the most interesting – it always is – with really surprising sources of samples (and, surprising samples!) needed to “perform” sequenced music.</p>
<p>The video itself is frenetically edited, and the opposite of “dry” (which I mean as a compliment).</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/sound-design/">#sound design</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Lisa’s copy (and cut, and paste)</title>
    <link href="https://unsung.aresluna.org/lisas-copy-and-cut-and-paste" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/lisas-copy-and-cut-and-paste</id>
    <published>2026-05-22T18:43:26.901Z</published>
    <updated>2026-05-22T18:43:26.901Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I love looking at origins of obvious things, because of two things:</p>
<ul class="long-list">
        <li>They help me get unstuck. If you go far enough, you will find out that even the most ossified conventions that are older than you haven’t <em>always</em> been this way.</li>
        <li>They put me in the mood of “what of the things that feel normal today that deserve to feel dated, obsolete, or awkward?”</li>
      </ul>
<p>I’ve been emulating the <a href="https://en.wikipedia.org/wiki/Apple_Lisa" target="_blank">Apple Lisa</a> recently, and I was struck by how many of its UI strings were slightly or wholly different than what we’re used to. </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/1.1088w.avif" alt="" width="800" height="528">
      </picture></figure>
<p>It makes sense. Lisa came out in 1983 as Mac’s predecessor and really the first GUI that is directly linked to what we’re using today. Even though it borrowed things from <a href="https://en.wikipedia.org/wiki/Xerox_Alto" target="_blank">work done at Xerox</a>, tons of conventions were not established yet.</p>
<p>So, I thought it would be fun to actually take a closer look.</p>
<p>For context, Lisa was as slow as it was expensive, and generally considered a failure. It was basically abandoned by 1985. Not much third-party software has ever been written, but Lisa shipped with 7 impressive office apps with fantastic names: LisaWrite, LisaCalc, LisaDraw, LisaGraph, LisaList, LisaProject, and LisaTerminal.</p>
<p>The screenshots below come from an emulator and from <a href="https://archive.org/details/@marcin_wichary?query=lisa" target="_blank">manuals</a> (this links to the 1984 version, but each manual also includes a link to the original 1983 edition). The emulator is pretty harrowing; please <a href="https://github.com/mihaip/infinite-mac/issues/167" target="_blank">upvote</a> the idea of Lisa in <a href="https://infinitemac.org/" target="_blank">Infinite Mac</a> if you would want to see it!</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/2.1088w.avif" alt="" width="720" height="546">
      </picture></figure>
<p>As Lisa powers up, we see the appearance of the “wait” dialog box. We’ll encounter more symbols like this triangle, inspired by traditional flowcharts.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/3.1088w.avif" alt="" width="800" height="606">
      </picture></figure>
<p>Let’s start with menus, as these really were the treasure map to the whole system. </p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/4.1088w.avif" alt="" width="720" height="546">
      </picture></figure>
<p>The Desk menu is basically the equivalent of the dock today.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/5.1088w.avif" alt="" width="800" height="606">
      </picture></figure>
<p>The File menu has Print appended to it, indicating how important printing was still then; a truly “paperless office” won’t really be possible for two more decades (and seemingly <a href="https://en.wikipedia.org/wiki/Paperless_office" target="_blank">still hasn’t fully arrived</a>). </p>
<p>There is no Window menu yet, so the menu also contains some of that burgeoning functionality. Set Aside is what we would call Minimize today. Save &amp; Continue is basically a contemporary Save, and Save &amp; Put Away a hypothetical Save &amp; Close. Revert to Previous Version is the same as today’s Revert. By the way, in the Revert dialog I appreciated the nice gesture of telling the user how much time passed since the last save, and a warning about undo (we’ll get back to this):</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/6.1088w.avif" alt="" width="624" height="203">
      </picture></figure>
<p>Print Current Selection would today be just Print Selection. Print As Is is basically Print… but skipping the setup dialog with number of copies, etc. It was added later in Lisa’s life, and today, we’d probably call it Print Again? </p>
<p>If you’re noticing a pattern already, it is more wordiness compared to what we see these days. It makes sense. Our growing familiarity with these concepts is what will allow these strings to become tighter over time. </p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/7.1088w.avif" alt="" width="720" height="130">
      </picture></figure>
<p>This is that Print… dialog, by the way, with beautiful “while you wait” and “while you work” verbiage (although usually I do not condone strings getting so close to each other). The manual <a href="https://archive.org/details/bitsavers_applelisaoisaWrite1983_9642237/page/n303/mode/2up" target="_blank">explains</a>: “You can have the Lisa use most of its attention to print your document while you wait. A document will print more quickly if you choose While You Wait, but you won’t be able to use the Lisa for any other tasks.”</p>
<p>The other strings feel less typical. Format For Printer… is Page Setup, but with a lot of quirks. Printers were not usually yet <a href="https://en.wikipedia.org/wiki/WYSIWYG" target="_blank">WYSIWYG</a>, able to mirror stuff exactly on the screen. They often came with their own fonts, so some matching was necessary:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/8.1088w.avif" alt="" width="720" height="254">
      </picture></figure>
<p>The manual had <a href="https://archive.org/details/bitsavers_applelisaoisaWrite1983_9642237/page/n297/mode/2up" target="_blank">an entire section</a> called “When Settings Don’t Match a Printer,” and there were I imagine god knows how many error cases that had to be covered, including:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/9.1088w.avif" alt="" width="624" height="164">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/10.1088w.avif" alt="" width="624" height="183">
      </picture></figure>
<p>And Monitor The Printer… is today’s Print Center: a way to see the real-time printing status. Note a lot of writing here elaborates further on the “while you wait/&#8203;while you work” dichotomy:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/11.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/11.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/11.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/11.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/11.1088w.avif" alt="" width="720" height="226">
      </picture></figure>
<p>Monitor The Printer was important, by the way, since the manual warned you your printer might occasionally become haunted:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/12.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/12.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/12.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/12.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/12.1088w.avif" alt="" width="698" height="163">
      </picture></figure>
<p>But, let’s go back to the File/&#8203;Print menu. I actually found a version of this menu that comes <a href="https://archive.org/details/byte-magazine-1983-02-rescan/page/n33/" target="_blank">from a 1982 pre-release Lisa</a>, never launched to the public. Let me show them side by side:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/13.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/13.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/13.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/13.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/13.1088w.avif" alt="" width="215" height="243">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/14.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/14.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/14.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/14.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/14.1088w.avif" alt="" width="273" height="299">
      </picture></figure>
<p>It’s fun to see designers figuring it all out. You will notice the lack of dividers and ellipses actually touching the work-in-progress strings. 1983’s Set Aside is 1982’s very modern Close. Save &amp; Put Away is Put Back. And, at the bottom, it seems the team didn’t yet figure out that the menu options need to consistently use verbs for commands, and adjectives or nouns for toggles – so we see Intended for Printer… (rather than Format For Printer…) and Printing in Progress… (rather than Monitor The Printer…).</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/15.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/15.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/15.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/15.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/15.1088w.avif" alt="" width="800" height="606">
      </picture></figure>
<p>Lastly, in a released version of LisaList, this menu would come bearing a harrowing Fix Damaged Document command. Not only it doesn’t even have an ellipsis, but the manual also says “there is always the chance that the recovery process will make things worse instead of better.” Vaya con dios, I suppose.</p>
<p>Let’s move on to the Edit menu.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/16.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/16.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/16.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/16.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/16.1088w.avif" alt="" width="219" height="186">
      </picture></figure>
<p>Today’s Select All is a verbose Select All Of Document, and since this is the first public appearance of undo, that feature is also more descriptive, appearing as Undo Last Change. But otherwise the menu feels surprisingly modern, shortcuts and all.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/17.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/17.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/17.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/17.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/17.1088w.avif" alt="" width="800" height="606">
      </picture></figure>
<p>Unsurprisingly, the first undo wasn’t as developed. We saw earlier in this post “Once you click OK, you will not be able to change your mind, even with Undo,” which today would probably say “This is not undoable.” You could also see a frightening error message arriving without any further clarification, like above.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/18.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/18.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/18.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/18.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/18.1088w.avif" alt="" width="624" height="137">
      </picture></figure>
<p>Sometimes, the app would warn you undo doesn’t have your back. We’ve seen this before, and here’s another example.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/19.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/19.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/19.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/19.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/19.1088w.avif" alt="" width="800" height="606">
      </picture></figure>
<p>Since undo only had one step, LisaCalc and LisaList also had Restore Previous Entry for when you changed your mind after editing a cell in the spreadsheet. You had to employ this strategically, as you did the already-mentioned Revert to Previous Version.</p>
<p>“You can even undo Undo!” bragged the manual, and I imagine there must have been interfaces where undo came without a matching redo. But the eventual solution, of course, was bidirectional undo/&#8203;redo with many steps. This basically only needed more memory, still very expensive in 1983.</p>
<p>Above we also see Clear Entries that would just be called Clear today.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/20.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/20.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/20.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/20.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/20.1088w.avif" alt="" width="215" height="232">
      </picture></figure>
<p>Elsewhere in Edit menu, Clear Lines Off Top would appear in LisaTerminal only, and was a charming (and I would argue better) way of saying Clear Scrollback.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/21.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/21.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/21.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/21.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/21.1088w.avif" alt="" width="166" height="434">
      </picture></figure>
<p>The next menu, Type Style, would be called Font today. “Type” is typewriter nomenclature – Lisa was meant to be a typewriter replacement. The point/&#8203;pitch convention for font sizes and letter spacing also comes from typewriters, and in an older version of that menu even font names arrive from that universe (PS = Proportionally Spaced!):</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/22.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/22.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/22.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/22.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/22.1088w.avif" alt="" width="166" height="430">
      </picture></figure>
<p>Otherwise, notable is the <a href="https://unsung.aresluna.org/deterministic-vs-idempotent/">deterministic</a> Plain Text reset with a P shortcut that would in time lose to printing. I miss this sometimes, this “reset” idea, as I think it would nicely compliment Paste And Match Style.</p>
<p>(By the way, Lisa was <a href="https://www.folklore.org/Swedish_Campground.html" target="_blank">the last computer to use Apple logo as a modifier key</a>.)</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/23.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/23.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/23.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/23.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/23.1088w.avif" alt="" width="222" height="456">
      </picture></figure>
<p>While Type Style is for selection, Format ¶ is all about paragraphs – HTML people know this distinction as “inline vs. block.” (The pilcrow symbol means “paragraph,” although I did not expect it to be common use even then.) The flyout menus with their convoluted mechanics weren’t invented yet, but in some sense there was no need for them as the options were very limited.</p>
<p>It is interesting to see Margin/Tab Ruler as two options with deterministic shortcuts ([ and ]). But the most unbelievable shortcut must be Same As On Clipboard. It reformats the current selection to match what you have in the clipboard – an early salvo in an endless battle that later brought us Paste Special, Paste And Match Style, Paste And Retain Style, Copy/&#8203;Paste Properties, Paint Format and so on, and so on. And it was given S, rather than spending it on Save (&amp; Continue).</p>
<p>Otherwise Left Flush and Right Flush would be called aligning today, and the ¶ pilcrow symbol would be replaced by a simple Paragraph Spacing.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/24.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/24.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/24.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/24.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/24.1088w.avif" alt="" width="188" height="433">
      </picture></figure>
<p>In LisaCalc, Format is missing the ¶ because, well, there are no paragraphs in spreadsheets! I love Words Left/Nos. Right, and empathize with trying to align the digits. But it wasn’t even <em>close</em>, was it. </p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/25.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/25.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/25.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/25.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/25.1088w.avif" alt="" width="203" height="276">
      </picture></figure>
<p>Page Layout shows that we’ve had UI boolean problems from day one. Show Page Ruler and Hide Page Ruler do it deterministically, with one always disabled, and without checkmarks. Preview Pages and Don’t Preview Pages do the checkmark, but introduce a dreaded double negative. (These last options, by the way, is the “pages/&#8203;pageless format” showing page margins and dividers, that bother us so much about Google Docs.) Today, these would all be in the View menu that doesn’t exist yet.</p>
<p>And speaking of boolean challenges, here are some top-level menus from LisaList with even more conventions:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/26.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/26.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/26.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/26.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/26.1088w.avif" alt="" width="160" height="274">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/27.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/27.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/27.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/27.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/27.1088w.avif" alt="" width="134" height="74">
      </picture></figure>
<p>But, back to the Page Layout Menu. Insert Page Mark would be Insert Page Break today. I really love Allow To Cross Pages as the opposite of Keep On Same Page, and the incredible O and Q shortcuts.</p>
<p>In LisaCalc, this particular menu comes with a beautifully named For Your Information (sentence capped, for some reason)… </p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/28.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/28.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/28.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/28.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/28.1088w.avif" alt="" width="205" height="254">
      </picture></figure>
<p>…throwing up a sheet-like window showing basic stats. Today, that window would have a more boring name and probably land in the File menu:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/29.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/29.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/29.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/29.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/29.1088w.avif" alt="" width="720" height="215">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/30.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/30.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/30.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/30.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/30.1088w.avif" alt="" width="208" height="299">
      </picture></figure>
<p>The Search menu is fascinating – why wasn’t it called Find like its items are? I am particularly enjoying W keyed off of Find What (today: Find), while F is taken by Find Next Occurrence (today: Find Again). There is some mnemonic sense to it all, but I like today’s proximity of ⌘F/G better.</p>
<p>What we know as Replace is Change here, and I am particularly loving Cases Must Agree and Cases Need Not Agree (today usually called “case sensitivity.”) </p>
<p>Hide Dialog Box is a string with surprising to me amount of UI jargon. The H shortcut was added later in Lisa’s life, presumably at users’ behest. It’s strange today to see a shortcut like this to hide one specific floating dialog box.</p>
<p>Similarly, Insert Wild Card with a confusing ellipsis allows you to insert a symbol in your find dialog that stands for “match anything here” – top-level menu options reaching inside specific dialog boxes were not uncommon in early years of GUIs, but I think fell out of favor over time as the idea can be conceptually confusing.</p>
<p>The menu below is from LisaWrite, and I like how comparing it with other apps makes us see the team trying to settle on a convention. In LisaList there are no ellipsis, but question marks!</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/31.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/31.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/31.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/31.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/31.1088w.avif" alt="" width="197" height="254">
      </picture></figure>
<p>And in LisaCalc, there are… both:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/32.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/32.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/32.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/32.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/32.1088w.avif" alt="" width="213" height="344">
      </picture></figure>
<p>You can notice that it wasn’t clear where one would put Find-related commands and their today’s presence in Edit menu doesn’t really make a lot of sense, either. We just got used to it. (Also note the “occurence” typo.)</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/33.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/33.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/33.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/33.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/33.1088w.avif" alt="" width="245" height="209">
      </picture></figure>
<p>Spelling menu has a bunch of fun options and conventions, and an extremely generous use of keyboard shortcuts:</p>
<ul>
        <li>Find Next Misspelling (you don’t often see that word!)</li>
        <li>Suggest Corrections + Paste Guess (this is just replacing the word with the suggestion – interesting use of the clipboard metaphor)</li>
        <li>Put In Dictionary (today: Learn Spelling)</li>
      </ul>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/34.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/34.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/34.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/34.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/34.1088w.avif" alt="" width="179" height="430">
      </picture></figure>
<p>LisaDraw sports the Arrangement menu, which will look very familiar to anyone using Illustrator, Sketch, Figma, and so on. This is where Bring To Front and Send To Back started! With a tiny bit of editing (Arrangement is now Arrange, and some of the Objects nouns would be omitted), this would feel pretty modern.</p>
<p>I love these visual menus, and I think we lost that kind of stuff along the way:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/35.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/35.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/35.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/35.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/35.1088w.avif" alt="" width="115" height="297">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/36.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/36.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/36.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/36.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/36.1088w.avif" alt="" width="128" height="314">
      </picture></figure>
<p>Okay, let’s move on from menus. The system also relied a lot of dialogs. Let’s look at some of them:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/37.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/37.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/37.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/37.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/37.1088w.avif" alt="" width="624" height="141">
      </picture></figure>
<p>This wordy dialog would become a small loading state today. The verbose “To terminate the operation, hold down the Apple key while you type a period” probably felt necessary because other than Shift on a typewriter, people were not familiar with modifier keys. Lisa doesn’t have the Esc key, and Mac still respects the ⌘. convention in many places in 2026. </p>
<p>(By the way, why would you want to stop saving? Presumably because it could take quite a while.)</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/38.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/38.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/38.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/38.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/38.1088w.avif" alt="" width="624" height="141">
      </picture></figure>
<p>In this similar dialog, you can see a reference to a “micro diskette.” Even though Lisa’s <a href="https://en.wikipedia.org/wiki/Apple_FileWare" target="_blank">“Twiggy” disks</a> seem gargantuan today, they were smaller compared to the original, <a href="https://en.wikipedia.org/wiki/Floppy_disk" target="_blank">8″ floppy disk</a>. (In a similar way, Lisa and other machines of the era were called “microcomputers.”)</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/39.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/39.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/39.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/39.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/39.1088w.avif" alt="" width="624" height="222">
      </picture></figure>
<p>Lisa had some <a href="https://unsung.aresluna.org/software-proprioception/">proprioception</a>: In this dialog, the disk put in the first drive is called an “upper diskette.” (Also note: more undo education.)</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/40.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/40.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/40.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/40.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/40.1088w.avif" alt="" width="624" height="278">
      </picture></figure>
<p>Disks were not large, so sometimes you had to deal with this kind of horror. It’s interesting how the dialog plain sends you to the manual – an early equivalent to eventual Learn More links.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/41.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/41.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/41.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/41.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/41.1088w.avif" alt="" width="800" height="606">
      </picture></figure>
<p>This is another example of a rather verbose set of instructions. On one hand, this is better than “Error 456” and nothing else. On the other hand, it feels like a lot of stuff to memorize.</p>
<p>Also of note, the beautiful Housekeeping menu. I actually forgot about the Finder (or, in Lisa’s parlance, Desktop), so here’s a screenshot of it also:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/42.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/42.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/42.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/42.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/42.1088w.avif" alt="" width="720" height="546">
      </picture></figure>
<p>Housekeeping was basically the junk drawer – on the Mac a year later, this will be named Special. It also has some stuff that today would be in the View menu. (This later version of Lisa calls Trash the same as the Mac. Earlier on, you would see it named a Wastebasket instead.)</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/43.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/43.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/43.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/43.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/43.1088w.avif" alt="" width="720" height="546">
      </picture></figure>
<p>Of note elsewhere in Desktop is the use of the term Stationery, roughly meaning “template,” but with extra sprinkling of <a href="https://en.wikipedia.org/wiki/Desktop_metaphor" target="_blank">desktop-metaphor</a> skeuomorphism. Also, Attributes Of is an early version of Get Info.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/44.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/44.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/44.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/44.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/44.1088w.avif" alt="" width="800" height="591">
      </picture></figure>
<p>Another verbose dialog (compare with <a href="https://unsung.aresluna.org/abort-retry-no-thanks/">Abort/&#8203;Retry/Ignore</a> from around the same time). This is before we invented hint text that we’d just put under the buttons themselves.</p>
<p>In case you haven’t noticed by now, Lisa’s strings all have two spaces after a full stop!</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/45.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/45.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/45.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/45.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/45.1088w.avif" alt="" width="624" height="161">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/46.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/46.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/46.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/46.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/46.1088w.avif" alt="" width="624" height="137">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/47.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/47.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/47.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/47.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/47.1088w.avif" alt="" width="624" height="141">
      </picture></figure>
<p>There was lot of “you cannot” dialogs, walking you through some recovery steps.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/48.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/48.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/48.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/48.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/48.1088w.avif" alt="" width="624" height="137">
      </picture></figure>
<p>Plug and play didn’t yet exist (this would all happen in the 1990s), so that had to be explained also.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/49.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/49.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/49.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/49.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/49.1088w.avif" alt="" width="624" height="137">
      </picture></figure>
<p>I also love the anthropomorphic phrasing “Preferences has been told,” which I don’t believe you see anywhere today. </p>
<p>And I think we can round up this post with a few small delightful language details like this one.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/50.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/50.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/50.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/50.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/50.1088w.avif" alt="" width="720" height="184">
      </picture></figure>
<p>As a huge fan of the slightly pretentious “presently” over “currently,” I smiled seeing this next to the printing status.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/51.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/51.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/51.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/51.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/51.1088w.avif" alt="" width="800" height="606">
      </picture></figure>
<p>“Just a moment, please…” feels so old-fashioned, somehow. </p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/52.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/52.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/52.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/52.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/52.1088w.avif" alt="" width="219" height="339">
      </picture></figure>
<p>And I want to end on a pre-release version of the Edit menu we’ve already seen. You can spot here Select Entire Document (instead of eventual Select All Of Document), but of course the best thing is the Copy, Cut, &amp; Paste with an ampersand! I find it so, so charming.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/53.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/53.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/53.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/53.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lisas-copy-and-cut-and-paste/53.1088w.avif" alt="" width="413" height="399">
      </picture></figure>
<p>I hope you enjoyed this tour. It was interesting to me to see how many of these became the standard back there and then, how many were tweaked a little bit, and which ones had to be redone more thoroughly.</p>
<p>Now, excuse me as I have to go deal with my whistling printer.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/undo/">#undo</a> <a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
  <entry>
    <title>“This is a common tell in web apps, and we did a lot of work to eliminate it.”</title>
    <link href="https://unsung.aresluna.org/this-is-a-common-tell-in-web-apps-and-we-did-a-lot-of-work-to-eliminate-it" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/this-is-a-common-tell-in-web-apps-and-we-did-a-lot-of-work-to-eliminate-it</id>
    <published>2026-05-21T17:58:24.075Z</published>
    <updated>2026-05-21T17:58:24.075Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have mixed feelings about Raycast announcing their <a href="https://www.raycast.com/blog/a-technical-deep-dive-into-the-new-raycast" target="_blank">move from the native interface to one powered by web tech</a> (this is the same thing that made <a href="https://unsung.aresluna.org/photoshops-challenges-with-focus-pt-2/">Photoshop’s dialogs so bad</a>), but their <a href="https://www.raycast.com/blog/a-technical-deep-dive-into-the-new-raycast" target="_blank">blog post</a> announcing the change has at least a useful list of some details that separate good native apps from bad web ones.</p>
<p>I think it’s worth checking out that list and internalizing it even if you’re nowhere near that kind of a decision, because some of these are universal requirements for a better-feeling interface:</p>
<blockquote><ul class="long-list">
        <li>No <code>cursor: pointer</code> on interactive controls. Desktop apps don’t do this. It’s small, but it immediately signals “this is a website.”</li>
        <li>No hover highlights on most controls. On macOS, buttons and list items don’t highlight on hover the way they do on the web.</li>
        <li>Settings open in a separate native window, not a modal or a side panel.</li>
        <li>Popovers and tooltips render as native windows, not as DOM elements inside the WebView. They can extend beyond the window bounds, just like native popovers do.</li>
        <li>On macOS Tahoe, we adopted Apple’s new Liquid Glass material so Raycast blends with the system’s updated visual language from day one.</li>
        <li>No flickering when views appear or transition. This is a common tell in web apps, and we did a lot of work to eliminate it.</li>
      </ul></blockquote>
<p>There is more <a href="https://www.raycast.com/blog/a-technical-deep-dive-into-the-new-raycast" target="_blank">in the blog post</a>, and a lot more still left unsaid. Let me add one that I see all the time: accidental text selection. Web makes all text selectable by default, regardless of whether it makes sense for that text to be selected. On top of that, text selection heuristics on complex layouts are not that great. That means that surprisingly often you will see half a text on the page being selected in response to an accidental click or drag. </p>
<p>Here’s an example from YouTube I just spotted, where dragging a sidebar selects everything inside it:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/this-is-a-common-tell-in-web-apps-and-we-did-a-lot-of-work-to-eliminate-it/1-thumbnail.avif" width="800" height="553" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/this-is-a-common-tell-in-web-apps-and-we-did-a-lot-of-work-to-eliminate-it/1.1600w.mp4"></video></figure>
<p>It’s all solvable via the use of event cancellation and <code>user-select</code>, but requires someone to think about it happening.</p>
<p>Yes, there are moments where GUIs allow you to select text for a reason…</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/this-is-a-common-tell-in-web-apps-and-we-did-a-lot-of-work-to-eliminate-it/3-keyed-thumbnail.avif" width="410" height="366" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/this-is-a-common-tell-in-web-apps-and-we-did-a-lot-of-work-to-eliminate-it/3-keyed.1600w.webm"></video></figure>
<p>…but it’s always been a tricky proposition given the scarcity of affordances. It might be better to employ a pretty common “copy to clipboard” pattern instead.</p><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/raycast/">#raycast</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>Chrome’s abnormal tab search</title>
    <link href="https://unsung.aresluna.org/chromes-abnormal-tab-search" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/chromes-abnormal-tab-search</id>
    <published>2026-05-21T10:48:22.822Z</published>
    <updated>2026-05-21T10:48:22.822Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Chrome’s find option, like every search coming from a good home, does something clever with accented characters – it <a href="https://en.wikipedia.org/wiki/Text_normalization" target="_blank">normalizes</a> them:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/1.1088w.avif" alt="" width="800" height="520">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/2.1088w.avif" alt="" width="800" height="520">
      </picture></figure>
<p>No matter whether you search with a proper accented character, or with its basic Latin equivalent, all the same stuff matches: The “ø” letter is treated the same as “o” both in the input field, and then in the search itself.</p>
<p>Yet, Chrome’s tab search inexplicably doesn’t do that, which confused me when working on a <a href="https://unsung.aresluna.org/accents-are-an-opportunity-not-a-burden/">post about diacritics</a> earlier this week. Here, it should match all four open tabs:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/chromes-abnormal-tab-search/3.1088w.avif" alt="" width="562" height="319">
      </picture></figure>
<p>Tab search was introduced years ago; the Occam’s Razor says this isn’t a recent bug, but that the feature has always behaved like this. I <a href="https://issues.chromium.org/issues/514548242" target="_blank">filed the bug</a>, but even if it gets fixed quickly, I think this doesn’t reflect well on Chrome’s team. If the right code already exists for ⌘F, why not reuse it? If it cannot be reused, why not repurpose at least its unit tests or the QA process to make sure this doesn’t fall through the cracks? Normalization should be treated as a core property of any search, rather than an optional “nice to have.”</p>
<p>But, Marcin, didn’t you just invalidate your assertion that <a href="https://unsung.aresluna.org/accents-are-an-opportunity-not-a-burden/">diacritics actually matter</a>? After all, wouldn’t you input “nestlé” instead of “nestle” if they did? </p>
<p>To this, I have a few answers:</p>
<ul class="long-list">
        <li>Input is not output. This is no different than autocorrect, autocomplete, or other <a href="https://en.wikipedia.org/wiki/Input_method" target="_blank">IME</a> helpers. </li>
      

        <li>The very fact that on many keyboards accented characters are hard to input is itself a sign of anglo-centrism of companies that made early typewriters (Remington, which established a lot of European layouts like QWERTZ and AZERTY, employed a person who <em>bragged </em>he didn’t actually speak any languages in a “how hard could it be” way) and then most microcomputers.</li>
      

        <li>There is this really interesting rule, also known as <a href="https://en.wikipedia.org/wiki/Robustness_principle" target="_blank">Postel’s Law</a>: “be conservative in what you output, but liberal in what you accept as input.” It’s not universally applicable – sometimes it’s better to teach the user to be more explicit if it benefits them in the longer run – but it feels appropriate to me here.</li>
      </ul>
<p>Why does it matter specifically for the ⌘F and the tab search experience? I have this personal theory: the simplest the search, the more the users will blame themselves if it doesn’t work, and assume the tab or the string just isn’t there, rather than rewrite their query. That’s what happened to me. I assumed that the tab wasn’t open and tried to get to it again, wasting time and effort.</p>
<p>The rule might be universally true for any UI surface – the tighter it gets, the less likely we assume it can break. After all, there is a manual for a typewriter, but there isn’t one for the pencil! And these UIs <em>do</em> feel positively basic; they are small windows with basically one input field and an immediate as-you-type reaction.</p><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/localization/">#localization</a> <a href="https://unsung.aresluna.org/tags/search/">#search</a></p>]]></content>
  </entry>
  <entry>
    <title>“Some say it sounds like an alto saxophone.”</title>
    <link href="https://unsung.aresluna.org/some-say-it-sounds-like-an-alto-saxophone" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/some-say-it-sounds-like-an-alto-saxophone</id>
    <published>2026-05-19T21:13:07.016Z</published>
    <updated>2026-05-19T21:13:07.016Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I <a href="https://www.youtube.com/watch?v=BVY0Su0RgyQ" target="_blank">witnessed this Siemens locomotive depart yesterday</a> and for a second I thought I was losing my mind. Then, I smiled so hard:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=BVY0Su0RgyQ" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-say-it-sounds-like-an-alto-saxophone/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-say-it-sounds-like-an-alto-saxophone/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/some-say-it-sounds-like-an-alto-saxophone/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/some-say-it-sounds-like-an-alto-saxophone/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/some-say-it-sounds-like-an-alto-saxophone/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>Turns out, the startup melody <em>was</em> <a href="https://wien.orf.at/m/v2/news/stories/2863787/" target="_blank">intentional</a> in this particular model. The power converters have to adapt the current from the overhead line to convert it to the three-phase motors of the locomotive, and that generates a rising tone. The engineers decided to change the logic to increment the tone in precise few steps resembling a musical scale, rather than allowing it to rise continuously.</p>
<p>I debated whether to include this on Unsung. I guess it <em>is</em> software, even if it’s attached to the hardest of hardware. And sure, it’s “just” delightful, but it is still kind of nice to see someone go extra, adding a human touch atop a technical process that had to happen anyway.</p>
<p>But then, it reminded me of something. No, not the poor <a href="https://unsung.aresluna.org/this-was-a-user-friendly-computer/">CSIRAC</a> trying (and similarly struggling) to become a musician. Rather, a “musical road” built in Lancaster, California, where the engineers messed up the execution, creating a truly unpleasant, atonal melody. David Simmons-Duffin <a href="https://davidsd.org/2008/12/honda-needs-a-tune-up/" target="_blank">wrote a fun essay in 2008</a> analyzing the “bug” thoroughly, including useful visuals, and even replicating the problem. Subsequently, Tom Scott <a href="https://www.youtube.com/watch?v=Ef93WmlEho0" target="_blank">visited the road and made a video about it</a> ten years later.</p>
<p>It won’t surprise you that the cause of the bug was bad hand-off between designers and engineers, but there can be no software patch for grooves you cut in asphalt – and so at least <a href="https://www.youtube.com/watch?v=gLNEOyruUF8" target="_blank">as of last year</a>, the embarrassingly sounding road was still there.</p>
<p>I think I prefer my out-of-tune musical scale performed by a train. Given it’s easy to find <a href="https://youtu.be/J-IC-JRJYwc?si=-qOEBMwEaOpX1hd9" target="_blank">compilation videos of Siemens locomotives booting up</a>, it seems I’m not alone.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/sound-design/">#sound design</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Shallow breathing</title>
    <link href="https://unsung.aresluna.org/shallow-breathing" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/shallow-breathing</id>
    <published>2026-05-19T20:41:27.638Z</published>
    <updated>2026-05-19T20:41:27.638Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Turns out that <a href="https://unsung.aresluna.org/just-a-little-detail-that-wouldnt-sell-anything/">the breathing light</a> survives, sort of, not really, in an Apple product today:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/shallow-breathing/1-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/shallow-breathing/1.1600w.mp4"></video></figure>
<p>The AirPods Pro case does this when charging – right at the start, or when you tap it later. But it disappears after a while, the pace is now 28 breaths a minute (over twice as fast as the original iteration), and the light is orange.</p>
<p>Is it still the same thing, reflecting on how smaller organisms breathe faster? Or is it mostly an unrelated idea, with the light fading in and out indicating <em>activity</em> rather than lack of it? My money is on the latter – the light turns white when pairing, too, and it cycles even faster then – but it was nice to imagine the return of the old feature for a second or two… or 2.1, to be precise.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/hardware/">#hardware</a> <a href="https://unsung.aresluna.org/tags/motion-design/">#motion design</a></p>]]></content>
  </entry>
  <entry>
    <title>“If you just ignore those pesky impossible details, the demo looks deceptively simple.”</title>
    <link href="https://unsung.aresluna.org/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple</id>
    <published>2026-05-19T11:49:46.100Z</published>
    <updated>2026-05-19T11:49:46.100Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://www.youtube.com/watch?v=MvycyU-kLjg" target="_blank">This DOS demo</a> called Wake Up! is astonishingly small – only 16 bytes:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=MvycyU-kLjg" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The demo doesn’t just make <a href="https://unsung.aresluna.org/its-very-small-but-still-leaves-room-for-creativity/">QUOD</a> feel gargantuan. Output this one solitary emoji, “Woman Technologist with Light Skin Tone” – 👩🏻‍💻 – and you spent all your 16 bytes, too. (<a href="https://text.makeup/#%F0%9F%91%A9%F0%9F%8F%BB%E2%80%8D%F0%9F%92%BB" target="_blank">Proof</a>!)</p>
<p><a href="https://hellmood.111mb.de//wake_up_16b_writeup.html" target="_blank">The creator’s write-up</a> is a bit hard to follow, but there are some interesting aspects to it: “stealing” the beauty from math itself, the reliance on the environment being set up properly (to avoid wasting precious bytes on initialization), and the tight connection between the hardware, the visuals, and the sound.</p>
<p>Oh yeah, in case you haven’t noticed, this has sound! Two out of 16 bytes are devoted to its production, using an existing BIOS function that slots nicely into the existing graphics routine. </p>
<p>This is another recent demo that caught my attention: <a href="https://www.youtube.com/watch?v=Ws4twUyt-MY" target="_blank">NINE</a>, from about a year ago:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=Ws4twUyt-MY" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt2.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt2.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt2.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt2.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt2.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The platform here is a computer of a similar vintage as the early DOS machines, Commodore 64. C64, like many other home microcomputers, supported special graphical entities called “<a href="https://en.wikipedia.org/wiki/Sprite_(computer_graphics)" target="_blank">sprites</a>,” which were used for gaming since the rest of the graphics couldn’t move very fast. (Today, your mouse pointer is conceptually similar to a sprite, being imbued with special powers unavailable to anything else.)</p>
<p>C64 could output up to 8 such sprites. The demo inexplicably has… nine.</p>
<p>The NINE demo didn’t focus on absolute minimalism, but instead employed a barrage of ghostly (and ghastly!) trickery to achieve something that was thought impossible. This time around, the explainer from the author – <a href="https://www.youtube.com/watch?v=MXxSPgt_7Z4" target="_blank">a 22-minute YouTube video</a> – is filled with great storytelling, and absolutely worth a watch:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=MXxSPgt_7Z4" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt3.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt3.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt3.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt3.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/if-you-just-ignore-those-pesky-impossible-details-the-demo-looks-deceptively-simple/yt3.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I think both of these showcase two things that I appreciate and that translate to great UX design as well.</p>
<p>The first demo shows tight integration between design and the capabilities of software and hardware. Let’s pick the sound routine that needed just 2 bytes. If there wasn’t a way to output sound within this extremely tight budget, the author likely wouldn’t fight to their death to get sound… they would instead focus on what else was possible within two bytes. This is getting as close to full understanding of the medium you’re working in as possible.</p>
<p>The second demo highlights how sometimes you can use absolutely horrid sleights of hand to achieve something beautiful – and how you can perhaps find beauty in those sleights of hand, too. It reminds me of the quote attributed to Teller (of Penn &amp; Teller):</p>
<blockquote><p>Sometimes magic is just someone spending more time on something than anyone else might reasonably expect.</p></blockquote>
<p>Penn &amp; Teller talk a lot about how there are only two keys to their success: going further than others would think, and not worrying about employing inelegant tricks in service of something that would appear to be of utmost elegance.</p>
<p>Today’s computing limitations are different than the ones from the 1980s. But a lot of this attitude can still be helpful, even four decades in, and even if your work seems as far away from the demoscene as you can imagine.</p><p><a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/hacks/">#hacks</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Accents are an opportunity, not a burden.”</title>
    <link href="https://unsung.aresluna.org/accents-are-an-opportunity-not-a-burden" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/accents-are-an-opportunity-not-a-burden</id>
    <published>2026-05-19T06:51:52.779Z</published>
    <updated>2026-05-19T06:51:52.779Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The iOS 26 update introduced a bug in the Czech keyboard. Instead of the customary háček (ǍǎĚěǦǧǏǐǑǒǓǔY̌y̌) in the bottom row, another key was duplicated, removing access to the accent character (or, a <a href="https://en.wikipedia.org/wiki/Diacritic" target="_blank">diacritic</a>) very popular in that language.</p>
<p>Here is the before and after of this situation:</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/1-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/1-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/1-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/1-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/2-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/2-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/2-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/2-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>Ordinarily, this can be frustrating but not insurmountable; you can always copy/&#8203;paste, rely on autocorrect to help out, or even add some topical text replacements for common phrases. The problem is that this bug only appeared on the keyboard used for logging on, and at least a few people used that character in their password. There, none of these workarounds were available – and so those people were now completely locked out of their iPhones.</p>
<p>The Register reported <a href="https://www.theregister.com/on-prem/2026/04/12/apple-update-turns-czech-mate-for-locked-out-iphone-user/5219671" target="_blank">on this on April 12</a>, and <a href="https://www.theregister.com/on-prem/2026/04/17/apple-is-working-on-passcode-bug-locking-out-iphone-users/5225350" target="_blank">a few days later</a> suggested that Apple was working on a fix. I won’t keep you in suspense; I just verified that the fix landed with the recent May 11 update.</p>
<p>This is, in an of itself, not a fascinating story, but with interesting things to talk about at its periphery.</p>
<p>First of all, The Register never showed a single screenshot. This led to a lot of confusion and speculation in the comments. Turns out, screenshots are valuable not just with bug reporting, but also with bug <em>reporting</em>.</p>
<p>Second, check out this Czech keyboard. Even within the limitations of the ancient QWERTY, there’s a lot of cool stuff happening here. Two new accented keys <em>just appear</em> on the top layer when you switch to Czech. Both have magical properties, too. They’re the modern “<a href="https://en.wikipedia.org/wiki/Dead_key" target="_blank">dead keys</a>” that either stand alone, or get combined with the previous letter if that makes sense. </p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/3-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/3-framed.1600w.webm"></video></figure>
<p>This is the stuff typewriters, and even desktop keyboards, could only dream of. But, as always, more software means more bugs, including some with unforeseen consequences; a typewriter could never break this way.</p>
<p>Thirdly, there is this interesting tension between us being led to believe “more interesting passwords are safer,” but then sometimes being penalized for actually making them interesting. A decade ago someone <a href="https://apple.stackexchange.com/questions/202143/i-included-emoji-in-my-password-and-now-i-cant-log-in-to-my-account-on-yosemite" target="_blank">used emoji in their password</a> without realizing they won’t be able to input it, and I’m sure there were other examples.</p>
<p>But the most interesting, to me, part? It’s the diacritic itself. Under one of the posts, a commenter wrote:</p>
<blockquote><p>Stick with the 7-bit ASCII subset. You will never go wrong.</p></blockquote>
<p>7-bit ASCII basically means “26 Western letters and nothing else.” </p>
<p>I hate this. I know it’s objectively true – in the late 1980s I felt a sense of relief my name didn’t have any of Polish language’s nine diacritics, which would complicate my life. Even just yesterday in Germany, I spotted this:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/4.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/5.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Software still struggles beyond ASCII. But this is why we need to keep pushing. Diacritical characters are to be found everywhere in the world. They’re detailed, and varied, and filled with histories. <a href="https://www.arrantpedantry.com/2020/03/24/umlauts-diaereses-and-the-new-yorker/" target="_blank">Umlaut is not diaeresis</a>. <a href="https://www.twardoch.com/download/polishhowto/kreska.html" target="_blank">Kreska</a> is not the acute. A háček is not a breve. They’re rarely optional decoration, and often not even<em> decoration</em> at all; learning about Turkish <a href="https://en.wikipedia.org/wiki/Dotless_I" target="_blank">dotless i</a> might completely upend your understanding of what’s an accent and what is not.</p>
<p>If you don’t have <a href="https://en.wikipedia.org/wiki/Diacritic#Types" target="_blank">a favourite diacritic</a>, you are missing out. Even the names – grave! ogonek! horn! – are beautiful. (Háček is also known as caron and a wedge depending on context, and in other regions referred to with beautiful words kvačica and strešica.) </p>
<p>If you’re interested, here is <a href="https://www.youtube.com/watch?v=-N--5Wg-2p4" target="_blank">David J. Ross’s 22-minute talk about getting to love diacritics</a> from the perspective of a type designer. It’s filled with craft and playfulness:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=-N--5Wg-2p4" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>My favourite accent is, obviously, ogonek. Just looking at Adam Twardoch’s guide on <a href="https://www.twardoch.com/download/polishhowto/ogonek.html" target="_blank">how it should be drawn</a> fills my heart with joy:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/accents-are-an-opportunity-not-a-burden/6.1088w.avif" alt="" width="400" height="413">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/david-jonathan-ross/">#david jonathan ross</a> <a href="https://unsung.aresluna.org/tags/localization/">#localization</a> <a href="https://unsung.aresluna.org/tags/security/">#security</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Less doesn’t need more</title>
    <link href="https://unsung.aresluna.org/less-doesnt-need-more" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/less-doesnt-need-more</id>
    <published>2026-05-18T09:31:50.892Z</published>
    <updated>2026-05-18T09:31:50.892Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A simple rule for overflow logic that will prevent your app looking <a href="https://unsung.aresluna.org/im-with-stupid-/">a bit stupid</a>…</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/less-doesnt-need-more/1-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/less-doesnt-need-more/1-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/less-doesnt-need-more/1-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/less-doesnt-need-more/1-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/less-doesnt-need-more/2-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/less-doesnt-need-more/2-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/less-doesnt-need-more/2-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/less-doesnt-need-more/2-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>…is to avoid “more” expanding to just one item. If the expansion takes up as much room as the UI to show the expansion, why not show it in the first place?</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“Easy to use,” the hard parts</title>
    <link href="https://unsung.aresluna.org/easy-to-use-the-hard-parts" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/easy-to-use-the-hard-parts</id>
    <published>2026-05-18T09:17:31.731Z</published>
    <updated>2026-05-18T09:17:31.731Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A reader asked me this, and I thought I will answer here:</p>
<blockquote><p>One bit of challenge with [where I work] is that my audience isn’t already almost-guaranteed to be into design! They’re hopefully interested in making good software in general, though, and probably curious about the app [I’m building] they could be using. I’m also afraid that developers sometimes confuse “easy to use” with “beginner-only, limiting”, which makes it harder to write about streamlining UIs; there’s only so many times you can invoke “reducing mental load.” </p></blockquote>
<p>I love this question because it gets to the core of why I started this blog. I’m perennially unhappy with the conflation of “craft” with “delight,” and the subsequent narrowing of “delight” into “cute strings and slow animations.” In the famous words of Steve Jobs, “Design is not how it looks. Design is how it works. What’s tricky is that they’re sometimes related, and even if you learn how to tell the difference, your exec team probably never will.”</p>
<p>I am quoting from memory.</p>
<p>Anyway, I hope spending time on Unsung – please like and subscribe – helps with examples of what to talk about and how to talk about them. But, just to list some alternatives to “reduces mental load” for well-made software that come to my mind:</p>
<ul class="long-list">
        <li>is more efficient</li>
        <li>gets you home earlier</li>
        <li>will allow you to spend more time on things you enjoy</li>
        <li>will allow you to choose which parts of the problem to spend time on</li>
        <li>reduces tedium</li>
        <li>understands and practices progressive disclosure</li>
        <li>understands <em>you</em></li>
        <li>speaks your language</li>
        <li>learns your preferences</li>
        <li>meets you where you are</li>
        <li>is made by people like you</li>
        <li>respects you</li>
        <li>will make you better at what you do</li>
        <li>rewards mastery</li>
        <li>doesn’t dumb things down</li>
        <li>will teach you concepts helpful in other software</li>
        <li>never takes control away from you</li>
        <li>is easy to customize</li>
        <li>adapts to you</li>
        <li>doesn’t disobey you</li>
        <li>will make you look good in front of others</li>
        <li>respects history and legacy of the space</li>
        <li>is built well</li>
        <li>is conceptually/&#8203;systemically beautiful</li>
        <li>is well-considered or thoughtful</li>
      </ul>
<p>There’s more, and I am curious what comes to <em>your </em>mind and how you all connect with developers! But maybe just going through a list like this will provoke some ideas.</p>
<p>(Of course, if you cannot honestly claim some of these about software you’re working on, and you think they’re important – I guess you have some work to do.)</p><p><a href="https://unsung.aresluna.org/tags/storytelling/">#storytelling</a></p>]]></content>
  </entry>
  <entry>
    <title>“We accepted this gradual bloat, but that’s not progress.”</title>
    <link href="https://unsung.aresluna.org/we-accepted-this-gradual-bloat-but-thats-not-progress" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/we-accepted-this-gradual-bloat-but-thats-not-progress</id>
    <published>2026-05-17T08:33:26.148Z</published>
    <updated>2026-05-17T08:33:26.148Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I like the <a href="https://fitsonafloppy.com/" target="_blank">Fits on a Floppy manifesto</a> by Matt Sephton:</p>
<blockquote><p>Software should be as small as it can be. Not as a gimmick, but as a discipline. The floppy disk is the measuring stick: 1.44 MB. If the software that ran entire businesses could fit in that space, then a modern, focused, single-purpose tool certainly can.</p></blockquote>
<p>In my own work, I have mostly focused on the web side of this equation, as this is where the situation feels the most dire: tens of megabytes dedicated to heavy frameworks, unnecessary tracking scripts, and video ads have a real negative effect on experiencing websites. Progressive loading challenges also make it harder to offer a great experience.</p>
<p>But space considerations are starting to feel more pertinent to local software too, in an era where SSD and hard drive prices are going up, and where <a href="https://www.snopes.com/fact-check/google-chrome-ai-installed-computer/" target="_blank">local LLM models start taking up more room</a>.</p>
<p>Also, this passage feels very Unsung, and is exactly why the tag <a href="http://unsung.aresluna.org/tags/history" target="_blank">#history</a> exists on this blog: </p>
<blockquote><p>I don’t miss floppy disks. I miss the <em>mindset</em> they demanded—that every byte matters, that constraints breed creativity, and that software should be light on its footprint.</p></blockquote>
<p>If you reduce tech history to just nostalgia, it won’t be that useful. But if you look at it as <em>inspiration</em>, you might find some truly wonderful and meaningful stuff in there.</p>
<p>On that note: Bonus for a nice classic domain, and a nod toward Mac’s most famous screensaver.</p><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/performance/">#performance</a></p>]]></content>
  </entry>
  <entry>
    <title>Safari and system design, pt. 1</title>
    <link href="https://unsung.aresluna.org/safari-and-system-design-pt-1" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/safari-and-system-design-pt-1</id>
    <published>2026-05-17T07:15:45.112Z</published>
    <updated>2026-05-17T07:15:45.112Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>To me, “tap anywhere at the top to scroll to the beginning” is an amazing and underappreciated mobile gesture:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/1-framed.1600w.webm"></video></figure>
<p>It not only provides an alternative to desktop‘s Home and ⌘↑ keys, but the student laps the teacher here; it’s actually better than <em>every</em> way to scroll to the top on desktop (do you like pressing ⌘↑? do you even have a Home key?), and it’s an icing on a cake of a regular flick to throw the page to the top already being pretty nice.</p>
<p>Tap to return to top is also <em>distinctively mobile </em>in that it allows you to tap just anywhere near the top edge that’s not already a tap target; as far as I can observe, traditional GUIs detest being imprecise in this way, always asking you to click on something specific (although window moving on macOS in the post-title-bar era is also starting to feel similar).</p>
<p>The iPhone gesture seemed to work so well that, over the years, more patterns started borrowing from it. In Bluesky and tons of other apps, you can tap on any tab with scrollable content <em>a second time</em> to scroll all the way to the top. (Again, something that’s hard to imagine on desktop, where you pretty much almost never think of clicking on an already-selected item.)</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/2-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/2-framed.1600w.webm"></video></figure>
<p>It’s not just the top, either. In Podcasts, tapping Home goes back to the left:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/3-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/3-framed.1600w.webm"></video></figure>
<p>And in Photos, to the bottom:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/4-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/4-framed.1600w.webm"></video></figure>
<p>To me, the whole “tap to return to the beginning” gesture universe feels ascended to be the core property of the interface. In that way, it is similar to scrolling, undo, copy/&#8203;paste, arrow keys moving the text cursor, and so on, all inducted to the National Register Of Historic Gestures.</p>
<p>Why? Because these gestures can only blossom if they work <em>consistently</em>, everywhere. You need to start trusting them so much they slide into your subconsciousness. Breaking the gesture in one place will make it less trustworthy in other places, too, ejecting it from motor memory back to the level of <em>deliberate effort</em>, and therefore making it a lot less usable. “Does this thing work here or not?” is a death knell of flow.</p>
<p>The fact that tapping on tabs is <a href="https://unsung.aresluna.org/deterministic-vs-idempotent/">idempotent</a> means there’s also no penalty; if you’re already at the beginning but are not sure, tapping it mindlessly won’t hurt or send you back somewhere else.</p>
<p>This is all great. And this is why I’m unhappy Safari started mucking with it.</p>
<p>Safari has tabs at the bottom – starting with two (regular set and “private” set), although you can add more. Above is a long list of site cards, with newest at the bottom. It’s exactly the same situation as in Photos, and yet tapping on either tab doesn’t restore the scroll position. Instead, it opens the settings dialog:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/5-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/5-framed.1600w.webm"></video></figure>
<p>And, tapping <em>around</em> the buttons does nothing.</p>
<p>I would imagine Safari is a pretty important app used by many people, and so this feels like a bad place to introduce an inconsistency that could have a more serious consequences of un-teaching people about tap to scroll to top in the long run. </p>
<p>The funny thing is that the solution is already there: you can tap ··· in the upper left corner to get to the same functionality. The long press on the tab also opens the same menu.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/6-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/safari-and-system-design-pt-1/6-framed.1600w.webm"></video></figure>
<p>Messing with a “tap to go back to the beginning” system gesture like this means to me the design team doesn’t fully share the understanding of the value of their own creation, or maybe that stewards of the gesture system are not vigilant… or perhaps the awareness is there, but the caretakers aren’t recognized, rewarded, or empowered enough.</p>
<p>It’s similar to the “<a href="https://unsung.aresluna.org/abort-retry-no-thanks/">no, thanks</a>” example I shared before, a possible worrisome tragedy of the UX commons in the making if the respective teams do not change course. Because, wedging that sort of an exception in – even if you have a great set of reasons in the moment – creates a <em>precedent</em>. Inevitably, from my experience, the next team that will want to override scroll to top, or misuse “No, thanks,” will now require less of a justification.</p><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>“193 hours of attempts (and practice)”</title>
    <link href="https://unsung.aresluna.org/193-hours-of-attempts-and-practice" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/193-hours-of-attempts-and-practice</id>
    <published>2026-05-16T08:23:25.938Z</published>
    <updated>2026-05-16T08:23:25.938Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>More unexpected Mario content: <a href="https://www.youtube.com/watch?v=X_eXSzyZudM" target="_blank">a 7-minute video speedrunning composite by FlibidyDibidy</a>:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=X_eXSzyZudM" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/193-hours-of-attempts-and-practice/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/193-hours-of-attempts-and-practice/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/193-hours-of-attempts-and-practice/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/193-hours-of-attempts-and-practice/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/193-hours-of-attempts-and-practice/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<blockquote><p>This video combines my first 5,162 attempts to speedrun Super Mario Bros. I recorded 193 hours of attempts (and practice) on an original 1985 Nintendo Entertainment System, then I wrote a custom computer program to process those videos and combine them via machine learning and conventional image processing techniques.</p></blockquote>
<p>This is not just fun to look at, and – presumably – study as you’re speedrunning yourself. A sign of a good visualization is that it makes you see stuff that you haven’t before and here, at some point (after 1:42), you start noticing strange comb-like patterns in Mario running.</p>
<p>Turns out this is actually a thing called a “frame rule,” a quirk of game’s timing code where it only checks for a completion of the level every 21 frames, or one third of a second. That means that for every level after the first one, your start will be rounded up <a href="https://setsideb.com/what-and-why-are-super-mario-bros-frame-rules/" target="_blank">to the nearest 21st frame</a>:</p>
<blockquote><p>The analogy often given is to think of a bus that leaves every 21 frames, and levels can only end by getting on that bus, and so other than in the last level (which has no new level to load at the end of it), improvements in Super Mario Bros. can only happen in 21 frame increments. If you save a frame or two in a level, but it’s not enough to make the previous frame rule, it’s not enough to take the previous bus, you’ll just end up waiting for it to happen anyway.</p></blockquote>
<p>Stay tuned to the end of the video for some fun stats, and click through in the description below to see the same tech applied live during an in-person speedrunning event.</p><p><a href="https://unsung.aresluna.org/tags/speedrunning/">#speedrunning</a> <a href="https://unsung.aresluna.org/tags/super-mario-bros/">#super mario bros</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Not a radio pharma ad</title>
    <link href="https://unsung.aresluna.org/not-a-radio-pharma-ad" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/not-a-radio-pharma-ad</id>
    <published>2026-05-16T08:03:26.139Z</published>
    <updated>2026-05-16T08:03:26.139Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I like sharing, thinking about, and revisiting basic rules and principles because they really do ladder up to help you with more complex things down the road.</p>
<p>I <a href="https://unsung.aresluna.org/the-1990s-called-and-they-want-their-dialog-box-back/">wrote before</a> how a simple rule to give some breathing room to your length-limited edit fields can be upleveled to a more general “let me color outside the lines when I’m editing” principle. This is another example of a similar situation.</p>
<p>I am in Buttondown, which is a mailing list software. I created a quick test draft just to check something out in the editor, I didn’t do anything else, and then I proceeded to delete it. Then, I was greeted with this:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/1.1088w.avif" alt="" width="742" height="269">
      </picture></figure>
<p>This is nothing more than a larger version of the <a href="https://unsung.aresluna.org/houston-we-have-1-problems/">“You have 1 email(s)” problem</a>. There <em>might</em> be a situation when I’m deleting something that has been published <em>and</em> linked to. In that case, it’d be good to know about how any links to that thing will cease working.</p>
<p>But this is not that kind of a situation, and the software has all the info to know that. In this moment, it could show me a simpler, much less alarming message more appropriate to my situation. This is not the end of a radio pharma ad where you have to rattle out all the legal disclaimers just in case something <em>could</em> happen.</p>
<p>One tiny counterexample from my neck of the woods: in Figma, when you start writing a comment and then exit without posting it, you get a little warning. But you don’t get that warning when you type something that’s &lt;= 8 characters. In this case, the assumption is that retyping a few characters elsewhere (assuming you haven’t just changed your mind altogether) is much easier and faster than cognitively processing and dismissing the warning. </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/not-a-radio-pharma-ad/2.1088w.avif" alt="" width="404" height="148">
      </picture></figure>
<p>The challenge with Buttondown’s dialog is that this is more than just extra cognitive processing and “cheapness.“ Here, the stakes are higher, as we’re talking about something adjacent to data loss; the dialog really does feel a bit scary and makes me think I can do some real damage in a situation no real damage is possible.</p><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a> <a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
  <entry>
    <title>“Cryptic mode was born from a hard constraint.”</title>
    <link href="https://unsung.aresluna.org/cryptic-mode-was-born-from-a-hard-constraint" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/cryptic-mode-was-born-from-a-hard-constraint</id>
    <published>2026-05-15T06:15:17.455Z</published>
    <updated>2026-05-15T06:15:17.455Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Software engineer Ajitem Sahasrabuddhe recently wrote a <a href="https://ajitem.com/blog/iron-core-part-1-the-problem-that-built-an-industry/" target="_blank">6-post series called “Iron Core”</a> about airline ticketing infrastructure. The entire series is probably too software engineer-y for us, but the <a href="https://ajitem.com/blog/iron-core-part-3-the-command-line-that-never-died/" target="_blank">third part</a> has some interesting info about a particular 1960s user interface called “cryptic mode”:</p>
<blockquote><p>Cryptic mode was born from a hard constraint: teletype terminals in the 1960s billed by the character transmitted. Every keystroke cost money. A command that took 50 characters instead of 10 cost five times as much. Commands were compressed to the absolute minimum.</p>
<p>The result is a domain-specific language whose syntax was shaped entirely by economics. AN for Availability Next. SS for Sell Segment. NM for Name. ER for End and Retrieve. No vowels wasted. No words spelled out.</p></blockquote>
<p>Apparently the official name is “native mode,” but it gained its nickname because… well, see for yourself.</p>
<p>Asking the system for “Availability for Next flight” for February 8, from Nagpur to Delhi, is just 13 characters:</p>
<p><code>AN08FEBNAGDEL</code></p>
<p>And the system responds in an equally mysterious way:</p>
<p><code>** AMADEUS AVAILABILITY - AN ** NAG DEL SU 08FEB 0000<br>
1 AI 416 Z9 C9 D9 Y9 B9 NAG DEL 0840 1030 32A 0<br>
2 AI 416 M9 H9 K9 Q9 T9 NAG DEL 0840 1030 32A 0<br>
3 6E 5317 S9 T9 W9 V9 Q9 NAG DEL 0840 0755 32A 0<br>
</code><br>
With time these commands became wrapped inside more approachable interfaces and GUIs. But they exist under the hood and…</p>
<blockquote><p>Many experienced travel agents still use it today alongside, and sometimes instead of, web-based agent interfaces such as Amadeus Selling Platform Connect. For a trained operator working a booking-heavy workflow, it is faster than the equivalent graphical interface for the same sequence of operations.</p></blockquote>
<p>Except today, you get to choose. At the beginning, when “online” didn’t imply internet, and registration computers looked like this, you didn’t have a choice: this was the language you had to fluently write and read.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/cryptic-mode-was-born-from-a-hard-constraint/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/cryptic-mode-was-born-from-a-hard-constraint/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/cryptic-mode-was-born-from-a-hard-constraint/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/cryptic-mode-was-born-from-a-hard-constraint/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/cryptic-mode-was-born-from-a-hard-constraint/1.1088w.avif" alt="" width="547" height="700">
      </picture></figure>
<p>It makes <a href="https://unsung.aresluna.org/youd-get-knuckle-pain-if-you-typed-too-much/">Unix commands</a>, also intentionally short/&#8203;cryptic, look like <a href="https://en.wikipedia.org/wiki/Microsoft_Bob" target="_blank">Microsoft Bob</a>.</p><p><a href="https://unsung.aresluna.org/tags/command-line/">#command line</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>Speaking of wiggling the mouse</title>
    <link href="https://unsung.aresluna.org/speaking-of-wiggling-the-mouse" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/speaking-of-wiggling-the-mouse</id>
    <published>2026-05-15T06:11:36.740Z</published>
    <updated>2026-05-15T06:11:36.740Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In light of a recent Googlebook announcement that uses <a href="https://blog.google/products-and-platforms/platforms/android/meet-googlebook/" target="_blank">a mouse wiggle gesture for AI</a> (which to me doesn’t seem like a pleasant interaction), some of us were talking about how, on macOS, mouse wiggle helps you locate the cursor by making it bigger.</p>
<p>I am maybe a sucker for videos and podcasts where people start laughing, but here we go – a <a href="https://www.youtube.com/watch?v=_j03UD4V8eY" target="_blank">very short video</a> about a version of Linux that “does not limit how big your pointer can get if you wiggle the mouse pointer”:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=_j03UD4V8eY" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/speaking-of-wiggling-the-mouse/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/speaking-of-wiggling-the-mouse/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/speaking-of-wiggling-the-mouse/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/speaking-of-wiggling-the-mouse/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/speaking-of-wiggling-the-mouse/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure><p><a href="https://unsung.aresluna.org/tags/humor/">#humor</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“This is where your mouse becomes a cryptographic instrument.”</title>
    <link href="https://unsung.aresluna.org/this-is-where-your-mouse-becomes-a-cryptographic-instrument" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/this-is-where-your-mouse-becomes-a-cryptographic-instrument</id>
    <published>2026-05-13T16:38:20.293Z</published>
    <updated>2026-05-13T16:38:20.293Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A fascinating <a href="https://www.youtube.com/watch?v=DB0dEPDCm24" target="_blank">9-minute video from PawelCodeStuff</a> about randomness in the context of computing:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=DB0dEPDCm24" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-is-where-your-mouse-becomes-a-cryptographic-instrument/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-is-where-your-mouse-becomes-a-cryptographic-instrument/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/this-is-where-your-mouse-becomes-a-cryptographic-instrument/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/this-is-where-your-mouse-becomes-a-cryptographic-instrument/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/this-is-where-your-mouse-becomes-a-cryptographic-instrument/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>It explains those weird moments where sometimes the computer asks you to wiggle your mouse – to generate unpredictable numbers – although the specifics of <em>what</em> exactly was random in my wiggling was a surprise to me.</p>
<p>There is something poetic about computers yearning for that one thing they can never get – complete unpredictability – and collecting it in a little pool like you would something very precious. Also fascinating that in modern CPUs, there now exist hardware components that gather truly random data from the real world.</p>
<p>While I have never needed true randomness in my design career, knowing how to control pseudorandomness (specifically, how to replay it) has been helpful. </p>
<p>Here’s an example. In my <a href="https://aresluna.org/the-hardest-working-font-in-manhattan#type" target="_blank">essay about Gorton</a>, there is this interactive bit where you can drag a slider for “messiness.” With regular pseudorandomness, the experience is wiggly and gross:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/this-is-where-your-mouse-becomes-a-cryptographic-instrument/1-thumbnail.avif" width="800" height="509" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/this-is-where-your-mouse-becomes-a-cryptographic-instrument/1.1600w.mp4"></video></figure>
<p>But when you always restart the prng from the same seed (“the Groundhog Day maneuver”), it feels much better:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/this-is-where-your-mouse-becomes-a-cryptographic-instrument/2-thumbnail.avif" width="800" height="509" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/this-is-where-your-mouse-becomes-a-cryptographic-instrument/2.1600w.mp4"></video></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/motion-design/">#motion design</a> <a href="https://unsung.aresluna.org/tags/security/">#security</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Mailbag: Photoshop’s focus post</title>
    <link href="https://unsung.aresluna.org/mailbag-photoshops-focus-post" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/mailbag-photoshops-focus-post</id>
    <published>2026-05-13T13:19:19.306Z</published>
    <updated>2026-05-13T13:19:19.306Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The <a href="https://unsung.aresluna.org/photoshops-challenges-with-focus-pt-2/">post about Photoshop’s new dialogs</a> traveled through some of the internet’s pipes and alleyways. <a href="https://mjtsai.com/blog/2026/04/30/photoshops-modern-spectrum-user-interface/" target="_blank">Michael Tsai has a nice roundup of reactions</a>; let me pick a few things that caught my attention.</p>
<p>1.<br>
Nick Heer at Pixel Envy made a discovery that <a href="https://pxlnv.com/linklog/adobe-modern-user-interface/" target="_blank">Photoshop’s new windows are… websites</a>:</p>
<blockquote><p>Maybe it really is possible to build a web app that feels platform native. But I have never used one — not once — and for this mess to be increasingly used in the industry-standard professional suite of creative tools is maddening.</p></blockquote>
<p>I think it <em>is </em>possible – especially in the realm of classic form fields – but you really have to care and step up and test and replicate a some stuff that the operating system controls give you for free. (As an example, if the web platform/&#8203;Electron don’t give you access to the “keyboard navigation” OS accessibility setting, you’ll need to build a bridge from the OS to pass it through. This is how Figma’s Electron app got haptics, for example.)</p>
<p>It is true that we don’t see that level of effort often. But there are also bad native interfaces, and there might be more; Roger Wong recently <a href="https://rogerwong.me/2026/05/tuis-back-gui-toolkit-failure" target="_blank">made an interesting observation</a> that stuck with me. Emphasis mine:</p>
<blockquote><p>The mechanism differs but the outcome is the same: the platform stops being a place a designer can rely on. […] [Text user interfaces] are back because <em>the platforms quit</em>, and the curriculum can’t fix that.</p></blockquote>
<p>I think I agree with this; I’ve felt there haven’t been a lot of improvements in native desktop interfaces recently.</p>
<p>In the mid-1990s, Apple was losing to Windows 95/98, and after years of falling by the wayside, the team eventually got their priorities in order, and rebooted classic Mac OS into a (I believe generally successful) Aqua. And in later years, Apple as a whole has often been good about creating extra distance from the peloton even if there was no immediate danger of being overtaken.</p>
<p>But not here. Windows lost its way, and perhaps even the memories of the darkness of the 1990s and the revival of the 2000s are now forgotten. Even if Liquid Glass was executed extremely well, macOS would still feel bereft of true evolution and care. I know there have been some slight improvements to window tiling and more recently Spotlight, but little of this betrays urgency or suggests a vision.</p>
<p>Finder feels like it’s been abandoned for over a decade. AirDrop UI is worse in use than many of the file sharing interfaces that came before it. This common UI is stuck in the state of the art of display colour science that is <em>out of the</em> <em>previous century</em>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/mailbag-photoshops-focus-post/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/mailbag-photoshops-focus-post/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/mailbag-photoshops-focus-post/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/mailbag-photoshops-focus-post/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/mailbag-photoshops-focus-post/1.1088w.avif" alt="" width="274" height="459">
      </picture></figure>
<p>Just on the topic that is <a href="https://aresluna.org/key-in-sight/" target="_blank">fresh on my mind</a>: Why does Shortcuts feel like a toy in all the moments it shouldn’t, but few of the moments it should? Why does the keyboard customization situation feels so messy? Or, why are both macOS and iPadOS still stuck in the ancient way of thinking that menu bars contain all the app’s commands, when the modern approach is: it’s command <em>bars</em> that do, with menus containing only a subset? An innovative modern operating system would offer a universal API for command bars that any app that wants one could use – instead, apps invent their own with varying levels of success and UI quality, and automation tools cannot do much since nothing’s compatible. (This in particular is an example of an area where web apps started leading the way.)</p>
<p>These are just some examples that come to mind. It’s true I have admired and been inspired by some work done on <a href="https://unsung.aresluna.org/peaked-in-2015/">Apple TV</a> and the Vision Pro, but we also have to acknowledge that designing for net-new platforms is in many ways easier than for legacy ones.</p>
<p>2.<br>
Back to Photoshop. In the <a href="https://news.ycombinator.com/item?id=48013750" target="_blank">Hacker News thread</a>, at least one person from Adobe dropped in to comment, and one paragraph caught my attention:</p>
<blockquote><p>These changes were part of the Beta program. As far as I am aware the response there was not on the same level as this blog post.</p></blockquote>
<p>It’s not my intention to pick on this Adobe employee, and I am not aware of the specific of their beta program (although I have used Photoshop in beta for a few years). But from my experience, this is why beta testing fails in this regard:</p>
<ul class="long-list">
        <li>People in beta programs might be more lenient and excited to experiment.</li>
      

        <li>For obviously broken small UI things, people will be more inclined to think “oh, they will surely take care of that in the polish phase.”</li>
      

        <li>In general, <a href="https://unsung.aresluna.org/how-to-make-sure-a-designer-never-files-a-bug-again/">reports of smaller UI things</a> are less likely than bigger functional bugs like “this is not working” or “this is really slow now.” You really have to encourage and reward and incentivize people to do that, and usually identify <a href="https://unsung.aresluna.org/the-vision-of-persistence/">the right people</a> first, too.</li>
      

        <li>Please excuse my directness, but Photoshop’s user interface has felt low-quality for at least a decade now. There are a lot more examples. It’s hard to expect people in the beta to flag small UI stuff – including literal <a href="https://en.wikipedia.org/wiki/Broken_windows_theory" target="_blank">broken windows</a> – when the evidence all around them is that the company doesn’t care.</li>
      

        <li>Just because we all encounter interfaces doesn’t mean everyone knows how to identify the things and say the words and connect the dots, especially when it comes to generally undefinable and unmeasurable craft. Good UI is <em>deep</em> <em>expertise</em>. Just like you cannot research or data science your way out of fundamentally bad product decision-making process, you also cannot add craft through relying on your users to tell you. You need to foster this on the inside.</li>
      </ul>
<p>3.<br>
Oh, and when I say “broken windows,” I’m not just being cute. Here’s an example of Photoshop’s “explore” halo that occasionally appears on top of another app just because I have Photoshop open underneath. And, there is nothing I can do in Photoshop to get rid of it:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/mailbag-photoshops-focus-post/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/mailbag-photoshops-focus-post/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/mailbag-photoshops-focus-post/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/mailbag-photoshops-focus-post/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/mailbag-photoshops-focus-post/2.1088w.avif" alt="" width="284" height="223">
      </picture></figure>
<p>I think there is something fundamentally very broken with Photoshop’s (custom?) window management, seeing how PS windows jump in front of other applications, or how PS breaks other apps’s mouse pointers. But that’s a story for a different post.</p><p><a href="https://unsung.aresluna.org/tags/adobe/">#adobe</a> <a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/nick-heer/">#nick heer</a> <a href="https://unsung.aresluna.org/tags/process/">#process</a></p>]]></content>
  </entry>
  <entry>
    <title>Rug pulled</title>
    <link href="https://unsung.aresluna.org/rug-pulled" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/rug-pulled</id>
    <published>2026-05-12T19:40:20.503Z</published>
    <updated>2026-05-12T19:40:20.503Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The best thing the crypto industry coined might have been the expression “rug pull,” but I’m not happy about that. To me, it perfectly describes how it feels when an app or a website randomly changes your scroll position for no rhyme or reason.</p>
<p>You’ve seen it so many times before:</p>
<ul class="long-list">
        <li>you start reading a webpage, but it throws you back to the top when JavaScript finishes loading,</li>
        <li>you start reading a webpage, and ads or other stuff appear and shove you around up and down,</li>
        <li>you press a back button and that goes to the previous page… but to its top, rather than where you actually were,</li>
        <li>you zoom in or out, the position isn’t recalculated properly, and suddenly you see a different part of the page and lose your orientation.</li>
      </ul>
<p>To me, the scroll position is as sacred <a href="https://unsung.aresluna.org/mouse-pointer-as-a-mere-mortal/">as the mouse pointer position</a>, given the two are related whether <a href="https://unsung.aresluna.org/lock-scroll-with-a-vengeance/">Scroll Lock</a> is around or not: one is you, the other is the world around you. </p>
<p>But there are moments when software scrolling <em>with the user </em>or even <em>for the user</em> is appropriate, and here’s one example:</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/rug-pulled/2-keyed-thumbnail.avif" width="800" height="643" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/rug-pulled/2-keyed.1600w.webm"></video></figure>
<p>When you switch tabs, the content below should always scroll to the top, but it doesn’t here.</p>
<p>Here’s an even worse example, also from Settings:</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/rug-pulled/4-keyed-thumbnail.avif" width="800" height="643" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/rug-pulled/4-keyed.1600w.webm"></video></figure>
<p>Why should the content scroll to the top here? Because in these situations, the fact that the content container gets reused is just a technical quirk of the implementation. From the user’s perspective, this is all new content, and new content should always start at the top. Otherwise, things will get confusing really fast; imagine it especially in the default configuration <a href="https://unsung.aresluna.org/testing-tip-always-show-scrollbars/">without scrollbars</a>, where you might assume result number 6 is the first result, or completely miss the most important, topmost options.</p>
<p>(Before you ask: Yes, I also see this in Tahoe.)</p><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a></p>]]></content>
  </entry>
  <entry>
    <title>Save For Web claws</title>
    <link href="https://unsung.aresluna.org/save-for-web-claws" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/save-for-web-claws</id>
    <published>2026-05-12T16:15:23.889Z</published>
    <updated>2026-05-12T16:15:23.889Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Randomly found <a href="https://dribbble.com/shots/1766659-The-Save-for-Web-Claw" target="_blank">this 2014 Dribbble</a> from Jamie Nicoll and it made me smile:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/save-for-web-claws/1.1088w.avif" alt="" width="752" height="564">
      </picture></figure>
<p>For context, Save For Web was a popular export function in Photoshop at the peak of its use for web design, but assigned a rather unpleasant ⌘⌥⇧S shortcut. Using it often turned your hand into a… claw of sorts.</p>
<p>There was a Tumblr cataloging real and humorous photos of people pressing Save For Web. You can still find <a href="https://web.archive.org/web/20150331203203/http://saveforwebclaws.tumblr.com/" target="_blank">parts of it on Internet Archive</a>, and here are some choice photos:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/save-for-web-claws/2.1088w.avif" alt="" width="500" height="500">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/save-for-web-claws/3.1088w.avif" alt="" width="500" height="667">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/save-for-web-claws/4.1088w.avif" alt="" width="500" height="375">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/save-for-web-claws/5.1088w.avif" alt="" width="525" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/save-for-web-claws/6.1088w.avif" alt="" width="525" height="700">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/save-for-web-claws/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/save-for-web-claws/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/save-for-web-claws/7.1088w.avif" alt="" width="500" height="500">
      </picture></figure>
<p>This is funny, but I actually found it enlightening – and lightly frightening – to ask coworkers how exactly they press common shortcuts like ⌘Z, ⌘C, ⌘V, and so on. There was a <em>lot</em> more variety than I expected.</p>
<p>(My basic heuristics say: three-modifier-key shortcuts should not be assigned to anything used often.)</p><p><a href="https://unsung.aresluna.org/tags/humor/">#humor</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a></p>]]></content>
  </entry>
  <entry>
    <title>“Nothing short of a magic trick”</title>
    <link href="https://unsung.aresluna.org/nothing-short-of-a-magic-trick" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/nothing-short-of-a-magic-trick</id>
    <published>2026-05-11T21:54:52.135Z</published>
    <updated>2026-05-11T21:54:52.135Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A fascinating <a href="https://www.youtube.com/watch?v=cIbCxbrBCys" target="_blank">25-minute video from Mark Brown at Game Maker’s Toolkit</a> about how the team building Grand Theft Auto 3 conquered the technical limitations of PlayStation 2:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=cIbCxbrBCys" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nothing-short-of-a-magic-trick/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nothing-short-of-a-magic-trick/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/nothing-short-of-a-magic-trick/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/nothing-short-of-a-magic-trick/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/nothing-short-of-a-magic-trick/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>How do you squeeze a city that occupies over 50 megabytes into the 32MB memory of the console? You simply do what <a href="https://www.youtube.com/watch?v=z9lBvg5clr0" target="_blank">The Truman Show did</a>, and <em>construct the city around the player as they’re moving around</em>:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/nothing-short-of-a-magic-trick/1-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/nothing-short-of-a-magic-trick/1.1600w.mp4"></video></figure>
<p>This has, as you can expect, a lot of technical and even game-design consequences, and the video goes into a lot of detail on these – including Brown rebuilding the Grand Theft Auto 3 source to visualize things better.</p>
<p>This technique is also used in interface design, for example if you have a really long list of things that would take too much memory or GPU power to render. What the video calls “streaming” is, in the context of UI, often called “virtualization”: instead of having a full long list (or an entire world), you abstract it away – or, virtualize – into something nimbler.</p>
<p>Some of the challenges and techniques used by Grand Theft Auto 3 apply pretty directly here, as well:</p>
<ul class="long-list">
        <li>you can use UI skeletons as “low poly” models,</li>
        <li>in some contexts, you can guess the user is more likely to move in one direction (for example, going through fonts in a font picker), and more eagerly preload where they’re going to look next, rather than symmetrically in both directions.</li>
      </ul>
<p>On the other hand, “speedy players” and “pop in” can’t ever be solved because any UI list is random access, and slowing users down is not typically appropriate; better to make loading as pleasant as possible than introduce any roadblocks, even if figurative ones.</p><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/performance/">#performance</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“They did the bare minimum and moved on.”</title>
    <link href="https://unsung.aresluna.org/they-did-the-bare-minimum-and-moved-on" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/they-did-the-bare-minimum-and-moved-on</id>
    <published>2026-05-11T15:46:53.759Z</published>
    <updated>2026-05-11T15:46:53.759Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Since the early 2000s, Mac OS X had a few orientations of icons depending on whether they were applications, files, utilities <a href="https://github.com/gingerbeardman/apple-human-interface-guidelines/blob/main/2002%20Aqua%20Human%20Interface%20Guidelines.pdf" target="_blank">and so on</a>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/1.1088w.avif" alt="" width="580" height="355">
      </picture></figure>
<p>In 2020, macOS Big Sur unified those styles and made them more iOS-like:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/2.1088w.avif" alt="" width="575" height="185">
      </picture></figure>
<p>A few years later, <a href="https://blog.jim-nielsen.com/2024/big-sur-ification-of-macos-icons/" target="_blank">Jim Nielsen revisited the icon “Big Sur-ification”</a>, and showed examples of apps that did the transition really well, but also those where the transition felt… lazy, essentially shoving their previous icon into a roundrect.</p>
<p>For those, Nielsen proposes some alternatives that are delightful to see:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/they-did-the-bare-minimum-and-moved-on/3.1088w.avif" alt="" width="800" height="569">
      </picture></figure>
<p>The Word/&#8203;Excel/PowerPoint/&#8203;Outlook explorations are particularly nicely done.</p><p><a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a></p>]]></content>
  </entry>
  <entry>
    <title>A preview of the future</title>
    <link href="https://unsung.aresluna.org/a-preview-of-the-future" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-preview-of-the-future</id>
    <published>2026-05-10T21:16:53.016Z</published>
    <updated>2026-05-10T21:16:53.016Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In <a href="https://www.youtube.com/watch?v=IhMzwISbIAo" target="_blank">his latest video</a>, Shelby from Tech Tangents unpacked, installed, and put to use a truly forgotten product: IBM 3119, one of the first consumer flatbed scanners.</p>
<p>The setup was a small nightmare, needing a rare hardware card installed in a specific computer, an ultra-particular combination of two operating systems working in lockstep, and even some careful memory balancing.</p>
<p>Even after all that, a 300dpi page scanner in the late 1980s was still a force to be reckoned with. It’s hard to remember how enormous scanned files were compared to anything else then, even on a black-and-white scanner like this one. The video shows a simple 90-degree image rotation in highest quality requiring <em>over 9 hours</em>, and I believe it.</p>
<p>But deep inside the video, at precisely 19:31, for only ten seconds, something appears that is absolutely worth celebrating. The nascent scanner software has a “curves” feature that allows you to redraw the shades of gray to capture shadows, highlights, and midtones exactly how you want them. Today, the feature would look something like this, with a real-time preview:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/a-preview-of-the-future/1-thumbnail.avif" width="708" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-preview-of-the-future/1.1600w.mp4"></video></figure>
<p>There would be absolutely no way to do something like this in the late 1980s, when just rotating an image is an overnight operation, right? And yet:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/a-preview-of-the-future/2-thumbnail.avif" width="800" height="600" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-preview-of-the-future/2.1600w.mp4"></video></figure>
<p>How was this accomplished? Absolutely brilliantly. Remember the <a href="https://unsung.aresluna.org/so-i-made-another-tool/">palette swapping</a> technique? Here, the entire screen’s palette is 256 shades of gray. It’s a very particular kind of a linear palette, and so you can easily take that line and… well, turn it into a curve. Since palette swapping happens on the graphic card, it takes as little as one frame of time, allowing for it to react to mouse movements as they happen.</p>
<p>This must have been mind blowing to experience in the moment. Sure, it’s only a preview, and actually <em>applying</em> curves to the image would take many minut—</p>
<p>No. This is a wrong frame of mind. Here’s my hot take: There are moments in software where <em>the preview is more important than the feature</em> following it. That’s because the preview making things faster isn’t just the difference between finishing something sooner or later. It’s a difference of doing something or not doing it at all. Would you even attempt to use curves if each adjustment took minutes or hours, especially in a land without undo?</p>
<p>I love this preview that hints at what the future will be. I like this clever use of extremely limited technology and tight collaboration between engineering and design. It must have been nice to be in the room whenever someone had the flash of insight to use palette swapping this way.</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a></p>]]></content>
  </entry>
  <entry>
    <title>Peaked in 2015</title>
    <link href="https://unsung.aresluna.org/peaked-in-2015" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/peaked-in-2015</id>
    <published>2026-05-09T22:46:10.697Z</published>
    <updated>2026-05-09T22:46:10.697Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have a confession to make. I prefer Apple TV’s 2015 remote:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/peaked-in-2015/1.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>The remote was universally ridiculed for its “which way is up?” problem – too much vertical symmetry which didn’t give your hand enough cues to know whether you’re picking it up the right way or the wrong way.</p>
<p>Apple tried a half-measure first; in 2017 they broke the symmetry by making the MENU button slightly distinct in visual and tactile ways. Hindsight is 4K, but I don’t think it had a chance of working – the tactile cues were too subtle, and the visual ones do not matter when you’re not looking:</p>
<div class="blink-comparator"><figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/peaked-in-2015/2.1088w.avif" alt="" width="800" height="533">
      </picture></figure>

<figure><div class="hint"></div><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/peaked-in-2015/3.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
</div><p></em>So Apple overshot – the subsequent 2021 edition was a full-measure-and-then-a-half:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/peaked-in-2015/4.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>The remote shrank the touch surface but otherwise drastically increased the volume, and added four arrows, two new buttons, and a strange iPod-inspired clock wheel interaction on top. And to me it started feeling a bit complicated, inching toward the very TV remotes that earlier designs ridiculed. (It also wasn’t as pleasant to touch, as the buttons feel a bit rougher.)</p>
<p>But the reason I like the 2015 remote is primarily because it introduced one of my favourite gestures in recent history: tap to see progress.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/peaked-in-2015/5-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/peaked-in-2015/5.1600w.mp4"></video></figure>
<p>It’s hard to describe how wonderfully <em>light</em> this interaction feels every time I use it. You just tap anywhere on the remote’s top half, you see where you are in the video via a subtle UI, and then wait a few second for it to disappear. After this, doing the same in every other player – YouTube, Netflix, HBO Max, anything on a Mac or even the iPhone – feels clunky and heavy. In many of them, you can’t even see were you are without stopping the video!</p>
<p>It gets better. Tap for the second time, and the elapsed time gets replaced by current time, and the remaining time by what the clock will say whenever you’re done watching. I thought this is delightful and clever, sneaking in clock functionality without showing it all the time.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/peaked-in-2015/6-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/peaked-in-2015/6.1600w.mp4"></video></figure>
<p>There is also this really nice gestural separation. When you watch the video, taps and swipes are safe. Anything that is “destructive” – that is, causes the video to stop, or rewind, or fast forward, is on the “click” layer: press stronger on the center to pause, or on either side to move forward or back.</p>
<p>What I’m describing feels mechanically similar to other input devices, but the devil is in the details. On smartphones, everything is a tap, so you don’t really get anything lighter. On a Mac, tap as a gesture could only be available for people who opt in to press to click on their trackpad (like I do) – but the fact that tap is the default for clicking, means that can never realistically happen. </p>
<p>The Apple TV tap feels conceptually like Mac’s <em>hover</em> instead, but so much more pleasant and elegant and simple. (I want to prototype tap on a Mac as a lightweight “explainer,” showing tooltips there instead of on hover.)</p>
<p>To be fair, the tap gesture still exists in the still-current 2021 Apple TV remote, too – but the tap area is much smaller.</p>
<p>And just in case you were curious, these are the first two editions: the 2005 remote – shipped with the iMac, predating Apple TV – and the 2010 remote. (I’m referring to model years, because <a href="https://support.apple.com/en-us/103233" target="_blank">Apple’s own names</a> are so confusing.)</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/peaked-in-2015/7.1088w.avif" alt="" width="800" height="533">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/peaked-in-2015/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/peaked-in-2015/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/peaked-in-2015/8.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>I don’t have access to Apple’s user feedback, but I guess that Apple’s 2021 design was likely the very right thing to do. But looking at four-and-a-half of these models side by side, I am still in the 2015’s minimalistic, unusual, innovative corner.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>“There seems to be a file that is just filled with undecipherable Morse.”</title>
    <link href="https://unsung.aresluna.org/there-seems-to-be-a-file-that-is-just-filled-with-undecipherable-morse" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/there-seems-to-be-a-file-that-is-just-filled-with-undecipherable-morse</id>
    <published>2026-05-08T13:58:49.924Z</published>
    <updated>2026-05-08T13:58:49.924Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>On April Fools in 2021, the popular xkcd comic ran <a href="https://xkcd.com/2445/" target="_blank">Checkbox</a>, which was a Morse code puzzle in disguise. (It’s interesting to see the community <a href="https://www.explainxkcd.com/wiki/index.php/Talk:2445:_Checkbox" target="_blank">trying to figure out what it actually does</a>.)</p>
<p>Engineer Max Goodhart built the front-end and <a href="https://chromakode.com/post/checkbox/" target="_blank">wrote a summary of the whole project</a>:</p>
<blockquote><p>This year was a doozy. We specced and scrapped several different ideas in the months leading up to today. We finally settled on today’s concept just 3 days ago. The need to do something simple was a really useful constraint, and we leaned into the idea of making something primitive but deep.</p></blockquote>
<p>The team seems to have had a lot of fun with it, including even JavaScript being encoded in Morse Code (the link in the blog post no longer works, but you can still see it <a href="https://web.archive.org/web/20210501020927/https://xkcd.com/2445/morse/static/comic.js" target="_blank">on the Internet Archive</a>).</p>
<p>Goodhart also wrote about the immense challenge of adjusting the Morse tapping speed to the user, which counterintuitively ended up needing… adjusting the user to the speed. But the best part is that the server communications used the Morse code in URLs, as well:</p>
<blockquote><p>We took great pains to make the API for this project use morse code in the transport.  If you take a look at the network inspector, you’ll notice that the URLs requested have morse code in them.</p></blockquote>
<p>This worked for every combination of letters imaginable, with two oddly specific exceptions: a solitary E, and a solitary I.</p>
<p>I liked this description of what transpired next, which would have made me think I was going insane, too:</p>
<blockquote><p>Then, an <em>even stranger thing happened</em>. I copied and pasted the correct URL into my browser and pressed Enter, and right before my eyes, it deleted the ”.” from the end of the URL and returned a different result. </p></blockquote>
<p>I was delighted to discover an answer here, not only because in retrospect it’s such an obvious thing that was staring us all in the face for decades, but also because it has interesting URL construction consequences.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/encoding/">#encoding</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>“This was a user-friendly computer.”</title>
    <link href="https://unsung.aresluna.org/this-was-a-user-friendly-computer" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/this-was-a-user-friendly-computer</id>
    <published>2026-05-07T21:54:23.609Z</published>
    <updated>2026-05-07T21:54:23.609Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The Pixar animated short <a href="https://www.youtube.com/watch?v=dWAERJhHL4w" target="_blank">Lifted</a> was released in front of Ratatouille in 2006:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=dWAERJhHL4w" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I’ve always been amused by this imaginary interface, which is so clearly <em>not</em> how any sort of computer would work.</p>
<p>Or so I thought. These are photos I took in Melbourne in 2024 of CSIRAC, Australia’s first digital computer from about 1949:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/1.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/2.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/3.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>This is a “console” of the computer, used to tactically probe or input specific memory addresses (in binary), and to control functions like stopping and starting the program. Any <em>proper</em> programming and eventually inputting data would happen using gentler I/O devices like typewriter keyboards, paper tape, and magnetic storage. </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/4.1088w.avif" alt="" width="800" height="516">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/5.1088w.avif" alt="" width="693" height="700">
      </picture></figure>
<p>Physical consoles like this one were last seen in the 1970s on hobbyist home computers such as the <a href="https://en.wikipedia.org/wiki/Altair_8800" target="_blank">Altair 8800</a>, and the Console app on your Mac diligently spitting out logs is its spiritual and virtual successor. But even if a CSIRAC console feels hostile today, 75 years ago it was <a href="https://cis.unimelb.edu.au/__data/assets/pdf_file/0009/3775482/the-last-of-the-first-csirac-ebook.pdf" target="_blank">quite the opposite</a>:</p>
<blockquote><p>And [CSIRAC] helped there too. It could display all its working registers and the last 16 instructions executed. It could be given an address at which to stop (a “breakpoint”), and be stepped by one instruction at a time. It even had lights to show the computer’s internal states. This was a user-friendly computer.</p></blockquote>
<p>CSIRAC stood for Commonwealth Scientific and Industrial Research Automatic Computer, a typical naming scheme of the era. We also got ENIAC (Electronic Numerical Integrator and Computer) in 1945, BINAC (Binary Automatic Computer) in 1949, EDVAC (Electronic Discrete Variable Automatic Computer) in 1946, ILLIAC (Illinois Automatic Computer) in 1952, and then SEAC, SWAC, ORDVAC, TREAC, AVIDAC, FLAC, WEIZAC, BIZMAC, RAMAC, and UNIVAC.</p>
<p>The story goes that the name of 1952’s MANIAC (Mathematical Analyzer Numerical Integrator and Automatic Computer) was chosen to highlight and put a stop to the goofy naming practice. Did it work? I am not sure. Not only two more MANIACs were produced, but we also got 1953’s JOHNNIAC (nicknamed “pneumoniac” since it needed a lot of air conditioning), and SILLIAC (Sydney ILLIAC) in 1956. The last computer I can find using that naming scheme was TIFRAC, operating in India between 1960 and 1965.</p>
<p>CSIRAC had real work to do, but today it is known chiefly for being the first computer to <a href="http://www.audionautas.com/2011/09/music-of-csirac.html" target="_blank">play music in real time</a>. The quality is… I’ll let you judge, with links below pointing to short MP3s <a href="https://web.archive.org/web/20160719094129/http://www.doornbusch.net/CSIRAC/" target="_blank">preserved by Paul Doornbusch</a> and subsequently Internet Archive:</p>
<ul>
        <li><a href="https://web.archive.org/web/20160305210308/http://www.doornbusch.net/CSIRAC/mp3/05-Auld-Lang-Syne.mp3" target="_blank">Auld Lang Syne</a></li>
        <li><a href="https://web.archive.org/web/20120301142411/http://www.doornbusch.net/CSIRAC/mp3/06-Chopin-March.mp3" target="_blank">Chopin’s March</a></li>
        <li><a href="https://web.archive.org/web/20160719094129/http://www.doornbusch.net/CSIRAC/mp3/13-In-Cellar-Cool.mp3" target="_blank">In Cellar Cool</a></li>
        <li>(I particularly enjoyed an alt recording of <a href="https://web.archive.org/web/20160719094129/http://www.doornbusch.net/CSIRAC/mp3/16-In-Cellar-Cool-with-CSIRAC-env.mp3" target="_blank">In Cellar Cool</a> where CSIRAC itself appears in a background as a constant humming presence.)</li>
      </ul>
<p>Do you miss your <a href="https://unsung.aresluna.org/which-is-definitely-not-good-to-do-to-it/">PC speaker</a> yet?</p>
<p>Engineers working on other room-sized computers of that era did <a href="http://news.bbc.co.uk/2/hi/technology/7458479.stm" target="_blank">similar</a> <a href="https://www.youtube.com/watch?v=6F44b60Mq30" target="_blank">things</a>; whether this was solely one of the first attempts to humanize the big scary machines, or a distraction from the computers’s typically military uses is left as an exercise for the listener.</p>
<p>Today, one of the 1960s machines still plays music, headlining a fascinating annual tradition – every December, the PDP-1 restoration crew at the Computer History Museum in California invites visitors to <a href="https://www.youtube.com/watch?v=OCIdg4aNvFE" target="_blank">sing carols</a> with the computer older than most of them.</p>
<figure>
        <a href="https://www.youtube.com/watch?v=OCIdg4aNvFE" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/yt2.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/yt2.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/yt2.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/yt2.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/yt2.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/6.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/7.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-was-a-user-friendly-computer/8.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>The last photo takes us back to where we started. Neither CSIRAC nor PDP-1 might be user-friendly by today’s standards but damn, wouldn’t you want some of your computer’s interface to feel this way?</p><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/sound-design/">#sound design</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Watchmaker’s delicate precision and ornate mechanical intent”</title>
    <link href="https://unsung.aresluna.org/watchmakers-delicate-precision-and-ornate-mechanical-intent" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/watchmakers-delicate-precision-and-ornate-mechanical-intent</id>
    <published>2026-05-06T19:26:05.572Z</published>
    <updated>2026-05-06T19:26:05.572Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A surprising entry in the thread <a href="https://unsung.aresluna.org/photoshops-challenges-with-focus-pt-2/">started by Photoshop</a> and continuing through <a href="https://unsung.aresluna.org/who-thinks-about-a-screwdriver/">screwdriver handles</a> is <a href="https://www.youtube.com/watch?v=Zxmw3xazcd8" target="_blank">this 11-minute video from Errant Signal</a> about a platformer game called <a href="https://gate.itch.io/derelict-star" target="_blank">Derelict Star</a>:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=Zxmw3xazcd8" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/watchmakers-delicate-precision-and-ornate-mechanical-intent/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/watchmakers-delicate-precision-and-ornate-mechanical-intent/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/watchmakers-delicate-precision-and-ornate-mechanical-intent/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/watchmakers-delicate-precision-and-ornate-mechanical-intent/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/watchmakers-delicate-precision-and-ornate-mechanical-intent/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I was inspired by the video, and really enjoyed its exploration of a demanding game that’s composed of just a few mechanics that are done really, really well:</p>
<blockquote><p>The number of inputs are small, but the expression those inputs allow is deceptively expansive. […] Derelict Star’s various areas are all built to explore the way movement systems function and even interact with one another. </p></blockquote>
<p>I think of user interfaces similarly, and of their need to build a certain consistent vocabulary of names, gestures, interface elements, concepts, and so on. Perhaps in an enterprise app you right click and discover something useful in a menu, and this will teach you about the usefulness of right click menus in general. Maybe pressing ⌥ to get to alternate symbols on your keyboard would inspire you (either consciously or not!) to try holding ⌥ in said menus, only to discover this brings up useful alternative options. Maybe seeing a keyboard shortcut next to one of these options will suggest to do <em>that</em> next time, and so on, and so on.</p>
<p>I really loved this bit in the video that could apply to a lot more software than just videogames:</p>
<blockquote><p>It took me maybe an hour to do this, but right on the other side is a checkpoint. The game is hard, but it isn’t cruel. It’s designed to challenge you, but it has faith in your ability to complete it.</p></blockquote>
<p>The narrator uses the term “ludocentrism” to refer to games that ruthlessly prioritize the mechanics and gameplay over narrative, aesthetics, and so on. (“Ludic” meaning “relating to play.”) </p>
<p>Of course, the calculus of what videogames care about will be different than goals of creative software or enterprise software; no one cares about the hero’s journey of the largest number in your Excel spreadsheet. But I think some version of ludocentrism applies to “boring”software as well. My beliefs here are probably something like this:</p>
<ul>
        <li>you can’t reduce everything to just functionality or just efficiency,</li>
        <li>especially in creative moments of software use,</li>
        <li>and people use software creatively much more often than we suspect, including software not thought as “for creatives.”</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Traditionally, fonts were just shapes.”</title>
    <link href="https://unsung.aresluna.org/traditionally-fonts-were-just-shapes" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/traditionally-fonts-were-just-shapes</id>
    <published>2026-05-06T04:32:00.028Z</published>
    <updated>2026-05-06T04:32:00.028Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Should you ever be worried that displaying just one glyph could take almost 2 seconds and slow down your website by as much? Naw, of course not. This wasn’t a problem already in the 1980s and, in the lord’s year 2026, computers are pretty good at rendering a letter or a symbol at a moment’s notice.</p>
<p>Ha. I was just messing with you. Of course you should alwaysbe worried about fonts. All the time. Typography is beautiful, but fonts are brutal. They will constantly put you to the test, they will find ways to get out of alignment faster than a <a href="https://en.wikipedia.org/wiki/Yugo" target="_blank">Zastava Yugo</a>, and they will teach you about corner cases in places you didn’t even realize had <em>edges.</em> </p>
<p>Fonts will break your heart like it’s the month before the prom again, and again, and again.</p>
<p>Or, in Allen Pike’s case, break a heart somewhat literally. Pike <a href="https://allenpike.com/2026/a-broken-heart/" target="_blank">wrote a nice quick story</a> of the complexity of what needed to happen to show the heart emoji, and how under a very specific set of conditions – a certain browser, a certain emoji font, a certain emoji <em>within</em> that font – this led to an extreme slowdown.</p>
<p>What’s really interesting is that in order to fix it, Apple can either improve Safari or the font itself, and at the moment of writing, it wasn’t clear what was the right thing to do. (Oh, yeah. Fonts don’t just <a href="https://unsung.aresluna.org/fonts-have-bugs-too/">have bugs</a>. Fonts have many <em>kinds</em> of bugs.)</p>
<p>Another interesting in-between-the-lines thing is that Apple’s emoji are perhaps the only survivor of the original skeuomorphic pre-iOS 7 era. Even today’s emoji party like <a href="https://unsung.aresluna.org/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/">2008 never ended</a> – still glossy, still textured, still bitmapped. I’m curious whether somewhere deep inside Apple, there exist exploratory designs for flat, vector versions of emoji that never saw the light of day.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/skeuomorphism/">#skeuomorphism</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>“Who thinks about a screwdriver?”</title>
    <link href="https://unsung.aresluna.org/who-thinks-about-a-screwdriver" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/who-thinks-about-a-screwdriver</id>
    <published>2026-05-05T23:39:15.088Z</published>
    <updated>2026-05-05T23:39:15.088Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I found this <a href="https://youtu.be/sGiRSA_GWK8" target="_blank">9-minute video from Rex Krueger about screwdriver handle design</a> really interesting in the context of <a href="https://unsung.aresluna.org/photoshops-challenges-with-focus-pt-2/">my post about Photoshop’s dialogs</a>.</p>
<figure>
        <a href="https://youtu.be/sGiRSA_GWK8" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/who-thinks-about-a-screwdriver/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/who-thinks-about-a-screwdriver/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/who-thinks-about-a-screwdriver/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/who-thinks-about-a-screwdriver/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/who-thinks-about-a-screwdriver/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>Screwdriver handles evolved over the decades in response to user needs and usage patterns, with a few clever affordances: some for everyone, some for specific use cases that might not be obvious. </p>
<p>I think by now all the basic onscreen UI elements – input fields, <a href="https://unsung.aresluna.org/not-a-mountain-but-not-a-molehill-either/">pop-up menus</a>, checkboxes, buttons, top menus, sliders, and so on – have similar richness, as do all the core input devices like a keyboard, a mouse, a trackpad, or a touch screen. </p>
<p>That doesn’t mean that everything is set in stone, that no changes are possible, and that stuff that fell out of favour can ever be taken away – after all, computer usage, input devices, and conventions are evolving much faster than screws at this point – but that one has to be aware of the history so that the changes are intentional, not accidental.</p>
<p>A few select comments from under the video that I found interesting:</p>
<blockquote><p>The Craftsman handles are also different colors for Phillips and slotted screwdrivers.</p>
<p>The fluted handle was patented. So anyone else wanting to make a screwdriver would have to pay the patent holder. So they tried alternatives to make more money. That is the real reason until the patent expired. Plus if they invented a “better” way and held the patent, others would have to pay THEM.</p>
<p>The Swedish word for screwdriver is “skruvmejsel” with literally translates as “screw chisel.”</p></blockquote><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>The land where time stood still</title>
    <link href="https://unsung.aresluna.org/the-land-where-time-stood-still" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-land-where-time-stood-still</id>
    <published>2026-05-04T22:18:30.847Z</published>
    <updated>2026-05-04T22:18:30.847Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>It’s hard to be in charge of continuity on a movie set. It would already be difficult under the best of circumstances: after all, you can’t freeze the sun in the sky, prevent hot drinks from going cold, cigarettes from extinguishing themselves, or entropy in general from doing all the stuff it loves doing.</p>
<p>But on top of that, scenes are shot out of sequence, and <em>movies </em>are shot out of sequence. There are <a href="https://en.wikipedia.org/wiki/Pick-up_(filmmaking)" target="_blank">pick-ups</a> if you’re lucky, and reshoots when you’re not. About the only time your job will be noticed is if you mess up: cue Superman’s reverse CGI moustache, Josh Trank’s Fantastic Four wig situation, Commando’s damaged-then-pristine Porsche, and so on and so on. (<a href="https://www.youtube.com/watch?v=NAvn7CNpdB8" target="_blank">This 7-minute YouTube video is a great walkthrough from an expert</a>.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/1.1088w.avif" alt="" width="800" height="487">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/2.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>Apple famously freezes time on their phones in all the promotional materials to be 9:41am. The specific moment they chose is a celebration of the first iPhone unveiling to be at around that time, but it also makes production easy – while people won’t mind that the time on the screen doesn’t match the current time, or even that it doesn’t seem to advance at a normal rate, they will <a href="https://unsung.aresluna.org/it-moved-too-slowly-to-be-an-asteroid/">definitely</a> notice if you happened to splice two screenshots with different time side by side, just because you didn’t anticipate that splice as you were preparing them. So it’s easiest just to avoid this situation altogether.</p>
<p>But what I didn’t realize until today as I was <a href="https://unsung.aresluna.org/the-vision-of-persistence/">recording the previous post’s screengrab</a> is that 9:41am is also enforced whenever you record your phone’s screen via QuickTime. It’s a peculiar feeling: Start recording, and the time on your phone jumps to 9:41. Yank the USB cord out, and it’s back in sync with the universe:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/3-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-land-where-time-stood-still/3.1600w.mp4"></video></figure>
<p>Oh yeah, the date changes too, for the same reason – to January 9, 2007.</p>
<p>In a time-honored Apple tradition, I can’t decide whether I’m annoyed at it (there seems to be no option to turn it off), or admire it.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a></p>]]></content>
  </entry>
  <entry>
    <title>The vision of persistence</title>
    <link href="https://unsung.aresluna.org/the-vision-of-persistence" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-vision-of-persistence</id>
    <published>2026-05-04T21:22:38.712Z</published>
    <updated>2026-05-04T21:22:38.712Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I want to show you something glorious. This is <a href="https://bear.app/" target="_blank">Bear</a>, the note taking app:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/the-vision-of-persistence/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-vision-of-persistence/1-framed.1600w.webm"></video></figure>
<p>There are desktop apps that get flustered if you ⌘+Tab away and back, misplacing focus or closing a dialog box inside. There are iOS apps that fully reset themselves whenever they get swapped out of memory and have to be reloaded.</p>
<p>But Bear, right here, remembers which note you were on, and exactly where you were in that note, <em>even between phone reboots</em>.</p>
<p>Software is transient and malleable, and one of the hard parts is knowing when that’s beneficial and when detrimental. In real life, you can leave a notebook on your desk, open on a certain page, leave a pen pointing to a specific word – and then depart for a two-month trip to Europe. You will find your notebook exactly how you left it. Why shouldn’t software behave this way?</p>
<p>Also, another thought: This is very likely not something users will complain about when broken, or suggest when absent, <em>even</em> if you go out of your way to open yourself for feedback. Just swapping an app out of memory is hard to understand and “repro” (in engineering parlance). There’s a certain design mindset and taste necessary to notice and care, and a certain vision to carry it through. </p>
<p>The lack of direct user feedback doesn’t mean it’s not worth doing. It just means that there are some things that designers and only designers will know how to properly weigh, describe, and prioritize. If you have a few design-minded users that actually send you feedback like this – treasure them. But most likely this will have to come from “inside the house.” </p>
<p>To me, it’s clear that within Shiny Frog (the makers of Bear), there are people who care about this kind of stuff, and leadership that trusts them. Kudos.</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/bear/">#bear</a> <a href="https://unsung.aresluna.org/tags/culture/">#culture</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/research/">#research</a></p>]]></content>
  </entry>
  <entry>
    <title>The 1990s called and they want their dialog box back</title>
    <link href="https://unsung.aresluna.org/the-1990s-called-and-they-want-their-dialog-box-back" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-1990s-called-and-they-want-their-dialog-box-back</id>
    <published>2026-05-03T22:35:20.755Z</published>
    <updated>2026-05-03T22:35:20.755Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This is perhaps my favourite feature in Lightroom. You press ⇧T, you draw a few lines, and presto – your photo is now even:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/1-thumbnail.avif" width="800" height="520" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/1.1600w.mp4"></video></figure>
<p>This is doubly magical to me. The first part is that this is even possible – that you can straighten the photo in both dimensions <em>after the fact</em>, and save for some parallax nuances the viewer won’t know any better. </p>
<p>For decades, this has been the domain of <a href="https://en.wikipedia.org/wiki/Tilt%E2%80%93shift_photography" target="_blank">tilt-shift lenses</a>, but if you ever tried to use one, you know how harrowing of an exercise this is. A tilt-shift lens looks more like a medical device and less like a piece of photography equipment:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/2.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>The “obvious” way to emulate a tilt-shift lens in software is a bunch of sliders, and Lightroom has those also…</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/3-thumbnail.avif" width="800" height="520" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/3.1600w.mp4"></video></figure>
<p>…but that’s still pretty cumbersome in practice, abstracted in a strange ways, like piloting a plane by pulling the linkages connected the flying surfaces: you will admire someone who can do that, but won’t ever want to do it yourself.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/4.1088w.avif" alt="" width="800" height="686">
      </picture></figure>
<p>Hence the second magical moment: The team created the new interface I showed at the beginning, where you point to things that should be straight <em>directly</em>, and the necessary tilt-shift calculations happen behind the scenes.</p>
<p>Alas, Lightroom didn’t fully stick the landing. The interface is a bit jittery, and missing nice transitions that could help understand what’s going on. But what brought me here was this unpleasant interaction:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/5-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/5.1600w.mp4"></video></figure>
<p>What’s wrong with it? If you want to play along, stop here and ponder: How would you improve it? Because this is a classic UI exercise where there are symptoms, and there are problems, and there are principles under the hood of it all.</p>
<p>The first possible improvement: Don’t do a dialog like this. These are ancient and so annoying. Every time I see a centered dialog covering everything, popping up in response to a delicate mouse operation, I want to shout “read the room!” It’s better to drop a little tooltip next to the cursor that automatically disappears: more modern, and more “compatible” with mousing.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/6.1088w.avif" alt="" width="283" height="275">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/7.1088w.avif" alt="" width="350" height="182">
      </picture></figure>
<p>Then: Why am I allowed to start <em>and finish</em> an action that the machine already knows won’t go anywhere? Disable the drawing option, put a little “verboten” icon on the mouse pointer, or do something else that will prevent me from drawing a line to begin with.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/8.1088w.avif" alt="" width="305" height="103">
      </picture></figure>
<p>But that brings us to point three, and how I would approach this as a designer. Because I would – counterintuitively – go the other way and allow the user to draw as many lines as they wanted, and just didn’t permit to commit the entire operation if there were more than four lines on the screen.</p>
<p>Why is that?</p>
<p>It’s the same principle as you see in all the social media composing fields, and in well-trained forms: <em>do not constrain the editing process</em>.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/9-thumbnail.avif" width="613" height="336" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/9.1600w.mp4"></video></figure>
<p>This field is limited to 300 characters, but it’s clever enough to only enforce its limits when you try to post. There is no downside to allowing you more room in the editing process. Maybe you write by constructing a few sentences first and only then combining them into one, maybe you want to see two riffs one below the other to choose the better one, or maybe – this is most likely – you’re not even paying attention and your motor memory is doing the editing for you, instinctively. Use any text editor for just a few months, and cut, copy, and paste, word swapping, and splitting sentences become second-nature gestures – that is, until the UI starts throwing in some arbitrary barriers.</p>
<p>Above in Lightroom, it might actually be easier for me to draw a fifth line and then delete a previous one, instead of doing it in the precise order Lightroom desires, or by dragging an existing line to move it instead of creating a new one. </p>
<p>Maybe an overarching principle would be this: If you are aiming to build something so delightfully <a href="https://unsung.aresluna.org/tales-of-direct-manipulation-pt-1/">direct manipulation</a> as Lightroom did here, you have to fully commit to that stance, even deep in the weeds. Because every time I see a 1990s dialog appear when my fingers are flying fast, I feel like this:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-1990s-called-and-they-want-their-dialog-box-back/10.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>And something tells me others will too.</p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a> <a href="https://unsung.aresluna.org/tags/text-editing/">#text editing</a></p>]]></content>
  </entry>
  <entry>
    <title>“Have you ever been annoyed by your Mac’s media keys?”</title>
    <link href="https://unsung.aresluna.org/have-you-ever-been-annoyed-by-your-macs-media-keys" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/have-you-ever-been-annoyed-by-your-macs-media-keys</id>
    <published>2026-05-03T21:52:52.139Z</published>
    <updated>2026-05-03T21:52:52.139Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In our Unsung yellow pages, in between people <a href="https://unsung.aresluna.org/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/">writing Chrome plugins to fix UI of other apps</a>, and <a href="https://unsung.aresluna.org/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/">gamers creating mods to fix bugs that the developers leave behind</a>, we need to make some room for another category of apps.</p>
<p>Some time ago, Daniel Kennett created a little utility called <a href="https://ikennd.ac/keyhole/" target="_blank">Keyhole</a> with a singular purpose: </p>
<blockquote><p>Have you ever been annoyed by your Mac’s media keys triggering a random video in your web browser, doing something else weird, or by them doing… nothing? Even though your music player is right there?</p>
<p>Me too! And so Keyhole was born.</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/have-you-ever-been-annoyed-by-your-macs-media-keys/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/have-you-ever-been-annoyed-by-your-macs-media-keys/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/have-you-ever-been-annoyed-by-your-macs-media-keys/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/have-you-ever-been-annoyed-by-your-macs-media-keys/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/have-you-ever-been-annoyed-by-your-macs-media-keys/1.1088w.avif" alt="" width="396" height="387">
      </picture></figure>
<p>Keyhole intercepts media transport key presses before the operating system gets a hold of them, and promises to do a better job dispatching them to the right place.</p>
<p>This week Kennett added another feature – the app will monitor the repeat setting that apparently occasionally gets out of whack, and fix it for the user.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/have-you-ever-been-annoyed-by-your-macs-media-keys/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/have-you-ever-been-annoyed-by-your-macs-media-keys/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/have-you-ever-been-annoyed-by-your-macs-media-keys/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/have-you-ever-been-annoyed-by-your-macs-media-keys/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/have-you-ever-been-annoyed-by-your-macs-media-keys/2.1088w.avif" alt="" width="562" height="395">
      </picture></figure>
<p>We could call these kinds of apps “janitor apps.” I know of a concept called <a href="https://cronitor.io/guides/cron-jobs" target="_blank">cron jobs</a>, but I’m assuming these quiet workers do backend-y things like moving files around, cleaning up databases, pinging servers, and so on. I am less aware of work like Kennett’s that fixes stuff on the UI layer.</p>
<p>Is it strange that I find this kind of an app pretty… noble? Of course, Apple should fix it; perhaps <a href="https://unsung.aresluna.org/the-autocorrect-battle-of-wills/">Bugs Apple Loves</a> could even introduce a serious multiplier for “a bug bothers someone so much they fix it <em>for</em> Apple.”</p>
<p>Of note in the last dialog box: “Keyhole has fixed Music’s repeat setting X times.” I think this kind of a counter is pretty brilliant.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a></p>]]></content>
  </entry>
  <entry>
    <title>Early names</title>
    <link href="https://unsung.aresluna.org/early-names" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/early-names</id>
    <published>2026-05-03T03:36:21.765Z</published>
    <updated>2026-05-03T03:36:21.765Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The original 2004 Gmail iteration of the now-ubiquitous modern status bar (here presenting <a href="https://unsung.aresluna.org/an-email-to-the-wrong-larry/">undo send</a>) was internally nicknamed a <em>butter bar</em> because… well, just look at it:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/early-names/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/early-names/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/early-names/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/early-names/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/early-names/1.1088w.avif" alt="" width="800" height="152">
      </picture></figure>
<p>(I believe at least Google today calls this a <a href="https://m3.material.io/components/snackbar/overview" target="_blank">snackbar</a>.)</p>
<p>The UI pop-up element hosting Google Talk inside Gmail – the very same thing that’s more commonly called a “toast” these days – was originally termed a <em>mole</em>:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/early-names/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/early-names/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/early-names/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/early-names/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/early-names/2.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>The column view in NeXTSTEP was called a <em>browser</em>, but a few years later someone put together a different kind of a <a href="https://en.wikipedia.org/wiki/WorldWideWeb" target="_blank">browser</a> on that very same machine, and the original term has been sunset – after NeXTSTEP became Mac OS, the view was renamed to “<a href="https://support.apple.com/guide/mac-help/change-folders-displayed-finder-mac-mchldaafb302/mac" target="_blank">column view</a>”:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/early-names/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/early-names/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/early-names/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/early-names/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/early-names/3.1088w.avif" alt="" width="800" height="594">
      </picture></figure>
<p>These three are off the top of my head. Please send in more!</p><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>Mouse pointer as a mere mortal</title>
    <link href="https://unsung.aresluna.org/mouse-pointer-as-a-mere-mortal" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/mouse-pointer-as-a-mere-mortal</id>
    <published>2026-05-02T22:36:17.619Z</published>
    <updated>2026-05-02T22:36:17.619Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I gasped when I first saw Lightroom do this:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/mouse-pointer-as-a-mere-mortal/1-thumbnail.avif" width="800" height="520" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/mouse-pointer-as-a-mere-mortal/1.1600w.mp4"></video></figure>
<p>I know this won’t have the same effect on you just watching. What happened was that, after I clicked on the Disable button, Lightroom <em>moved the mouse pointer for me</em>. </p>
<p>I don’t think I have ever seen anything like this, and it provoked many thoughts and emotions:</p>
<ul class="long-list">
        <li>This feels wrong. If the mouse is the extension of my fingers, and the mouse pointer the extension of the mouse, this is in effect the app grabbing my hand and moving it. </li>
      

        <li>I did not know this was even possible. I can see how moving the mouse pointer programmatically can be useful in very specific situations (like scrubbing, or accessibility), but… not like this.</li>
      

        <li>If you do something for the user, won’t that make it harder for them to remember how to do it themselves?</li>
      

        <li>I’ve seen this kind of a thing many times in my career: Someone genuinely asks “hey, if this is such a huge transgression, why wasn’t it codified somewhere in the style guide?” But to me the challenge is that it’s hard to imagine <em>everything</em> that needs to be preemptively captured and prohibited. I have to imagine this stuff for living, and I literally did not think anyone would just move a mouse pointer like this.</li>
      </ul>
<p>So seeing this now, yeah, I’d bundle this inside the “some interactions are 100% sacred” bucket, alongside focus never being hijacked randomly (especially in the middle of typing), avoiding scrolling anything until I specifically ask, undo and copy/&#8203;paste needing utmost protection, and a few more.</p>
<p>In the opposite camp, <a href="https://neal.fun/cursor-camp/" target="_blank">here’s a fun new project by Neal Agarwal</a> (only worth clicking on a computer with a mouse). This is a situation where it feels perfectly fine for a cursor to be hijacked; as a matter of fact, there is something really interesting about a mouse pointer feeling less like a deity floating above it all, and more like a regular in-game actor.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/mouse-pointer-as-a-mere-mortal/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/mouse-pointer-as-a-mere-mortal/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/mouse-pointer-as-a-mere-mortal/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/mouse-pointer-as-a-mere-mortal/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/mouse-pointer-as-a-mere-mortal/2.1088w.avif" alt="" width="759" height="700">
      </picture></figure>
<p>This reminded me of that time, in the earlier days of Figma, when I prototyped an interaction where you could <em>select someone else’s pointer</em> and press Backspace to delete it:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/mouse-pointer-as-a-mere-mortal/3-thumbnail.avif" width="800" height="670" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/mouse-pointer-as-a-mere-mortal/3.1600w.mp4"></video></figure>
<p>We didn’t seriously consider it because it felt just too weird, and not that effective in solving “the other person’s cursor is distracting me” problem. But today it feels like it belongs to the same category as the two examples above. </p>
<p>I’ll let you decide if it’s closer to Agarwal’s delight or Lightroom’s terror.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a> <a href="https://unsung.aresluna.org/tags/onboarding/">#onboarding</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a></p>]]></content>
  </entry>
  <entry>
    <title>“Examining the changelog in its entirety would be a massive task, given that it was now over 200,000 words long.”</title>
    <link href="https://unsung.aresluna.org/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long</id>
    <published>2026-05-01T16:37:19.975Z</published>
    <updated>2026-05-01T16:37:19.975Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I had some idea that many popular games have mods to tweak them – from small appearance tweaks and fan-made translations, to bigger gameplay or UI changes (and even an occasional <a href="https://unsung.aresluna.org/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/">trojan horse</a>). </p>
<p>What I didn’t know was that for some games there is a whole community of modders who do one thing and one thing only: they fix bugs that the developer didn’t bother fixing.</p>
<p>This <a href="https://youtu.be/q6OqJOSmDrY" target="_blank">1.5-hour (sic!) video by Fredrik Knudsen</a> talks about a story of such a community for a popular game Elder Scrolls V: Skyrim:</p>
<figure>
        <a href="https://youtu.be/q6OqJOSmDrY" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I won’t lie: this video was a bit of a frustrating watch. The presentation is dry and takes its time. I was annoyed at Bethesda for not fixing the bugs to begin with and creating the whole mess. Also, some of the people in this story do not appear very mature, and post-Gamergate I have little patience for that kind of behaviour.</p>
<p>On the other hand, this covers so, so many interesting things and provoked so many thoughts:</p>
<ul class="long-list">
        <li>how hard it is to agree what a bug even is,</li>
        <li>how a bug fix can introduce more bugs and be an overall net negative,</li>
        <li>how a new distribution method for something can drastically change its nature,</li>
        <li>that everything, as always, boils down to communication,</li>
        <li>that in community- and volunteer-led projects, not spending time on governance will come back and bite you.</li>
      </ul>
<p>Not to mention these topics:</p>
<ul>
        <li>dependencies</li>
        <li>change management</li>
        <li>centralization vs. federation</li>
        <li>copyright and DMCA</li>
        <li>version control </li>
        <li>volunteer burnout</li>
        <li>issues of trust and ego and power</li>
      </ul>
<p>If you are responsible for bug-fixing processes at a company or with a community, I am curious if you find this video valuable. I did.</p>
<p>The funniest moment was that drama/&#8203;debacle about a certain in-game portal was nicknamed… Gategate.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/examining-the-changelog-in-its-entirety-would-be-a-massive-task-given-that-it-was-now-over-200000-words-long/1.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>Not to mention the ending is truly poetic, and not something I expected.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/process/">#process</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>CleanShot’s onboarding via settings</title>
    <link href="https://unsung.aresluna.org/cleanshots-onboarding-via-settings" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/cleanshots-onboarding-via-settings</id>
    <published>2026-05-01T14:28:50.451Z</published>
    <updated>2026-05-01T14:28:50.451Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I recently installed a screenshotting utility <a href="https://cleanshot.com/" target="_blank">CleanShot</a>, and I was enamored with its settings:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/1-thumbnail.avif" width="604" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/1.1600w.mp4"></video></figure>
<p>There’s much to like here – thoughtful grouping and layout, good explanations, more details than expected.</p>
<p>There are some nice interaction moments, for example the hints swapping to reflect the current status:</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/3-keyed-thumbnail.avif" width="679" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/3-keyed.1600w.webm"></video></figure>
<p>The fact that the tool allows you to override its single-key shortcuts, which are the hardest to change using third-party keyboard customization apps:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/4.1088w.avif" alt="" width="650" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/5.1088w.avif" alt="" width="650" height="700">
      </picture></figure>
<p>Or, when you want to customize the key visualization, Settings shows a nice preview:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/6-thumbnail.avif" width="761" height="679" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/6.1600w.mp4"></video></figure>
<p>There was even this lil <a href="https://unsung.aresluna.org/molly-guard-in-reverse/">molly guard</a>:</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/8-keyed-thumbnail.avif" width="574" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/8-keyed.1600w.webm"></video></figure>
<p>But also just the settings themselves gave me a sort of competence contact high. A few clicks in, and I thought “oh, they <em>do </em>know what they’re talking about.” So many things here were for me, to solve specific problems I encountered. </p>
<p>It all gave me confidence this is the right tool for the job. (Also, perhaps a corollary: has there even been a bad tool with well-designed settings?)</p>
<p>Compare with also-new-to-me settings from Affinity, which I was much less impressed with:</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/10-keyed-thumbnail.avif" width="800" height="676" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/cleanshots-onboarding-via-settings/10-keyed.1600w.webm"></video></figure>
<p>It uses the troubled right-aligned style originating in iOS, the capitalization is clumsy, and the navigation muddy (it feels like in-page links on the web, which are always confusing).</p>
<p>Is this a fair comparison? Not at all. I don’t actually want to say that CleanShot is better and Affinity is worse. This is so very much east coast apples and west coast oranges.</p>
<p>I don’t even want to say settings are always worth designing well in the traditional sense; sometimes the only thing between you and 20 unnecessary options in your app is simply having no surface that could host them. A limited (but never unpleasant!) settings UI might be an intentional design decision.</p>
<p>But there was a nice quote in <a href="https://unsung.aresluna.org/book-review-shadow-of-the-colossus-boss-fight-books/">the Shadow of the Colossus book</a>: “I often find myself exploring simply because it’s beautiful.” I too became a tourist in all of CleanShot’s settings because they were put together so well, and I was so curious what’s behind the next corner. Its creators understood that the best way to get to know what the tool is capable of is to take a stroll through the settings. I think it’s a good case study at how a proper welcome mat doesn’t always have to be a few onboarding tooltips flying spastically around the screen. Sometimes it won’t look like a welcome mat at all.</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/onboarding/">#onboarding</a> <a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
  <entry>
    <title>The tortoise and the hare live on</title>
    <link href="https://unsung.aresluna.org/the-tortoise-and-the-hare-live-on" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-tortoise-and-the-hare-live-on</id>
    <published>2026-04-30T17:16:46.660Z</published>
    <updated>2026-04-30T17:16:46.660Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The keyboard and mouse settings in macOS are kind of boring these days…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/1.1088w.avif" alt="" width="800" height="563">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/2.1088w.avif" alt="" width="800" height="563">
      </picture></figure>
<p>…but somewhere deep in the underbelly of Settings lives a little nod to <a href="https://infinitemac.org/1984/System%201.0" target="_blank">the original 1984 Macintosh</a>…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/3.1088w.avif" alt="" width="706" height="700">
      </picture></figure>
<p>…in form of the tortoise/&#8203;hare icons:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-tortoise-and-the-hare-live-on/4.1088w.avif" alt="" width="800" height="450">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/easter-eggs/">#easter eggs</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>“The Helvetica of music notation”</title>
    <link href="https://unsung.aresluna.org/the-helvetica-of-music-notation" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-helvetica-of-music-notation</id>
    <published>2026-04-30T14:19:25.841Z</published>
    <updated>2026-04-30T14:19:25.841Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://www.youtube.com/watch?v=XGo4PJd1lng" target="_blank">19-minute video from Tantacrul</a> about a parallel universe that’s right next to ours, but most of us don’t get to think about – typography of fonts for music notation:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=XGo4PJd1lng" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The video has some nice things going on besides specific details and conventions: there is a glimps of an obsolete app with a fascinatingly obtuse interface, a mention of modern standardization developments, and even a little (sad?) story of perfectionism and legacy.</p>
<p>I’m also kind of mesmerized by this shot of what music typesetting used to be:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/1-thumbnail.avif" width="800" height="614" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/1.1600w.mp4"></video></figure>
<p>There is also a short 1936 video <a href="https://www.youtube.com/watch?v=eyEcRZ3ZzgA" target="_blank">showing more of that process</a>. And small contribution from my end – a photo of the <a href="https://musicprintinghistory.org/keaton-music-typewriter/" target="_blank">Keaton Music Typewriter</a> from a museum in Catalonia:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-helvetica-of-music-notation/2.1088w.avif" alt="" width="800" height="534">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Photoshop’s challenges with focus, pt. 2</title>
    <link href="https://unsung.aresluna.org/photoshops-challenges-with-focus-pt-2" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/photoshops-challenges-with-focus-pt-2</id>
    <published>2026-04-29T19:10:40.086Z</published>
    <updated>2026-04-29T19:10:40.086Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>First of all, correction <a href="https://unsung.aresluna.org/photoshops-challenges-with-focus-pt-1/">for part 1</a> – the “focus mode” wasn’t removed. It was renamed to “quiet mode” and relocated to a different part of the UI, and I failed to spot it there. It’s still slightly perplexing, shiftily capitalized, and I doubt fully effective, but the effort is there:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/1.1088w.avif" alt="" width="698" height="203">
      </picture></figure>
<p>I also want to warn you there will be no more positive things I say in this post.</p>
<p>When Cabel Sasser <a href="https://bsky.app/profile/cabel.panic.com/post/3mei4accj6c2x" target="_blank">posted this on Bluesky in February</a>…</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/2.1088w.avif" alt="" width="526" height="119">
      </picture></figure>
<p>…I experienced a little existential dread. </p>
<p>Now that I’ve experienced the dialog myself in Photoshop 2026, and a few other dialogs that have been upgraded toward what Adobe calls “modern user interface,” how did it fare?</p>
<p>These are 2025 windows and their 2026 equivalents:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/3.1088w.avif" alt="" width="445" height="315">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/4.1088w.avif" alt="" width="513" height="314">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/5.1088w.avif" alt="" width="569" height="457">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/6.1088w.avif" alt="" width="549" height="525">
      </picture></figure>
<p>On the surface, it feels like a lateral move. I do not personally find the new design language (Spectrum) attractive, or even particularly “modern.” The gestalt remains off and things are still generally misaligned – they’re just misaligned in net new ways.</p>
<p>But it was digging into the window below that showed all the problems in the still-wet foundations…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/7.1088w.avif" alt="" width="539" height="468">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/8.1088w.avif" alt="" width="570" height="484">
      </picture></figure>
<p>…and a lot of them have to do with focus.</p>
<p>1.<br>
The first field is not focused, so you cannot start typing the number after opening this window. You need to immediately move your hand to the mouse. </p>
<p>2.<br>
If you click on any field, the value is not pre-selected, so you cannot start typing a new number then. </p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/10-keyed-thumbnail.avif" width="526" height="489" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/10-keyed.1600w.webm"></video></figure>
<p>A combination of both is rough in practice in repeated use, violating some of the basic things like <a href="https://asktog.com/atc/principles-of-interaction-design/" target="_blank">this classic principle of interaction design</a>:</p>
<blockquote><p>Principle: Defaults within fields should be easy to “blow away”</p>
<p>When a user activates a field, the current entry should be auto-selected so that pressing Backspace/&#8203;Delete or starting to type will eliminate the current entry. Users can click within the field to deselect the whole, dropping the text pointer exactly where the user has clicked. The select-on-entry rule is generally followed today. (Sloppy coding, however, has resulted in the text cursor dropping at various unpredictable locations. )</p></blockquote>
<p>3.<br>
Clicking on parts of the input field doesn’t bring it into focus even though the hover state promises it. (Discrepancies between hover and focus handling are a horrible new thing I’m starting to see more in recent interfaces.)</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/12-keyed-thumbnail.avif" width="526" height="489" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/12-keyed.1600w.webm"></video></figure>
<p>4.<br>
Simply backspacing through the field shows a crude error modal and – to add a second injury to the first injury – the dialog removes focus from the field!</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/14-keyed-thumbnail.avif" width="526" height="489" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/14-keyed.1600w.webm"></video></figure>
<p>5.<br>
Tabbing now goes through “Pixels” menu on the way from Width to Height, making it harder to type width → press Tab → type height → press Enter, in a nice quick keyboard gesture.</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/16-keyed-thumbnail.avif" width="526" height="489" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/16-keyed.1600w.webm"></video></figure>
<p>I will recognize this is a tricky one, because it exposes a core tension with tabbing: some people use it for comprehensive keyboard access, but others want an accelerator “express train” with only relevant stops. However, macOS already has a “Keyboard navigation” <a href="https://support.apple.com/guide/mac-help/keyboard-settings-kbdm162/26/mac/26" target="_blank">setting</a> for that – you can choose whether tabbing should go through all the controls, or only those you get to type in. Not only does Photoshop ignore that preference, but it’s inconsistent with itself – you can see that you cannot get to Anchor via tabbing anyway!</p>
<p>6.<br>
Clicking on the “relative” checkbox or canvas extension color does not restore focus to last control like it used to.</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/18-keyed-thumbnail.avif" width="526" height="489" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/18-keyed.1600w.webm"></video></figure>
<p>7–∞.<br>
There are tons of other transgressions. Some are downwind from focus; for example, undoing after moving a slider no longer works, because the ⌘Z keystroke is now swallowed by a UI element that doesn’t know what to do with it. Some are unrelated: Pull-downs are now <a href="https://unsung.aresluna.org/not-a-mountain-but-not-a-molehill-either/">of the slower kind</a>, pressing ⌥P results in more blinking, and this tooltip below feels so <a href="https://unsung.aresluna.org/houston-we-have-1-problems/">cheap</a> that I’m surprised it’s not a talking point of the current U.S. administration:</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/20-keyed-thumbnail.avif" width="479" height="319" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/20-keyed.1600w.webm"></video></figure>
<p>I am tired even just <em>noticing</em> all this. (What is that weird clump of pixels on the left of the bottom edge!? Did no one spot it before launch?)</p>
<p>So now what?</p>
<p>I generally avoid such harsh labels on this blog, but: <em>this is awful work</em>. </p>
<p>I’m angry. (Clearly.) We should all be angry in the face of stuff like this. This is how people get fed up with software – because it feels unstable and deteriorates on its own <a href="https://unsung.aresluna.org/i-trust-in-textedit/">without needing to</a>. </p>
<p>I know I <a href="https://unsung.aresluna.org/decentralization-does-not-always-equal-delight/">brought up</a> that an existing power user base can be a huge pain in the ass, and I am a decades-old Photoshop power user. But this is different than other examples where the product needs or at least wants to evolve past its core audience or toward a different market. For Photoshop here, nothing I see indicates any change in course or clientele – and yet all of these good moments in UI that used to help me out no longer exist.</p>
<p>Plus, all those transgressions are solved problems. Those issues are not buried in pages of heavily litigated patents, or in seven collective brains of world-class interface designers whose driveways are presently occupied by cash-filled trucks sent over by frontier companies. This isn’t some long lost art that requires archaeologists to decipher. This feels like carelessness and laziness in face of basic UI engineering; in a likely internally-motivated effort to refresh the interface, the team threw an entire nursery worth of babies with the bathwater.</p>
<p>It’s not just about disservice to craft. It’s not even about disrespect for change management, trivialization of institutional memory, and disinvestment in quality assurance. This isn’t only, in Tog’s words above, “sloppy coding.” This is also <em>a failure of</em> <em>imagination</em>. It’s not that hard to picture people spending 8+ hours a day going through these windows for years if not decades to come, and it’s not hard to add and multiply all of these microfrustrations into numbers that should make one pause. With these many paper cuts, you need to start thinking about establishing a blood bank. How can you expect people to use a professional tool effectively if you throw in so many roadblocks?</p>
<p>In an internally-motivated UI refresh like this, you not only need to meet users where they used to be, you also ideally have to give them <em>more</em> to cover for the pains of change. Sometimes that “more” is better storytelling – here, no one even tried to really sell me on the new interface – but ideally “more” means actual felt improvements. I’m not on the team, but it’s not that hard to imagine some of them: </p>
<ul class="long-list">
        <li>Change those annoying modals that announce typing errors into something lighter and more modern, like attached tooltips.</li>
        <li>Add more comprehensive equation support so e.g. I could type “660*2” like I can in increasingly more and more apps.</li>
        <li>Announce the invisible shortcuts <a href="https://unsung.aresluna.org/if-a-feature-falls-in-a-forest/">that already exist</a>, or add a few ones.</li>
        <li>Add a bit of memory/&#8203;stickiness to some options (like Use Legacy in the first window), so I don’t have to keep toggling them over and over again.</li>
      </ul>
<p>I started this post talking about a setting, and there is another setting in Photoshop, buried on the last page – you can turn off this “modern user interface” that feels so underbaked the moment you start actually using it. But is that a real solution to anything? Toggle it on and the existential dread comes back: Am I going to miss out on some good stuff? When is the hammer going to drop? It’s not a tax break, it’s only a tax extension.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/21.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/21.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/21.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/21.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-2/21.1088w.avif" alt="" width="800" height="243">
      </picture></figure>
<p>Even this view above shows so little care, it would ordinarily deserve its own post.</p><p><a href="https://unsung.aresluna.org/tags/adobe/">#adobe</a> <a href="https://unsung.aresluna.org/tags/change-management/">#change management</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a></p>]]></content>
  </entry>
  <entry>
    <title>About Unsung: Thanks for your feedback!</title>
    <link href="https://unsung.aresluna.org/about-unsung-thanks-for-your-feedback" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/about-unsung-thanks-for-your-feedback</id>
    <published>2026-04-29T02:39:15.616Z</published>
    <updated>2026-04-29T02:39:15.616Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>(This is one of the meta posts <a href="https://unsung.aresluna.org/tags/about-unsung/">about this very blog</a>. If that’s not interesting to you, skip to the next one!)</p>
<p>Thank you for all your feedback and bug reports in response to <a href="https://unsung.aresluna.org/unsung-at-250-please-send-me-your-feedback/">my call two weeks ago</a>. Since then, I:</p>
<ul class="long-list">
        <li>revamped the image and video pipelines, which should make the blog load a lot faster and CPU/GPU struggle a lot less,</li>
      

        <li>improved inline video handling on the web, and in (some) RSS readers,</li>
      

        <li>made transparent videos work in Safari, and figured out how to make even better transparent videos,</li>
      

        <li>improved Friday newsletters so they have a link to a nice web view, and GIFs hinting at video content (alas, you cannot put videos straight in email),</li>
      

        <li>and generally made the site work better on older computers and phones.</li>
      </ul>
<p>If you see anything wrong or funny as a result of these changes – or any technical problem otherwise – please let me know (contact info is always in the footer). And, in general, please continue with your thoughts and feedback about content of the stuff I post, too! I’m enjoying hearing from you.</p><p><a href="https://unsung.aresluna.org/tags/about-unsung/">#about unsung</a></p>]]></content>
  </entry>
  <entry>
    <title>Book review: Shadow of the Colossus (Boss Fight Books)</title>
    <link href="https://unsung.aresluna.org/book-review-shadow-of-the-colossus-boss-fight-books" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/book-review-shadow-of-the-colossus-boss-fight-books</id>
    <published>2026-04-28T23:00:44.206Z</published>
    <updated>2026-04-28T23:00:44.206Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>★★★☆☆</p>
<p>Decades ago, I used to work for a <a href="https://en.wikipedia.org/wiki/Gambler_%28magazine%29" target="_blank">videogame magazine</a>, but those days are long gone, and any videogame I play is a rare and intentional event.</p>
<p><a href="https://en.wikipedia.org/wiki/Shadow_of_the_Colossus" target="_blank">Shadow Of The Colossus</a>, the 2005 title directed by Fumito Ueda, felt so important to get to know that I had to borrow a PlayStation in order to play it, instead of waiting for a conversion (which never came; the game remains a PlayStation exclusive even today). </p>
<p>If you are not familiar with the title, I’m going to say little – the approach taken by the game, as well – and just point you toward <a href="https://youtu.be/pdZQ98mWeto?si=QPwZrN1r0636ckp8" target="_blank">the trailer for its remastered edition</a>:</p>
<figure>
        <a href="https://youtu.be/pdZQ98mWeto?si=QPwZrN1r0636ckp8" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-shadow-of-the-colossus-boss-fight-books/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-shadow-of-the-colossus-boss-fight-books/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/book-review-shadow-of-the-colossus-boss-fight-books/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/book-review-shadow-of-the-colossus-boss-fight-books/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/book-review-shadow-of-the-colossus-boss-fight-books/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p><a href="https://bossfightbooks.com/" target="_blank">Boss Fight Books</a> has been publishing books about videogames since the early 2010s, and “<a href="https://bossfightbooks.com/products/shadow-of-the-colossus-by-nick-suttner" target="_blank">Shadow of the Colossus</a>” by Nick Suttner is a book number 10 out of 40+.</p>
<p>The rather small and short volume is divided into chapters talking about each level of the game, one by one. But don’t let this discourage you – after all, recaps can be <a href="https://magazine.catapult.co/culture/stories/joelle-kidd-tv-recaps-criticism-the-office-susan-sontag-pauline-kael-writing" target="_blank">a literary art form</a>. Here, every chapter goes on a side quest to talk about a larger component of the game or its backstory.</p>
<p>Having said that, the writing didn’t fully connect with me. Some of the tangents do not flow well, and the author’s choice to put himself in the book yields mixed results. In good moments, it’s wonderful to see someone’s passion for the game, but at times we’re also subjected to tenuous anecdotes about, for example, author’s beard, or his walks in San Francisco.</p>
<p>But the game! The game is definitely worth knowing more. It’s widely considered a masterpiece, a testament to choosing only a few things and doing them exceedingly well, a celebration of minimalism and deliberation, with so much – from world design to nuances of haptics – intently focused on creating the right ambiance to tell a story.</p>
<p>This might be strange to say, but I have this belief the rules of world building and care about atmosphere apply even to boring enterprise apps with stock UI elements. You’re still creating a universe and its set of principles, figuring out how to walk the user through it all via certain narrative beats, and – ideally! – thinking about all the small design decisions that will contribute – ideally! – to a consistent overarching tone.</p>
<p>The book occasionally peeks under the curtain to reveal design choices and details that could be inspiring to more than game designers: the control scheme, the fluid camera movement, intentional repetition of themes just to have them subverted, or the fascinating concept of “futile interactivity” (giving the player control even if the outcome is predetermined). What is interesting in particular are <em>paths not taken</em>: the initial idea of 48 monsters pared down to 16, or the multiplayer roots abandoned to focus on a linear, single-player experience.</p>
<p>(In a particularly brilliant decision, the creators took some of the unfinished levels and still put them in the game… as ruins.)</p>
<p>Is it a perfect book? No. But I’m glad I read it, and that writing about videogames in this form still exists – for a while, this was called “<a href="https://en.wikipedia.org/wiki/Video_game_journalism#New_Games_Journalism" target="_blank">new games journalism</a>” – and one way or another, it’s good to get closer to this strange beast of an AAA game with an indie game’s soul.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-shadow-of-the-colossus-boss-fight-books/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-shadow-of-the-colossus-boss-fight-books/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-shadow-of-the-colossus-boss-fight-books/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-shadow-of-the-colossus-boss-fight-books/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/book-review-shadow-of-the-colossus-boss-fight-books/1.1088w.avif" alt="" width="584" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/book/">#book</a> <a href="https://unsung.aresluna.org/tags/book-review/">#book review</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/review/">#review</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>UI art from 4096</title>
    <link href="https://unsung.aresluna.org/ui-art-from-4096" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/ui-art-from-4096</id>
    <published>2026-04-28T02:32:38.607Z</published>
    <updated>2026-04-28T02:32:38.607Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>4096 is a Russian UI artist (I just made up that title) who creates interesting audio-visual mashups. Here are some of the best ones:</p>
<p><a href="https://youtu.be/KPeYYXDxyUg?si=jElurX1FAhEN1ejO" target="_blank">Interfaces of rhythm games</a> (like Guitar Hero):</p>
<figure>
        <a href="https://youtu.be/KPeYYXDxyUg?si=jElurX1FAhEN1ejO" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/ui-art-from-4096/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p><a href="https://youtu.be/HrPRtYvCvZI?si=Rqyghd9TDSQ6hc19" target="_blank">Windows startup sounds</a>, incl. fun hi-def reimagining of their splash screens:</p>
<figure>
        <a href="https://youtu.be/HrPRtYvCvZI?si=Rqyghd9TDSQ6hc19" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt2.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt2.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt2.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt2.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/ui-art-from-4096/yt2.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p><a href="https://youtu.be/5BZLz21ZS_Y" target="_blank">Windows error messages</a>:</p>
<figure>
        <a href="https://youtu.be/5BZLz21ZS_Y" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt3.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt3.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt3.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/ui-art-from-4096/yt3.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/ui-art-from-4096/yt3.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>If this looks like fun, <a href="https://www.youtube.com/@4096" target="_blank">check out the rest of their work</a>, including <a href="https://youtu.be/D0DDQumaaCg" target="_blank">Windows 95 mobile</a> and <a href="https://www.youtube.com/watch?v=e9DfSCk-6Ko" target="_blank">the art of blank VHS tape boxes</a>.</p><p><a href="https://unsung.aresluna.org/tags/art/">#art</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/windows/">#windows</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Tactical dark modes</title>
    <link href="https://unsung.aresluna.org/tactical-dark-modes" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/tactical-dark-modes</id>
    <published>2026-04-28T02:03:12.067Z</published>
    <updated>2026-04-28T02:03:12.067Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Before dark mode became mainstream in the late 2010s, there were two main customers of dark UI themes: programming and photo/&#8203;video production. But, to the best of my knowledge, they arrived at that preference from two very different angles.</p>
<p>Programmers’ fondness for dark mode was a result of decades of bad display technologies. The early CRTs were so awful, the burn-in risks so real, and the pixels so fuzzy and headache-inducing, that you wanted to see as little screen light up as possible – hence, defaulting to black background for <em>everything</em> computers did.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tactical-dark-modes/1.1088w.avif" alt="" width="800" height="583">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tactical-dark-modes/2.1088w.avif" alt="" width="800" height="532">
      </picture></figure>
<p>These challenges were there all the way through the 1980s, really, teaching generations of coders that computers meant light letters on dark backgrounds. Games moved away from being “<a href="https://en.wikipedia.org/wiki/Space_Invaders" target="_blank">in space</a>” or “<a href="https://en.wikipedia.org/wiki/Night_Driver_(video_game)" target="_blank">at night</a>” as quickly as they could, text editing and spreadsheets went for paper-like livery soon after that, but programming never meaningfully existed on paper, and so the skeuomorphic pull wasn’t really there.</p>
<p>(Have you ever heard of a term “<a href="https://en.wikipedia.org/wiki/Reverse_video" target="_blank">reverse video</a>”? What’s kind of confusing about it is that its meaning was reversed around that time.)</p>
<p>AV professionals took a different route. They already had CRT calibration, gray walls, and monitor hoods so that light from outside wouldn’t contaminate content colors – and when computer UI started appearing <em>on</em> those CRTs, it was likewise best to keep it as dark and as neutral as possible.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tactical-dark-modes/3.1088w.avif" alt="" width="800" height="396">
      </picture></figure>
<p>Below are pictures of <a href="https://www.youtube.com/watch?v=yDkTHOYneZ0" target="_blank">Avid Composer</a> in 1990, <a href="https://spectrum.ieee.org/story-behind-pixars-cgi-software" target="_blank">Pixar’s Marionette/&#8203;RenderMan</a> in 1995, and the <a href="https://web.archive.org/web/20070929112335/http://www.photoshopnews.com/2006/01/09/announcing-adobe-lightroom/" target="_blank">first versions of Lightroom</a> in 2006 where you can see the interface trying to at least gesture toward a dark theme:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tactical-dark-modes/4.1088w.avif" alt="" width="800" height="617">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tactical-dark-modes/5.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tactical-dark-modes/6.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>Today, things are more flexible. Many people prefer one theme over the other for any of many legitimate reasons, most leave dark theming synced to daylight, and display technology can handle all themes so well that it jumped ahead of our brains, which still have some interesting asymmetries in processing light shapes next to dark ones. </p>
<p>As users celebrated dark mode appearing in popular apps and services in the 2010s, some had to catch up the other way: Apple TV added light mode (for some reason) in 2017, and Affinity apps celebrated new light UI option just <a href="https://www.affinity.studio/blog/affinity-update-march-2026" target="_blank">earlier this year</a>.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tactical-dark-modes/7.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Most programming text editors still default to dark, but allow you to switch; as a software category they were probably the first to fully embrace color theming. </p>
<p>But what led me to writing this post was a delightful discovery today of this setting:</p>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/8-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/8-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-dark-modes/8-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/tactical-dark-modes/8-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>Why, of all apps, would iOS Photos allow you to switch to dark mode, and only while editing to boot?</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/tactical-dark-modes/9-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/tactical-dark-modes/9-framed.1600w.webm"></video></figure>
<p>I think this might be because of the above tradition of pro AV apps, where we learned it’s good for visuals to be surrounded by black; a little nod to its earlier professional roots – similar, perhaps, to the story of the <a href="https://unsung.aresluna.org/were-trying-to-copy-this-old-machine-weirdness-and-all/">Clear button in calculators</a>.</p>
<p>But I had two more thoughts. First, for all the reasons above, to me at least dark mode still has connotations of “professionalism” and toggling the option makes me feel I’m a bad-ass pro whenever I’m editing a photo. I wonder if others also feel that way, too.</p>
<p>Second, dark mode <em>looks</em> <em>different</em>. Dark UI only when editing means it’s easier to spot whether I’m editing or just browsing, and be ever so slightly better oriented. </p>
<p>(In general, apps today are much more similar-looking, and I’m surprised neither iOS nor Android doesn’t allow you to switch the theme <em>per app</em>, just so it’s easier to know where you are as you move around quickly.)</p><p><a href="https://unsung.aresluna.org/tags/colors/">#colors</a> <a href="https://unsung.aresluna.org/tags/dark-mode/">#dark mode</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/ios/">#ios</a></p>]]></content>
  </entry>
  <entry>
    <title>What deserves a second chance</title>
    <link href="https://unsung.aresluna.org/what-deserves-a-second-chance" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/what-deserves-a-second-chance</id>
    <published>2026-04-26T16:52:27.581Z</published>
    <updated>2026-04-26T16:52:27.581Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>To follow up <a href="https://unsung.aresluna.org/the-cheatsheet-you-wont-need/">from yesterday’s post</a>, in Figma, object selection actually goes onto the undo stack. This is because in a professional tool with objects in multiple levels of hierarchy, it might take a while to construct a selection to work on – and since selection is always just one accidental click away from being completely cleared, undoable selection is extra protection.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/what-deserves-a-second-chance/1-thumbnail.avif" width="800" height="387" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/what-deserves-a-second-chance/1.1600w.mp4"></video></figure>
<p>However, at the same time renaming a file – or changing settings like file access – is not undoable. This is in part because we didn’t feel people would understand they could cancel out their rename this way (Safari too used to have “reopen last tab” under ⌘Z, until it reverted to Chrome’s ⌘⇧T), but mostly because you could accidentally undo through a file rename during regular work if you were not careful, without noticing, and that felt like it’d have more profound consequences.</p>
<p>In some ways, it helped me to think of these not as “ineligible for undo” but rather “living outside of time.” The moment a file is renamed, it will always have been named that way. (For the purposes of undo, at least. You can acknowledge anything you want on the version history screen.)</p>
<p>I’m not saying these are universally correct choices – as a matter of fact, some users find undoable selection (at least initially) pretty confusing! – but mostly sharing these as examples of intentional thinking about what deserves undo, and what should be exempt from it and taken care of elsewhere.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/undo/">#undo</a></p>]]></content>
  </entry>
  <entry>
    <title>“The cheatsheet you won’t need.”</title>
    <link href="https://unsung.aresluna.org/the-cheatsheet-you-wont-need" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-cheatsheet-you-wont-need</id>
    <published>2026-04-25T19:41:55.477Z</published>
    <updated>2026-04-25T19:41:55.477Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A fun bit of storytelling on the website for a git client <a href="https://retcon.app/" target="_blank">Retcon</a>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-cheatsheet-you-wont-need/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-cheatsheet-you-wont-need/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-cheatsheet-you-wont-need/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-cheatsheet-you-wont-need/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-cheatsheet-you-wont-need/1.1088w.avif" alt="" width="800" height="664">
      </picture></figure>
<p>I don’t have personal experience with Retcon. I definitely struggled a lot with git’s syntax over the years, and have my own cheatsheet that looks similar to this.</p>
<p>But what I really liked from this page was the elevation of undo to be the North Star. I think it’s very, very well deserved. </p>
<p>To the best of my knowledge, undo in its modern form arrived in 1983 with Apple Lisa – Byte magazine called it a “<a href="https://archive.org/details/byte-magazine-1983-02-rescan/page/n39/mode/2up" target="_blank">tremendous security blanket</a>” – and then over the next decade or so blossomed into its current state: an infinite, multi-level, lightning-fast safety hatch that works pretty much everywhere, always there in the bottom-left corner of your keyboard, so second-nature you might not even realize you’re invoking it.</p>
<p>In early apps, before undo arrived, you had to be very careful about what you did and when you saved your work. Later on, undo worked on just one level, so you had to think a lot about how to spend it before things became irreversible.</p>
<p>Today, undo <em>just works</em>. It truly became Back Space: The Next Generation.</p>
<p>But any user-facing “just works” hand wave means a lot of people’s hard and invisible work behind the scenes. So if you’re reading this, and at some point in your career you worked on making undo better, my tip of the hat to you (and send me a message!).</p><p><a href="https://unsung.aresluna.org/tags/errors/">#errors</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a> <a href="https://unsung.aresluna.org/tags/undo/">#undo</a></p>]]></content>
  </entry>
  <entry>
    <title>“That’s how floating point errors and triangle numbers solved a mystery.”</title>
    <link href="https://unsung.aresluna.org/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery</id>
    <published>2026-04-25T18:41:37.116Z</published>
    <updated>2026-04-25T18:41:37.116Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Minecraft is so complex that it’s sometimes hard to know what is a bug and what is not. </p>
<p>Here’s the logic of the game:</p>
<ul class="long-list">
        <li>If you fall from height, you receive fall damage. </li>
        <li>If you fall from height but you’re in a boat, there’s no fall damage. </li>
        <li>If you fall from height and you’re in a boat, but you fall from a distance of 12, 13, 49, 51, 111, 114, 198, 202, 310 or 315 blocks, there <em>is</em> fall damage and you die.</li>
      </ul>
<p>The first is common in games. </p>
<p>The second is – I believe! – a former <a href="https://bugs.mojang.com/browse/MC/issues/MC-105103" target="_blank">bug</a> that was grandfathered in <em>as a design decision</em>: people got used to it, started relying on it, and it became “too big to fix.” The retroactive explanation became that the boat is your shield and takes all the fall damage, which is a very Hollywood action movie way of looking at the world.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery/1.1088w.avif" alt="" width="800" height="400">
      </picture></figure>
<p>So, only the <a href="https://bugs.mojang.com/browse/MC/issues/MC-119369" target="_blank">third one</a> is a bug… obviously.</p>
<p>But why those specific numbers? Here’s a <a href="https://youtu.be/ei58gGM9Z8k" target="_blank">16-minute video by Matt Parker at Stand-up Maths</a> that tries to answer it:</p>
<figure>
        <a href="https://youtu.be/ei58gGM9Z8k" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/thats-how-floating-point-errors-and-triangle-numbers-solved-a-mystery/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>It’s an interesting video because it’s lighter on bug causes discussion, but heavier on math – and the moment you realize those numbers above are not random at all and coalesce into a nice formula, is genuinely a pretty fun moment.</p>
<p>I thought this was interesting, and a little contribution to a larger debate about how hard it is to even agree what a bug really is (which <a href="https://unsung.aresluna.org/how-to-make-sure-a-designer-never-files-a-bug-again/">I previously briefly talked about</a>).</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Plain text has been around for decades and it’s here to stay.”</title>
    <link href="https://unsung.aresluna.org/plain-text-has-been-around-for-decades-and-its-here-to-stay" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/plain-text-has-been-around-for-decades-and-its-here-to-stay</id>
    <published>2026-04-24T14:33:37.653Z</published>
    <updated>2026-04-24T14:33:37.653Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>There’s a category of “plain text” or “ASCII” diagramming and UI design tools:</p>
<ul>
        <li><a href="https://www.mockdown.design/" target="_blank">Mockdown</a> – works immediately on the web, even on mobile</li>
        <li><a href="https://wiretext.app/" target="_blank">Wiretext</a> – works on the web, but desktop only</li>
        <li><a href="https://monodraw.helftone.com/" target="_blank">Monodraw</a> – a Mac app</li>
      </ul>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/plain-text-has-been-around-for-decades-and-its-here-to-stay/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/plain-text-has-been-around-for-decades-and-its-here-to-stay/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/plain-text-has-been-around-for-decades-and-its-here-to-stay/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/plain-text-has-been-around-for-decades-and-its-here-to-stay/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/plain-text-has-been-around-for-decades-and-its-here-to-stay/1.1088w.avif" alt="" width="634" height="700">
      </picture></figure>
<p>I believe these are used by people who prefer intentionally limited visual choices, for low-key diagramming to put in source code, and – increasingly – as an entry point to gen AI.</p>
<p>They’re so interesting from the standpoint of this blog:</p>
<ul class="long-list">
        <li>Fun to see a contemporary take on something that peaked between 1970s–1980s – you can look up TUIs and <a href="https://www.google.com/search?q=turbo+vision" target="_blank">Turbo Vision</a> if you want – but (just like <a href="https://unsung.aresluna.org/the-deeper-you-look-the-more-it-starts-to-feel-like-a-platform/">Mario the other day</a>) now with modern sensibilities, performance, web access, mouse and trackpad affordances, and so on.</li>
        <li>It’s interesting simply as an exercise in constraint. I believe constraint practice will become more and more important as computers become more and more capable. It’s already useful to constrain yourself in order to make things easier for you. With the rise of AI, self-constraint will become important to make things <em>harder</em>, as well.</li>
        <li>There is a certain power and longevity of monospace plain text that’s worth celebrating – not just because the file format is portable, but because text editing as interface is so well-known and <a href="https://unsung.aresluna.org/we-can-go-deeper-by-patterning-inside-of-our-pattern/">potent</a>.</li>
      </ul>
<p>Also, ASCII spray in Mockdown is just really fun:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/plain-text-has-been-around-for-decades-and-its-here-to-stay/2-thumbnail.avif" width="800" height="577" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/plain-text-has-been-around-for-decades-and-its-here-to-stay/2.1600w.mp4"></video></figure>
<p>(Caveat: These tools are “ASCII” in a colloquial sense, the same way people use “GIF” to refer to a certain category of looping animations.)</p><p><a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/text-editing/">#text editing</a></p>]]></content>
  </entry>
  <entry>
    <title>Abort, Retry, No, Thanks</title>
    <link href="https://unsung.aresluna.org/abort-retry-no-thanks" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/abort-retry-no-thanks</id>
    <published>2026-04-24T13:46:00.469Z</published>
    <updated>2026-04-24T13:46:00.469Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>If there was one go-to example of an impenetrable error message in the 1980s, it must have been <a href="https://en.wikipedia.org/wiki/Abort,_Retry,_Fail%3F" target="_blank">this</a> – popping up, for example, if your disk drive was dirty:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/abort-retry-no-thanks/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/abort-retry-no-thanks/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/abort-retry-no-thanks/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/abort-retry-no-thanks/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/abort-retry-no-thanks/1.1088w.avif" alt="" width="560" height="196">
      </picture></figure>
<p>On some technical level, the options made sense: “Abort” would stop whatever you were doing, “Retry” would try to repeat the action, and “Ignore” would proceed as if there was no error. But in the heat of a moment, or seeing it for the first time, this was a puzzling choice to be asked to make. Not only were the words weighted improperly (the seemingly most innocuous action here, “Ignore,” was actually the only one that could do actual lasting damage), but it also wasn’t entirely clear <em>what’s the safe thing to do </em>to get out of the situation<em>.</em></p>
<p>(The redesign of “Abort, Retry, Ignore” was “Abort, Retry, Fail,” and it wasn’t really a huge improvement.)</p>
<p>Last night, I installed Google Photos on my iPhone, and the first message that greeted me was this:</p>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/abort-retry-no-thanks/2-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/abort-retry-no-thanks/2-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/abort-retry-no-thanks/2-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/abort-retry-no-thanks/2-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>This is really a matryoshka doll of bad dialog presentation.</p>
<p>First: any buttons in a dialog should be labeled with <a href="https://unsung.aresluna.org/use-links-dont-talk-about-them/">enough information to keep me going</a>. Here, both have generic labels, so now I need to pay attention.</p>
<p>Second: Even after reading, I have no idea what is the choice I’m making. I see the pathway marked “yes, keep it the way I had it” and, sure – this would be generally what I want from any given computer on any given Sunday. But what’s the actual alternative? </p>
<p>But the third, and most important one, is this: this dialog has no safe escape hatch. By now, in UX design, we established quite a few canonical escape hatches: </p>
<ul>
        <li>a Cancel button,</li>
        <li>a × close box,</li>
        <li>a “No, thanks” link, </li>
        <li>a press of an Escape key.</li>
      </ul>
<p>But you can’t × this dialog out. The main button seems positive, but it also feels like I’m taking an action with consequences, and I don’t want to deal with that. There is a “No, thanks,” but it doesn’t feel like the other “No, thankses” I have seen – it’s juxtaposed with copy that makes it seem… a dangerous thing to choose. </p>
<p>And this last bit makes it a pretty serious design offense, because you are now messing with foundational stuff. You need to protect those escape hatches for the future; the moment you introduce hesitation into the mix and taint “No, thanks” <em>as a concept</em>, really bad things will start happening all across your product.</p>
<p>In real life, fire doors have to open outwards when pushed with body weight, aircraft <a href="https://en.wikipedia.org/wiki/Stick_shaker" target="_blank">stick shakers</a> are impossible to ignore, and <a href="https://en.wikipedia.org/wiki/Anti-lock_braking_system" target="_blank">anti-lock braking systems</a> do smart things even after your brain turns off its smart parts. </p>
<p>I know seeing a dialog like this would never happen in a moment of <em>true</em> panic, but sometimes I think of the user in their most absent-minded moment: trying to get their kids to hurry up for school, on hold with an annoying cable provider, with a cat looking like it’s about to jump up directly into a running toaster. A dialog on their phone pops up. If that dialog absolutely has to happen, what is the escape hatch it can offer so they can dismiss it safely if they <em>cannot think about it at all</em>?</p>
<p>This Google Photos screen needs a lot more rethinking and rewriting, but in its current incarnation, it desperately needs a clear and trustworthy escape hatch I can tap absentmindedly, just so I can get to my photos.</p><p><a href="https://unsung.aresluna.org/tags/errors/">#errors</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/onboarding/">#onboarding</a> <a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
  <entry>
    <title>“The deeper you look, the more it starts to feel like a platform.”</title>
    <link href="https://unsung.aresluna.org/the-deeper-you-look-the-more-it-starts-to-feel-like-a-platform" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-deeper-you-look-the-more-it-starts-to-feel-like-a-platform</id>
    <published>2026-04-23T16:29:31.276Z</published>
    <updated>2026-04-23T16:29:31.276Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>An <a href="https://www.youtube.com/watch?v=DE2ITP7IcbM" target="_blank">interesting 10-minute video</a> from gruz about <a href="https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public" target="_blank">Super Mario Bros. Remastered</a>, a modern Super Mario fan remake with surprising depth that puts Nintendo’s own efforts to shame:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=DE2ITP7IcbM" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-deeper-you-look-the-more-it-starts-to-feel-like-a-platform/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-deeper-you-look-the-more-it-starts-to-feel-like-a-platform/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-deeper-you-look-the-more-it-starts-to-feel-like-a-platform/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-deeper-you-look-the-more-it-starts-to-feel-like-a-platform/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/the-deeper-you-look-the-more-it-starts-to-feel-like-a-platform/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>What I liked about it is that it’s wrestling with the idea “How do you improve on something considered perfect?” and touches upon the important area we cover occasionally here on this blog: when is software <em>finished</em>?</p>
<p>There is also another interesting angle. Even though the game requires original game ROMs to work, it’s still in a very, very gray area:</p>
<blockquote><p>[…] Once you strip it down, this thing is built around Nintendo’s world: the Super Mario Bros. name, the characters,  the visual identity, the level concepts, the branding, the whole presentation. And the more ambitious it gets, the riskier it feels. Once a fan project starts offering  not just a remake, but extra modes, editor tools, custom-level browsing, ratings, and a growing  user-generated content scene, it stops looking like a small tribute and  starts looking like something  operating in Nintendo’s lane.</p></blockquote>
<p>(I didn’t expect to see the original Super Mario game to come up so often on this blog – I just added <a href="http://unsung.aresluna.org/tags/super-mario-bros" target="_blank">a tag for it</a> – especially since I don’t have any personal reverence for it. But it seems it’s Super Mario and Doom specifically that became timeless pieces of software that keep being resurrected, revisited, and remixed, over and over again.)</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/piracy/">#piracy</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a> <a href="https://unsung.aresluna.org/tags/super-mario-bros/">#super mario bros</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Out of touch</title>
    <link href="https://unsung.aresluna.org/out-of-touch" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/out-of-touch</id>
    <published>2026-04-23T15:13:54.019Z</published>
    <updated>2026-04-23T15:13:54.019Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>An interesting flavour of a <a href="https://unsung.aresluna.org/molly-guard-in-reverse/">molly guard</a> that can only happen in onscreen interfaces is “occasionally moving things out of the way to mess with the user.”</p>
<p>The messing-with-the-user part is, ostensibly, for their benefit. Making something not appear in the usual position, or not behave the usual way, becomes a speed bump, cancels out motor memory, and forces a conscious reaction rather than flying through the interface on autopilot.</p>
<p>The simplest example is dialogs that ask about dangerous actions suspending the “default action happens when you press Enter” behaviour:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/1.1088w.avif" alt="" width="341" height="172">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/2.1088w.avif" alt="" width="285" height="296">
      </picture></figure>
<p>(There is a way to continue the dialog on the right using the keyboard alone – but it’s only via ⌘R and not the default, breezy Enter.)</p>
<p>Another version is swapping buttons or showing them in an otherwise unusual order:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/3.1088w.avif" alt="" width="372" height="376">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/4.1088w.avif" alt="" width="372" height="440">
      </picture></figure>
<p>But remember when I said “can only happen in onscreen interfaces?” Well. The apotheosis of this very idea, spotted in a New York alley, proves otherwise:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/out-of-touch/5-thumbnail.avif" width="394" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/out-of-touch/5.1600w.mp4"></video></figure>
<p>It’s a Hirsch ScramblePad, inconsistent very much by design, a login mechanism where every time the digits get put in a different place. </p>
<p>The idea is meant to help with two problems: </p>
<ul class="long-list">
        <li>It makes it harder for someone standing behind to learn your code from just watching your movements, as it abstracts the movements to be one step away. (The strange visual filter is meant to make the viewing angle as narrow as possible, too.)</li>
        <li>It prevents uneven wear and tear of the buttons, which people could use to guess your code:</li>
      </ul>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/6.1088w.avif" alt="" width="525" height="700">
      </picture></figure>
<p>I understand “ScramblePad” was the original product (<a href="https://patents.google.com/patent/US4333090A/en" target="_blank">here’s the patent with some nice illustrations</a>), and the name got <a href="https://en.wikipedia.org/wiki/Generic_trademark" target="_blank">genericized</a> since. Here’s competition, MIWA Random Tenkey – once probably so much more futuristic, today equally quaint:</p>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/out-of-touch/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/7.1088w.avif" alt="" width="394" height="700">
        </picture></figure>
<p>One can occasionally see more modern versions today:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/8.1088w.avif" alt="" width="525" height="700">
      </picture></figure>
<p>But back to our beloved screens, where some banking web apps copied the idea:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/9.1088w.avif" alt="" width="320" height="213">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/10.1088w.avif" alt="" width="442" height="353">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/11.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/11.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/11.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/11.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/11.1088w.avif" alt="" width="588" height="257">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/12.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/12.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/12.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/12.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/12.1088w.avif" alt="" width="727" height="443">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/13.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/13.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/13.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/13.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/13.1088w.avif" alt="" width="731" height="339">
      </picture></figure>
<p>And even recently, Motorola touted it <a href="https://www.androidauthority.com/motorola-phone-secret-pin-scramble-feature-how-use-3587078/" target="_blank">as a feature on their phones</a>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/14.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/out-of-touch/14.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/14.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-touch/14.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/out-of-touch/14.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>I’m not a security expert, so I won’t try to opine how effective those things are. I tried to research whether forcing a password out of motor memory – which these will accomplish – is ultimately better or worse, but a lot of the papers I found were inconclusive. (As always, some of the theoretically good ideas for security bounce off of human limitations and convenience: Forcing someone to remember a password might mean they will write it down somewhere, effectively making things worse.)</p><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/security/">#security</a></p>]]></content>
  </entry>
  <entry>
    <title>Recency bias (non-derogatory)</title>
    <link href="https://unsung.aresluna.org/recency-bias-non-derogatory" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/recency-bias-non-derogatory</id>
    <published>2026-04-23T15:05:22.403Z</published>
    <updated>2026-04-23T15:05:22.403Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I am a huge fan of all sorts of “recent” features in software; I think they’re extremely helpful in removing tedium, and thoroughly undervalued. A lot of our work <em>is</em> repetitive, even if it’s sad to admit.</p>
<p>I <a href="https://unsung.aresluna.org/making-repetitive-things-less-tedious/">shared one example previously</a>, and here’s five more.</p>
<p>1.<br>
My bank’s website not only shows me the last payment I made, but also allows me to click to use the same number again:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/1-thumbnail.avif" width="546" height="277" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/1.1600w.mp4"></video></figure>
<p>2.<br>
The app <a href="https://transitapp.com/" target="_blank">Transit</a> has a nice list of recent destinations just below the main options:</p>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/2-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/2-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/2-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/2-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>3.<br>
Google Maps promotes recently tapped-on items to be more visible than they would normally be:</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/3-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/3-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/3-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/3-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/4-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/4-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/4-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/4-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>4.<br>
<a href="https://cleanshot.com/" target="_blank">CleanShot X</a> offers something I have always wanted from built-in macOS screenshotting – being able to capture with one keystroke the same area as I delineated last time:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/5.1088w.avif" alt="" width="280" height="606">
      </picture></figure>
<p>5.<br>
Google Pixel allows you to swap the current wallpaper and three previously chosen wallpapers easily:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/6-framed-thumbnail.avif" width="334" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/recency-bias-non-derogatory/6-framed.1600w.webm"></video></figure>
<p>What unifies all of these is that “recent” doesn’t live in a submenu somewhere, treated as a second-tier pathway. No, in all of these “recent” is embedded in the fabric of normal interactions, side by side with forward-facing options. I believe this is necessary for any sort of feature like this to be truly successful.</p>
<p>That last Google Pixel example also shows that “recent” isn’t only for repeating something faster – here, it becomes more of a “soft setting,” without introducing a lot more complex UI and interactions that a “real” setting might require.</p><p><a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“You could key smash, and it would type out the thing.”</title>
    <link href="https://unsung.aresluna.org/you-could-key-smash-and-it-would-type-out-the-thing" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/you-could-key-smash-and-it-would-type-out-the-thing</id>
    <published>2026-04-22T14:22:43.949Z</published>
    <updated>2026-04-22T14:22:43.949Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I can finally update my ancient <a href="https://unsung.aresluna.org/were-going-to-start-out-by-going-to-the-fakey-folder/">WarGames reference</a> – turns out the computers on the TV show The Pitt are also preprogrammed to show the right things on the screen regardless of what the actors are actually typing.</p>
<p>But you still need to flail your fingers in vaguely realistic ways, so the actors in this (spoiler-free) <a href="https://www.tiktok.com/@hbomax/video/7605986473854110989" target="_blank">TikTok</a> share their strategies:</p>
<figure>
          <a href="https://www.tiktok.com/@hbomax/video/7605986473854110989" target="_blank">
          <picture>
            <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/you-could-key-smash-and-it-would-type-out-the-thing/tt1.1600w.avif" type="image/avif">
            <source srcset="https://unsung.aresluna.org/_media/you-could-key-smash-and-it-would-type-out-the-thing/tt1.1088w.avif" type="image/avif">
            <source srcset="https://unsung.aresluna.org/_media/you-could-key-smash-and-it-would-type-out-the-thing/tt1.1088w.jpg" type="image/jpeg">
            <img src="https://unsung.aresluna.org/_media/you-could-key-smash-and-it-would-type-out-the-thing/tt1.1088w.avif" alt="">
          </picture>
          </a>
          </figure><p><a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a></p>]]></content>
  </entry>
  <entry>
    <title>“The fancy software figures it out for you.”</title>
    <link href="https://unsung.aresluna.org/the-fancy-software-figures-it-out-for-you" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-fancy-software-figures-it-out-for-you</id>
    <published>2026-04-22T13:25:54.906Z</published>
    <updated>2026-04-22T13:25:54.906Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I want to tell you about something that might seem oddly specific and perhaps too technical, but a) at the end of it you will have a useful phrase somewhere in your brain that will pay off one day, and b) I swear I will make it worth your while.</p>
<p>Have you ever seen this problem?</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/1.1088w.avif" alt="" width="396" height="312">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/2.1088w.avif" alt="" width="396" height="312">
      </picture></figure>
<p>The screenshot on the left is fine. But there is something wrong with the one on the right. In light mode, the shadow is wispy and weird. In dark mode, things are even stranger, and the shadow is almost… a glow?</p>
<p>I stumbled upon this problem occasionally for <em>years </em>now – there are a few screenshots on the blog with this weird problem, even – but it was never feeling like a deal breaker. However, I finally sat down to figure it out today.</p>
<p>Turns out, there are two kinds of approaches to alpha channel/&#8203;transparency. The normal one we all know well is called “straight alpha.” But on the right, we were looking at “premultiplied alpha” – something entirely more complicated, where the background is baked into transparency for… reasons. Premultiplied alpha is conceptually – and often literally – dirtier, but it also has benefits: more flexibility, better filtering, sometimes better performance. As far as I understand, premultiplied alpha exists primarily in the world of video and vfx, but occasionally it rears its unconventionally attractive head in our boring static 2D world of screenshots, too. </p>
<p>In my case, I finally figured out this was happening whenever I’ve pasted the screenshot <a href="https://unsung.aresluna.org/how-to-shoot-a-screen-using-a-board-of-keys/">from the clipboard</a> to Photoshop instead of Preview – for some reason, a screenshot then got an alpha channel premultiplied against white background. But I wouldn’t be surprised if it happens to some of you under other conditions, too.</p>
<p>So, “premultiplied alpha.” That’s the useful phrase. What was the other thing?</p>
<p>This is an absolutely hilarious <a href="https://www.youtube.com/watch?v=XobSAXZaKJ8" target="_blank">7-minute video by Captain Disillusion</a> that talks about various challenges with the alpha channel:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=XobSAXZaKJ8" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/the-fancy-software-figures-it-out-for-you/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>Captain Disillusion (or, Alan Melikdjanian) is one of my favourite YouTube educators. His work is mostly debunking fake videos – his most well-known one is <a href="https://www.youtube.com/watch?v=KbgvSi35n6o" target="_blank">about the Cricet bracelet</a>, although my personal fav is <a href="https://www.youtube.com/watch?v=5LI2nYhGhYM" target="_blank">one about laminar flow</a> – and they’re just constantly interesting and <em>hilarious </em>at the same time. </p>
<p>Disillusion also occasionally does a more straightforward “let’s talk about some technical aspects of video production” episode which he bundles under a “CD/” umbrella. Here’s a handy list of all of them: </p>
<ul>
        <li><a href="https://www.youtube.com/watch?v=R4sF0MT1TGM&amp;list=PLQlvLOFtrgKY3enLaI6KzxJYOntg5SAh0&amp;index=1" target="_blank">Intro to the whole series</a></li>
        <li><a href="https://www.youtube.com/watch?v=g5ZgUIobSj0&amp;list=PLQlvLOFtrgKY3enLaI6KzxJYOntg5SAh0&amp;index=2" target="_blank">Aspect ratio</a></li>
        <li><a href="https://www.youtube.com/watch?v=DyqjTZHRdRs&amp;list=PLQlvLOFtrgKY3enLaI6KzxJYOntg5SAh0&amp;index=3" target="_blank">Frame rate</a></li>
        <li><a href="https://www.youtube.com/watch?v=1unkluyh2Ks&amp;list=PLQlvLOFtrgKY3enLaI6KzxJYOntg5SAh0&amp;index=4" target="_blank">Resolution</a></li>
        <li><a href="https://www.youtube.com/watch?v=5eu_KjKsnpM&amp;list=PLQlvLOFtrgKY3enLaI6KzxJYOntg5SAh0&amp;index=5" target="_blank">Interlacing</a> (and <a href="https://www.youtube.com/watch?v=_1yOwgXGKPM&amp;list=PLQlvLOFtrgKY3enLaI6KzxJYOntg5SAh0&amp;index=6" target="_blank">addendum</a>)</li>
        <li><a href="https://www.youtube.com/watch?v=FTKP0Y9MVus&amp;list=PLQlvLOFtrgKY3enLaI6KzxJYOntg5SAh0&amp;index=7" target="_blank">Color</a></li>
        <li><a href="https://www.youtube.com/watch?v=XobSAXZaKJ8&amp;list=PLQlvLOFtrgKY3enLaI6KzxJYOntg5SAh0&amp;index=8" target="_blank">Alpha channel</a></li>
        <li><a href="https://www.youtube.com/watch?v=28S47EE_opA&amp;list=PLQlvLOFtrgKY3enLaI6KzxJYOntg5SAh0&amp;index=9" target="_blank">Shutter speed</a></li>
        <li><a href="https://www.youtube.com/watch?v=xDLxFGXuPEc&amp;list=PLQlvLOFtrgKY3enLaI6KzxJYOntg5SAh0&amp;index=10" target="_blank">Blur</a></li>
      </ul>
<p>I am sharing this list because you should watch them all. Most are &lt;10minutes, they are <em>consistently</em> entertaining, and even though none of them are about UX design, there is enough overlap between the two universes that you will come out of it all a lot smarter.</p>
<p>Pragmatically, in my case, I searched for [premultiplied alpha] + [Photoshop] and quickly learned of a new-to-me menu option: Layer &gt; Matting &gt; Remove White Matte. It turns premultiplied alpha back to straight alpha, and fixes the screenshot.</p>
<p>Non-pragmatically? If you want to <em>really understand </em>premultiplied alpha, the last thing I can do is suggest another great internet educator, Bartosz Ciechanowski, who has a <a href="https://ciechanow.ski/alpha-compositing/" target="_blank">more comprehensive interactive web explainer</a>. There will be math. There will also be sliders. You decide.</p><p><a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/humor/">#humor</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Got your back, pt. 5</title>
    <link href="https://unsung.aresluna.org/got-your-back-pt-5" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/got-your-back-pt-5</id>
    <published>2026-04-21T22:45:13.710Z</published>
    <updated>2026-04-21T22:45:13.710Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/got-your-back-pt-5/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/got-your-back-pt-5/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/got-your-back-pt-5/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/got-your-back-pt-5/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/got-your-back-pt-5/1.1088w.avif" alt="" width="372" height="473">
      </picture></figure>
<p>I moved Keyboard Maestro app to a different folder as it was running. I gather there must be some technical reason for the app to have to be <a href="https://en.wikipedia.org/wiki/Power_cycling" target="_blank">power cycled</a>, so I appreciated this warning, and the thoughtful bit of copywriting: “Continue” is caveated with “not recommended” so that you feel more comfortable choosing “Quit,” usually the less safe choice. I thought it was a good attempt to add the right scent to the strange options at a strange moment.</p>
<p>(This tradition has reportedly been started by a software company Rogue Amoeba, <a href="https://weblog.rogueamoeba.com/2019/09/05/avoiding-crashes-caused-by-application-moves/" target="_blank">which wrote about it in 2019</a>.)</p><p><a href="https://unsung.aresluna.org/tags/errors/">#errors</a> <a href="https://unsung.aresluna.org/tags/got-your-back/">#got your back</a> <a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
  <entry>
    <title>If a feature falls in a forest</title>
    <link href="https://unsung.aresluna.org/if-a-feature-falls-in-a-forest" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/if-a-feature-falls-in-a-forest</id>
    <published>2026-04-21T22:28:07.746Z</published>
    <updated>2026-04-21T22:28:07.746Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have been working on an essay about how to gently get started and have fun with keyboard customization. I am finding myself surrounded by programmable keypads…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/1.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<p>…and I am going out of my way to try various new shortcuts and automations, big and small, just so I can write a helpful article.</p>
<p>In Photoshop, one of the classic dialogs I use a lot when scanning things is brightness + contrast:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/2.1088w.avif" alt="" width="513" height="314">
      </picture></figure>
<p>It doesn’t come with a keyboard shortcut, so I mnemonically assigned ⌘B (for Brightness) to it. ⌘B is easier than using your mouse to select a menu option, but still tedious in the long run; every time I have to input brightness and contrast numbers, then click on Use Legacy which is not sticky, <em>then</em> realize that enabling Use Legacy inexplicably resets the values I just typed so I have to input them again…</p>


<figure>
        <video poster="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/4-keyed-thumbnail.avif" width="471" height="300" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/4-keyed.1600w.webm"></video></figure>
<p>…which really isn’t as much fun 20th time in a row, 20th year in a row.</p>
<p>So imagine my surprise when one day I invoked the dialog, and it came up looking this out of the box:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/5.1088w.avif" alt="" width="513" height="314">
      </picture></figure>
<p>It somehow <em>remembered the previous settings</em>. How? Why? Was that a new thing? Was that a bug? Did the stars align or did they misalign? Figuring out how to make it do this every time would have save me so much trouble.</p>
<p>I dug deeper and figured it out. On the way to ⌘B, my fingers <a href="https://unsung.aresluna.org/make-a-tiny-box-that-fits-around-your-f1-key/">grazed</a> the ⌥ key. This invoked a “use same settings as last time” option I never knew existed. This option would have been a lifesaver, has been there for god knows how long, and I just discovered it <em>by accident</em>. Moreover, it wasn’t just a feature of this dialog. One can hold ⌥ for many more Photoshop dialogs – a thoughtful system to make repeated tasks faster.</p>
<p>Damn.</p>
<p>This reminds me of something. I am curious if you’ve seen what I’ve witnessed probably ten times by now: once in a while my corner of the internet overflowing with awe when someone shares that on the iPhone, you can hold the spacebar and it functions as cursor control:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/6-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/if-a-feature-falls-in-a-forest/6-framed.1600w.webm"></video></figure>
<p>Inevitably, tons of people are always amazed and excited, proclaiming this is the best thing since sliced silicon wafers…</p>
<p>…and that always make me a little sad inside. Both this and my ⌥ story feel like failures of onboarding, of software growing with you and sharing its motor-memory nooks and power-usery crannies. If a helpful thing exists, but people don’t know about it, it feels worse than it not existing. Imagine all these interactions made more pleasant, all these hours saved, all these flow states undisturbed.</p>
<p>I want to spend more time on this blog highlighting onboarding and <a href="https://unsung.aresluna.org/design-is-more/">conveyance</a> done well – I just shared a tiny example <a href="https://unsung.aresluna.org/the-edge-not-taken/">a few days ago</a> – particularly since this feels to me like an area underinvested in. If you have a story of an app or a service doing this well, I’d love if you could share it with me so I can highlight it and we can learn from it.</p><p><a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/onboarding/">#onboarding</a></p>]]></content>
  </entry>
  <entry>
    <title>“The system is so twisted that even Apple itself begs for these reviews from its own apps.”</title>
    <link href="https://unsung.aresluna.org/the-system-is-so-twisted-that-even-apple-itself-begs-for-these-reviews-from-its-own-apps" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-system-is-so-twisted-that-even-apple-itself-begs-for-these-reviews-from-its-own-apps</id>
    <published>2026-04-20T22:24:19.823Z</published>
    <updated>2026-04-20T22:24:19.823Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://daringfireball.net/linked/2026/04/17/follow-up-app-store-reviews" target="_blank">good post by John Gruber on Daring Fireball</a> investigating why apps pester you with the annoying “enjoying this app?” windows and attendant semi-shady practices (choose 5 stars and you get sent to App Store, but choose anything less, and your review will get redirected to Mr. <a href="https://en.wikipedia.org/wiki/Null_device" target="_blank">Dev Null</a>). </p>
<p>The answer? They don’t really have a choice:</p>
<blockquote><p>“[Steven Troughton-Smith:] Review prompts are the difference between a great app getting five positive reviews, and thousands of positive reviews. […]”</p>
<p>You have to play the game as the game stands, and Apple controls the game. And in the game as it stands, apps need 5-star reviews to gain traction in the App Store, perhaps especially so for apps in crowded categories. And for most apps, the only way to achieve that is through prompting. But the right thing to do, for the user experience in the app, is never to prompt for reviews.</p></blockquote>
<p>I think it’s worth knowing about stuff like this for another reason. Absent understanding or institutional memory, any exception gets normalized and ceases being an exception. If specifically iOS apps have to do this for reasons explained in the post, this is still not an excuse for web apps or websites to indiscriminately <a href="https://unsung.aresluna.org/not-everything-that-can-be-counted-counts-and-not-everything-that-counts-can-be-counted/">pester people with prompts like these</a>, too.</p><p><a href="https://unsung.aresluna.org/tags/attention/">#attention</a></p>]]></content>
  </entry>
  <entry>
    <title>“It can be really disorienting to scroll around a fully monochrome hexdump.”</title>
    <link href="https://unsung.aresluna.org/it-can-be-really-disorienting-to-scroll-around-a-fully-monochrome-hexdump" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/it-can-be-really-disorienting-to-scroll-around-a-fully-monochrome-hexdump</id>
    <published>2026-04-20T21:52:59.896Z</published>
    <updated>2026-04-20T21:52:59.896Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://simonomi.dev/blog/color-code-your-bytes/" target="_blank">fun blog post from Alice Pellerin</a> – if you can color code source code, why not try that for hex data?</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/it-can-be-really-disorienting-to-scroll-around-a-fully-monochrome-hexdump/1-thumbnail.avif" width="800" height="342" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/it-can-be-really-disorienting-to-scroll-around-a-fully-monochrome-hexdump/1.1600w.mp4"></video></figure>
<p>This pairs nicely with a <a href="https://unsung.aresluna.org/christmas-lights-diarrhea/">previous post on Unsung</a> in that it too actively investigates what makes for useful, not just “pretty” color coding.</p><p><a href="https://unsung.aresluna.org/tags/coding/">#coding</a> <a href="https://unsung.aresluna.org/tags/colors/">#colors</a></p>]]></content>
  </entry>
  <entry>
    <title>Raycast’s confetti cannon</title>
    <link href="https://unsung.aresluna.org/raycasts-confetti-cannon" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/raycasts-confetti-cannon</id>
    <published>2026-04-20T21:38:53.545Z</published>
    <updated>2026-04-20T21:38:53.545Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Among many genuinely useful deeplinks you can use to <a href="https://manual.raycast.com/deeplinks" target="_blank">control Raycast from afar</a> in a simple way, I just spotted an interesting one:</p>
<p><code>raycast://confetti</code></p>
<p>This is what it does:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/raycasts-confetti-cannon/1-thumbnail.avif" width="800" height="520" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/raycasts-confetti-cannon/1.1600w.mp4"></video></figure>
<p>Despite it being a confetti cannon and nothing more, I think it goes deeper than stuff like e.g. Asana’s “<a href="https://forum.asana.com/t/asana-s-celebration-creatures-got-a-glow-up/476849" target="_blank">celebration creatures</a>”, and it deserves recognition for three actually kinda serious reasons:</p>
<ul class="long-list">
        <li>You can use it to quickly test whether you’re wiring deeplinks correctly. It’s clever the Raycast team put it at the beginning of <a href="https://manual.raycast.com/deeplinks" target="_blank">the doc page</a>; I think every API or a complex connection method should have a simple and delightful “success scenario” for two reasons: to celebrate you establishing that connection, and to have something so simple it cannot itself be misbehaving (this way you know that if you can’t get confetti to work, you for sure messed up something <em>elsewhere</em>).</li>
      

        <li>Once you know how to invoke it from far away, it’s also great for testing <em>other things</em>. Sounds can be muted. In JavaScript, <code>console.log()</code> can be too buried if you don’t have a console open or visible, and <code>alert("Test")</code> is kind of depressingly old-school and steals focus. This HUD-like thing feels like a modern way of approaching this: You know you’ll notice it when it fires away, and it will leave no lasting damage. (Okay, fair, it does steal focus too, so that’d be one thing to improve.)</li>
      

        <li>It has great production value. I hate perhaps all of Google’s search easter eggs because they’re built so extremely <em>cheaply </em>– try searching for “do a barrel roll” or “askew” (and no, I’m not going to dignify them with links because links are my love language). It’s rare and worth celebrating when something that could very well be an internal joke or a test feature for nerds is actually something you want to use because it’s so well-made. (See also: <a href="https://unsung.aresluna.org/linears-clever-internal-redesign-ui/">Linear’s internal testing UI</a>.)</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/coding/">#coding</a> <a href="https://unsung.aresluna.org/tags/easter-eggs/">#easter eggs</a> <a href="https://unsung.aresluna.org/tags/internal-ui/">#internal ui</a> <a href="https://unsung.aresluna.org/tags/raycast/">#raycast</a></p>]]></content>
  </entry>
  <entry>
    <title>The edge not taken</title>
    <link href="https://unsung.aresluna.org/the-edge-not-taken" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-edge-not-taken</id>
    <published>2026-04-19T22:22:55.942Z</published>
    <updated>2026-04-19T22:22:55.942Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Did you catch one interesting bit <a href="https://unsung.aresluna.org/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/">in the last post</a>? The undo shortcut in Paint and other apps in Windows 1.0 used to be Shift+Esc:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-edge-not-taken/1.1088w.avif" alt="" width="738" height="630">
      </picture></figure>
<p>This reminded me that the classic Ctrl+Alt+Del shortcut was initially Ctrl+Alt+Esc. Except, people apparently invoked it a bit too often by accident, so it was split to require two hands for extra safety.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-edge-not-taken/2.1088w.avif" alt="" width="800" height="333">
      </picture></figure>
<p>When you look at the keyboard for the original PC, it all makes sense. Esc is at the edge of the main typing block, and in line with all the modifier keys. It would make sense to build a system around this, and it’s interesting to imagine the Esc Kinematic Universe that never happened.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-edge-not-taken/3.1088w.avif" alt="" width="712" height="700">
      </picture></figure>
<p>Don’t get me wrong: I think it’s good that it didn’t. ⌘Z or Ctrl+Z are much easier to get to than Shift+Esc, especially in concert with cut/copy/&#8203;paste next door – <em>that</em> system introduced by Apple Lisa and Mac teams deserves endless trophies and infinite accolades. (In case you are curious, Windows 1.0 used Delete for Cut, Insert for Paste, and… F2 for Copy.)</p>
<p>But it has always been peculiar to me that Esc isn’t seeing more use. I see Backspace tasked with all sorts of modifier key combinations in various apps, but Esc – equally available on the other side, and even easier to target on some keyboards – is often left alone.</p>
<p>Poetically, given the beginning of this story, it was Mac that grabbed ⌘⌥Esc for force quit:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-edge-not-taken/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-edge-not-taken/4.1088w.avif" alt="" width="564" height="537">
      </picture></figure>
<p>There is a nice thoughtful design element in that window that’s worth calling out: the hint line the bottom.</p>
<p>Why, of all places, would this window go out of its way to announce its own shortcut after you already figured out how to open it? I think this might be for a similar reason airlines repeat the safety announcements before every takeoff. If your computer goes haywire, if one of your apps starts hogging resources, if the UI slows down so much any action takes forever, it might benefit you if somewhere in the back of your head exists one small bit of information: “ah yeah, I don’t know how I know this, but I think I’m supposed to press ⌘⌥Esc now.”</p><p><a href="https://unsung.aresluna.org/tags/errors/">#errors</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/onboarding/">#onboarding</a></p>]]></content>
  </entry>
  <entry>
    <title>“Area connected to a given node in a multi-dimensional array with some matching attribute”</title>
    <link href="https://unsung.aresluna.org/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute</id>
    <published>2026-04-18T15:54:17.175Z</published>
    <updated>2026-04-18T15:54:17.175Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Anyone using old computers for graphics remembers the strangeness of “flood fill”:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/1-thumbnail.avif" width="800" height="601" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/1.1600w.mp4"></video></figure>
<p>The 1950s and 1960s computers were so sluggish that their consoles with blinking lights were not just for show; the operations were slow enough that you could still follow the lights in real time.</p>
<p>This ceased to be true soon afterwards. The microcomputer revolution temporarily reset some computing progress, but by the 1980s and 1990s more and more things were happening too fast for us to keep up.</p>
<p>But here (this above is Paint in Windows 1.0, and you can <a href="https://www.pcjs.org/software/pcx86/sys/windows/1.01/ega/" target="_blank">try for yourself in a browser</a>!) was one example where you could still <em>see</em> an algorithm working hard. It was mesmerizing and educational, and it was a rare example where perhaps you didn’t mind the computer taking its sweet time. Even messing up like I did above – maybe <em>especially </em>messing up – ended up fascinating to watch.</p>
<p>Wikipedia has <a href="https://en.wikipedia.org/wiki/Flood_fill" target="_blank">examples</a> of a few different flood fill algorithms, which are even more interesting:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/2.1088w.avif" alt="" width="200" height="200">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/3.1088w.avif" alt="" width="200" height="200">
      </picture></figure>
<p>A few years later, Minesweeper had a very memorable flood fill, too (also <a href="https://www.pcjs.org/software/pcx86/sys/windows/3.10/" target="_blank">available in a web emulator today</a>):</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/4-thumbnail.avif" width="800" height="601" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/4.1600w.mp4"></video></figure>
<p>But by now Minesweeper retired from sweeping mines, and today computers are so fast that it’s hard for me to imagine any flood fill being anything else but flash flood… </p>
<p>…except this is what I just saw in <a href="https://en.wikipedia.org/wiki/Pixelmator" target="_blank">Pixelmator</a> on my Mac:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/5-thumbnail.avif" width="800" height="520" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/area-connected-to-a-given-node-in-a-multi-dimensional-array-with-some-matching-attribute/5.1600w.mp4"></video></figure>
<p>I don’t know if this is a nod toward a classic flood fill, or just a nice unrelated transition. But I found it genuinely delightful, and it’s fast enough that I would imagine it doesn’t bother pros who need to do it often.</p>
<p>Sometimes it’s nice to see a computer working when there’s a good reason; some apps like banking apps even insert artificial, visible delays after crucial operations, just so that the users feel comfortable knowing their important transaction went through. </p>
<p>But sometimes it’s nice to see a computer working for no reason at all.</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/loading-states/">#loading states</a></p>]]></content>
  </entry>
  <entry>
    <title>“Use links, don’t talk about them.”</title>
    <link href="https://unsung.aresluna.org/use-links-dont-talk-about-them" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/use-links-dont-talk-about-them</id>
    <published>2026-04-17T14:50:22.957Z</published>
    <updated>2026-04-17T14:50:22.957Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The classic – but still important – rule of web design says to avoid labeling links “click here.”</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/1.1088w.avif" alt="" width="800" height="202">
      </picture></figure>
<p>It’s one of the <a href="https://www.w3.org/QA/Tips/noClickHere" target="_blank">oldest web design principles</a>. Tim Berners-Lee <a href="https://www.w3.org/Provider/Style/NoMechanics" target="_blank">wrote about it in 1992</a>; if you visit this link right now, it might be the oldest page you will have <em>ever</em> visited.</p>
<p>The gist of it is simple: the mechanics of following a link are not important, and should be replaced by something that can make the link stand on its own. This is important for screen readers, but also for basic scannability: a “click here” label has a lousy <a href="https://www.nngroup.com/articles/information-scent/" target="_blank">scent</a> and requires you to take in the surroundings to understand what it really does. The rule is, in effect, a variant of “show, don’t tell.”</p>
<p>(In modern days, you can also add another transgression: on touch devices one cannot click, but only tap.)</p>
<p>There is a similar rule about button copy design. Button labels, too, should be self-sustainable. Below is a good example (just reading the button lets me understand what I’ll achieve by clicking it), juxtaposed with the bad one (“OK” is so generic you have to read the rest of the window).</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/2.1088w.avif" alt="" width="372" height="348">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/3.1088w.avif" alt="" width="386" height="399">
      </picture></figure>
<p>Earlier this week, I was passing some train cars on my coffee walk, and saw this bit of UI:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/4.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/use-links-dont-talk-about-them/5.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Why are these okay, and “click here” is not? Here’s why, I think: Yes, the ultimate goal is to move a train car, or empty it, or send it on its way. But here, the mechanics matter, too. They’re dangerous. They require preparations. No one says “I’m going to open my laptop and start clicking on links,” but I imagine people say “we have to jack this car” or “we need to lift it.” Even “here” has depth: these are specific tool mounting points. Choosing the wrong “here” will have consequences.</p>
<p>But, going back to the web, avoiding “click here” in strings isn’t always easy. Imagine trying to put a link in the sentence “To change your avatar, visit the profile page.” I’m personally never sure how to linkify it well:</p>
<p>To <em>change your avatar</em>, visit the profile page. <br>
To change your avatar, <em>visit the profile page</em>. <br>
<em>To change your avatar, visit the profile page. </em></p>
<p>Linking “change your avatar” seems correct since it points to the eventual outcome, but then it leaves the actual destination dangling and unlinked – like putting an accent on a wrong syllable. “Visit the profile page” is better than “click here,” but it’s still not scannable. Linking the entire sentence seems strange and complicated to me, and I also disagree with Tim Berners-Lee, who <a href="https://www.w3.org/Provider/Style/NoMechanics" target="_blank">on the page I liked to above</a> seems to suggest this should be…</p>
<p>To <em>change your avatar</em>, visit the <em>profile page</em>.</p>
<p>…just because this might make a user think there are <em>two</em> separate destinations and actions, and contribute a wrong mental model.</p>
<p>You could, of course, simplify this to “Change your avatar,” but while that would work in a UI string, it wouldn’t within a larger paragraph of text, or a blog post.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>Unsung @ 250: Please send me your feedback!</title>
    <link href="https://unsung.aresluna.org/unsung-at-250-please-send-me-your-feedback" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/unsung-at-250-please-send-me-your-feedback</id>
    <published>2026-04-16T16:31:51.249Z</published>
    <updated>2026-04-16T16:31:51.249Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>My original idea for Unsung was “a microblog with ~3 posts a week,” which seems like a distant memory.</p>
<p>Now that I published 250 posts <a href="https://unsung.aresluna.org/fight-my-way-through-it-all-again/">since early December</a>, what better way to celebrate than to ask for feedback?</p>
<ul class="long-list">
        <li>Do you enjoy specific kinds of content, or missing some topics?</li>
        <li>How could I make the visuals and interactions better?</li>
        <li>Any fun little ideas or bugs or improvements I could make?</li>
        <li>Any feedback about this blog’s information architecture (including the <a href="https://unsung.aresluna.org/tags">just-added tags</a>), RSS, or the weekly email?</li>
      </ul>
<p>You can reach me <a href="mailto:mwichary@aresluna.org" target="_blank">via email</a>, <a href="https://mastodon.online/@mwichary" target="_blank">on Mastodon</a>, or <a href="https://bsky.app/profile/aresluna.org" target="_blank">on Bluesky</a>.</p>
<p>If the very idea stresses you out, I want to give you permission to send me just your bit of feedback without any greetings, or small talk, or “compliment sandwiching.”</p>
<p>Thank you in advance!</p><p><a href="https://unsung.aresluna.org/tags/about-unsung/">#about unsung</a></p>]]></content>
  </entry>
  <entry>
    <title>Unsung @ 250: Nine design details</title>
    <link href="https://unsung.aresluna.org/unsung-at-250-nine-design-details" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/unsung-at-250-nine-design-details</id>
    <published>2026-04-16T16:28:15.286Z</published>
    <updated>2026-04-16T16:28:15.286Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>(This is one of the meta posts <a href="https://unsung.aresluna.org/tags/about-unsung/">about this very blog</a>. If that’s not interesting to you, skip to the next one!)</p>
<p>I thought I’d share a few of the small design details I am proud of for this small blog!</p>
<p>1.<br>
After years of being annoyed at Slack for mishandling image sizes, it was important for me to show the screenshots (at least the desktop UI) at their 100% precise size, if possible. I think that helps to get a better sense of a scale and <em>feel</em> of things. This was <a href="https://mastodon.online/@mwichary/116360717623118628" target="_blank">harder</a> than I expected (since I still want images not to grow too wide or too tall), but hopefully works well now.</p>
<p>2.<br>
I wrote some extra code so that if an image has edge transparency or even soft shadows, it will be aligned accounting for all that. I think that feels elegant – especially on a blog that practices asymmetry probably to a fault.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/1.1088w.avif" alt="" width="413" height="438">
      </picture></figure>
<p>3.<br>
If the images or videos blend too much into the background, they get a lil border to separate them – but only in light or dark mode as needed. This is so that the whole page rhythm holds better together. (Manually assigned so far. Would be curious if one can make this automatic.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/2.1088w.avif" alt="" width="800" height="410">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/3.1088w.avif" alt="" width="800" height="410">
      </picture></figure>
<p>4.<br>
Speaking of dark mode, I almost figured out how to make videos with transparent pixels so that they look good in both dark and light mode. (Chrome only. Still working on it for Safari.)</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/4-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/4-framed.1600w.webm"></video></figure>
<p>5<br>
I want autoplay videos (without sound!) so that it’s easier to see interaction design – basically, a modern version of what GIFs used to provide. This has been challenging and required adding some JavaScript, and is still not done! But it’s starting to feel nice.</p>
<p>6.<br>
Given all the quotations I do, I added hanging quotes to text. Wildly, they are still <a href="https://caniuse.com/css-hanging-punctuation" target="_blank">not really supported by CSS</a> (Safari is a sole exception), so that required some manual intervention.</p>
<p>7.<br>
Short lists are (automatically) spaced differently than long lists. I’ve always wanted to try that.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/5.1088w.avif" alt="" width="745" height="482">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/6.1088w.avif" alt="" width="745" height="350">
      </picture></figure>
<p>8.<br>
I’m having a blast with the pixel fonts I recreated from PC/GEOS. I keep adjusting the glyphs, adding kerning pairs, etc. It’s fun to keep improving a font as you’re improving its surroundings; I just redrew the @ glyph you can see above!</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/unsung-at-250-nine-design-details/7.1088w.avif" alt="" width="369" height="598">
      </picture></figure>
<p>9.<br>
It’s a bit old-fashioned, but I still like the idea of <a href="https://unsung.aresluna.org/">visited links</a> being styled differently than <a href="https://unsung.aresluna.org/tags">non-visited links</a>, to help you orient yourself. (Linking feels <a href="https://unsung.aresluna.org/unsung-at-250-goals-and-principles/">very important to me</a>.)</p><p><a href="https://unsung.aresluna.org/tags/about-unsung/">#about unsung</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a></p>]]></content>
  </entry>
  <entry>
    <title>Unsung @ 250: Goals and principles</title>
    <link href="https://unsung.aresluna.org/unsung-at-250-goals-and-principles" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/unsung-at-250-goals-and-principles</id>
    <published>2026-04-16T16:19:19.748Z</published>
    <updated>2026-04-16T16:19:19.748Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>(This is one of the meta posts <a href="https://unsung.aresluna.org/tags/about-unsung/">about this very blog</a>. If that’s not interesting to you, skip to the next one!)</p>
<p>At Unsung’s 250-postiversary, if I reflect on where this blog has been, and where it might be going, this is what comes to my mind. I didn’t start the project by writing all this down, but I held a lot of this in my head. This feels like a nice moment to capture all this more deliberately, and perhaps some of you might find it interesting.</p>
<p>Goals of Unsung:</p>
<ul class="long-list">
        <li>Highlight hard, good, invisible design work that makes things better, but doesn’t often get spotlight.</li>
        <li>Find deeper meaning in craft, past the pretentious platitudes and surface-level delight. (Details matter not just in some abstract “craftsmanship” sense.)</li>
        <li>Help expand what craft means: highlight relations between things, show connections between history and present, talk about things that are hard to describe and impossible to measure.</li>
        <li>Revel in being pragmatic. Share useful things, not just hollow inspiration.</li>
        <li>Be fun to read.</li>
        <li>DIRECTIVE 6: CLASSIFIED_</li>
      </ul>
<p>Higher-level principles for this blog:</p>
<ul class="long-list">
        <li>Don’t ever share boring stuff, even if the concepts are good, or out of completeness. If you’re not enjoying reading or watching something, assume the audience won’t either. (You can occasionally salvage something boring by providing a non-boring commentary, but try to use this sparingly.)</li>
        <li>When you share something, always try to add your perspective or connections. At the very least, excerpt the most useful thing. This blog is QT, not RT.</li>
        <li>Find a good balance between positive and negative examples. </li>
        <li>In general, offer variety. The weekly digest should have both depth and breadth. (For the last two points, I made <a href="https://unsung.aresluna.org/_dashboard/">a little dashboard</a> to give me some insight, although the sentiment analysis there right now is pretty worthless.)</li>
        <li>Be opinionated, but also humble and curious. You don’t know everything.</li>
        <li>Be candid, but not cruel. Punch up, not down. </li>
        <li>Avoid ridiculing, “walls of shame,” and so on. Even if the work you share is horrible, turn it into a lesson or two.</li>
        <li>This is not about people, but about work – except in some occasions it <em>might be</em> about people, so be candid when that happens.</li>
        <li>More links is better than fewer. Good linking rewards curiosity and is a form of curation (example <a href="https://unsung.aresluna.org/im-hoping-that-the-listeners-out-there-when-they-hear-it-theyll-feel-seen/">1</a>, <a href="https://unsung.aresluna.org/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/">2</a>, <a href="https://unsung.aresluna.org/so-i-wrote-a-script-that-takes-monthly-screenshots-of-google-and-apple-maps/">3</a>). However, the post should stand on its own even if one doesn’t follow any of the links.</li>
        <li>Make an effort to showcase work by women, people of color, underrepresented minorities, and so on.</li>
        <li>Visuals are engaging and helpful. Think about them, but do not add gratuitous, irrelevant photos just to <a href="https://unsung.aresluna.org/_dashboard/">meet the quota</a> (example <a href="https://unsung.aresluna.org/1h-in-a-config-menu-10c/">1</a>, <a href="https://unsung.aresluna.org/the-curse-of-the-cursor/">2</a>, <a href="https://unsung.aresluna.org/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/">3</a>).</li>
        <li>The best way to teach something general is to show something specific.</li>
      </ul>
<p>Lower-level principles:</p>
<ul class="long-list">
        <li>Credit people by full name.</li>
        <li>For longer videos, offer their duration to make it easy for people to make decisions about when they want to watch them.</li>
        <li>Avoid linking to X and Substack. (It really breaks my heart how much of the design community still supports particularly the former, given all the damage we know X inflicts on society.)</li>
        <li>Don’t use this blog as an example (e.g. by screenshots of itself), as this is generally confusing.</li>
      </ul>
<p>Personal goals:</p>
<ul class="long-list">
        <li>Practice writing things that do count in less than <a href="https://shifthappens.site/" target="_blank">thousands</a> of <a href="https://aresluna.org/the-hardest-working-font-in-manhattan/" target="_blank">words</a>.</li>
        <li>Do things differently – this blog is authored in Apple Notes, for example, which is kinda weird to a person like me who always writes straight in HTML.</li>
        <li>Have fun and learn working on this (completely custom) blog platform on the side. </li>
        <li>Give back some of what I learned in my career over the years.</li>
        <li>Practice stating my opinions and standing by them.</li>
        <li>Learn new things (about what I’m writing and about publishing on the web); the only way to teach something is to understand it yourself first.</li>
      </ul>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-goals-and-principles/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-at-250-goals-and-principles/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-goals-and-principles/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-at-250-goals-and-principles/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/unsung-at-250-goals-and-principles/1.1088w.avif" alt="" width="800" height="536">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/about-unsung/">#about unsung</a></p>]]></content>
  </entry>
  <entry>
    <title>“To build a thing that immediately feels like you’ve had it forever is very hard to do.”</title>
    <link href="https://unsung.aresluna.org/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do</id>
    <published>2026-04-15T15:53:47.005Z</published>
    <updated>2026-04-15T15:53:47.005Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>What <a href="https://www.youtube.com/channel/UCsB9OH4ROgV3d_rotwICcoA" target="_blank">Version History</a>, a YouTube show from The Verge, does really well is revisiting older tech products from today’s perspective without allowing nostalgia to take over. </p>
<figure>
        <a href="https://www.youtube.com/watch?v=Q2a1RbOi-aE" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p><a href="https://www.youtube.com/watch?v=Q2a1RbOi-aE" target="_blank">This episode</a> about the Western Electric 500 – the canonical American landline rotary phone – is worth watching by all UX designers. There is no software here, as the phone is entirely electromechanical. But there are a whole lot of details to admire and be inspired by: the shape of the handset, the interface to change the volume, the iconic ring, the balanced and improved rotary dial, the behaviour of the cable, even the weight and balance of the whole device. </p>
<p>It’s not only that phone calls should all sound as good as they did in the 1950s – in my experience FaceTime Audio comes close, sometimes, but it’s so unreliable – it’s that you should try to play with a Western Electric 500 because <em>you want your modern interface to feel like that</em>.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/to-build-a-thing-that-immediately-feels-like-youve-had-it-forever-is-very-hard-to-do/1.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>The hosts – David Pierce and Nilay Patel, helped by Tim Wu, author of the excellent <a href="https://www.penguinrandomhouse.com/books/194417/the-master-switch-by-tim-wu/" target="_blank">The Master Switch</a> – also weave into it an entirely different angle, of how that phone fit into (and reflected) a specific period of American tech history, and how it related to AT&amp;T’s then monopoly, including the phone jack and <a href="https://unsung.aresluna.org/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/">third-party access we just discussed re: John Deere</a>. Even the discussion whether this is or isn’t a “hall of fame” object is good fodder for thought.</p>
<p>The episode – and the <a href="https://www.youtube.com/channel/UCsB9OH4ROgV3d_rotwICcoA" target="_blank">entire show</a> – is also just a really enjoyable watch. If you like this ep, it pairs nicely with <a href="https://www.youtube.com/watch?v=AIwn957-Vf8" target="_blank">the one about the iPhone 4</a>, another phone that transcended its origins through good industrial design, exactly sixty years later.</p><p><a href="https://unsung.aresluna.org/tags/ergonomics/">#ergonomics</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Should be no trouble at all for a driver to understand.”</title>
    <link href="https://unsung.aresluna.org/should-be-no-trouble-at-all-for-a-driver-to-understand" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/should-be-no-trouble-at-all-for-a-driver-to-understand</id>
    <published>2026-04-15T15:18:58.470Z</published>
    <updated>2026-04-15T15:18:58.470Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The 2021 revision of the Mini Cooper ramped up its Britishness by introducing Union Jack flag-inspired turn signals. They looked okay when stationary:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/1.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>But when actually indicating an intention to turn, people started realizing what happens when you have two types of mapping fight each other:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/2.1088w.avif" alt="" width="526" height="510">
      </picture></figure>
<p>On one hand, the left-turn indicator was on the customary left side. On the other, the light looked like an arrow – and the arrow was pointing to the right.</p>
<p>I don’t know how many people were actually confused by it, but it made for a few spicy pieces with “stupidest turn signal ever” and “most annoying thing” in their titles. The company’s official response was:</p>
<blockquote><p>Mini has chosen the Union Jack lights to highlight Mini’s British heritage, and has been using them for a while. With regard to the turn indicator light pattern, there should be no trouble at all for a driver to understand, when seeing the full rear of the car, which direction is being indicated.</p>
<p>Mini has not heard any concerns from customers regarding the rear turn indicators, and has in fact received positive feedback about the taillight design.</p></blockquote>
<p>It didn’t help that <a href="https://en.wikipedia.org/wiki/Edsel" target="_blank">one of the worst cars</a> this side of the Cybertruck did something similar in the 1950s:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/3.1088w.avif" alt="" width="800" height="534">
      </picture></figure>
<p>Drama aside, I did agree with <a href="https://www.reddit.com/r/DesignPorn/comments/10242z9/comment/j2scclb/" target="_blank">this commenter</a> (emphasis mine):</p>
<blockquote><p>It doesn’t cause massive confusion, but taillights should cause <em>no </em>confusion for anyone.</p></blockquote>
<p>I can think of one modern version of a similar issue. If you use the iPad in landscape mode, the volume buttons seem to go “the wrong way”:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/4-thumbnail.avif" width="800" height="329" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/4.1600w.mp4"></video></figure>
<p>Is this anything? Probably not. I imagine it’s better to be consistent and allow motor memory to develop between all the iPad orientations, and throw in the iPhones, too. But if you only ever use your iPad in landscape, this might feel, perhaps, like “the stupidest volume controls ever.”</p>
<p>Oh, and the subsequent Mini revamp in 2024 solved the issue by making the turn signals less like arrows:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/should-be-no-trouble-at-all-for-a-driver-to-understand/5.1088w.avif" alt="" width="700" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>Thoughtful file dropping in Wakamaifondue</title>
    <link href="https://unsung.aresluna.org/thoughtful-file-dropping-in-wakamaifondue" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/thoughtful-file-dropping-in-wakamaifondue</id>
    <published>2026-04-14T18:22:16.989Z</published>
    <updated>2026-04-14T18:22:16.989Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://wakamaifondue.com/" target="_blank">Wakamaifondue</a> is a web tool to inspect font contents, and it starts by you dropping a font file (.ttf, .otf, or .woff) into a browser.</p>
<p>It handles file dropping so thoughtfully, it’s worth pausing and recognizing it:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/thoughtful-file-dropping-in-wakamaifondue/1-thumbnail.avif" width="800" height="520" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/thoughtful-file-dropping-in-wakamaifondue/1.1600w.mp4"></video></figure>
<p>Here’s what’s great about it:</p>
<ul class="long-list">
        <li>You can drop the file anywhere. There is no designated small drop area like in some other apps; every last pixel of the window is ready to receive your file, so you can drop without worrying. </li>
      

        <li>You get a hover state confirming you are safe to drop.</li>
      

        <li>You can drop the file on other screens, too!</li>
      </ul>
<p>Why is all this important? Because dropping a file into a browser is a notoriously frustrating experience. If the tab doesn’t claim the file, left to its own devices the browser will do anything from replacing the current tab with the contents of the file, through opening a new tab, to… starting to download the file you just dropped and ask you for its new location!</p>
<p>It is frustrating when a failure mode of an action is not just that action failing – already here, repeating a drag is more work than e.g. repeating a keystroke – but also you having to do extra clean-up steps.</p>
<p>Wakamaifondue gets this right, and allowing to drop a file on any screen in particular is very thoughtful. Your cursor holding a file indicates your intentions rather strongly – when you see a person wearing a wedding dress, you don’t think “I wonder what they’re up to today?” – so there should be no need to switch to a certain mode or to navigate to an “import screen” beforehand.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a></p>]]></content>
  </entry>
  <entry>
    <title>“Rather than trying to fix this mistake, the developers leaned into it hard in the sequel.”</title>
    <link href="https://unsung.aresluna.org/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel</id>
    <published>2026-04-14T12:10:03.812Z</published>
    <updated>2026-04-14T12:10:03.812Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://www.youtube.com/watch?v=vH5mKYD7AQE" target="_blank">fun 16-minute video from outsidexbox</a> with 7 examples of videogame bugs where the game creators not only owned up to their mistakes, but creatively acknowledged or remixed those bugs in subsequent versions:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=vH5mKYD7AQE" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I didn’t know about most of these, so I did some googling and created a list for reference:</p>
<ul class="long-list">
        <li>Mortal Kombat: <a href="https://whatculture.com/gaming/mortal-kombat-30-absolute-best-easter-eggs-you-need-to-see?page=17" target="_blank">Johnny Cage two uppercuts fatality</a></li>
        <li>Madden NLF ’15: <a href="https://www.forbes.com/sites/erikkain/2014/09/08/ea-sports-makes-tiny-titan-trailer-using-madden-nfl-15-glitch/" target="_blank">Christian Kirksey reduced to 1′2″ height</a></li>
        <li>Final Fantasy 6: <a href="https://knowyourmeme.com/memes/sabin-train-suplex" target="_blank">Sabin suplexing a train</a></li>
        <li>Tiger Woods PGA Tour ’08: <a href="https://www.campaignlive.co.uk/article/ea-games-responds-glitch-tiger-woods-jesus-walk-video/841159" target="_blank">Tiger Woods walking on water</a></li>
        <li>Hitman 2: <a href="https://www.rockpapershotgun.com/hitman-2s-heat-seeking-briefcase-was-a-bug-now-its-a-feature" target="_blank">Heat-seeking briefcase</a></li>
        <li>Street Fighter II: <a href="https://streetfighter.fandom.com/wiki/Handcuff_Glitch" target="_blank">Guile’s “handcuffs” glitch</a></li>
        <li>Super Mario Maker: <a href="https://www.mariowiki.com/Weird_Mushroom" target="_blank">Weird mushroom Mario</a></li>
      </ul>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/1.1088w.avif" alt="" width="800" height="418">
      </picture></figure>
<p>Off the top of my head, I cannot think of any non-videogame software that received a similar “bugs as lore” treatment from people responsible for the bug in the first place. </p>
<p>Microsoft made a <a href="https://news.softpedia.com/news/did-you-know-microsoft-has-its-own-blue-screen-of-death-bsod-screensaver-520928.shtml" target="_blank">blue-screen-of-death screensaver</a>, but it was originally third-party, and kind of a prank? A mean-spirited one? I didn’t find this particularly good.</p>
<p>The likely second-most-famous error message, the <a href="https://www.yiyinglu.com/?portfolio=lifting-a-dreamer-aka-twitter-fail-whale" target="_blank">fail whale</a>, transcended Twitter and was even <a href="https://books.google.com/googlebooks/error.html" target="_blank">referenced in other products</a>…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/rather-than-trying-to-fix-this-mistake-the-developers-leaned-into-it-hard-in-the-sequel/2.1088w.avif" alt="" width="539" height="653">
      </picture></figure>
<p>…but as far as I understand Twitter the company was itself embarrassed by it, and eventually switched the whale to a <a href="https://www.vox.com/2014/3/11/11624440/goodbye-fail-whale-hello-fail-caterpillar-twitter-goes-down-for-most" target="_blank">caterpillar</a>. </p>
<p>(Those two examples aren’t really even bugs in the same category as those in the video, anyway.)</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/easter-eggs/">#easter eggs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>The beauty and the terror of oddly-specific commands</title>
    <link href="https://unsung.aresluna.org/the-beauty-and-the-terror-of-oddly-specific-commands" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-beauty-and-the-terror-of-oddly-specific-commands</id>
    <published>2026-04-13T18:52:20.685Z</published>
    <updated>2026-04-13T18:52:20.685Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Right next to the generic function to delete photos by going through them one by one, my camera has a specific version – Delete All With This Date:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/1.1088w.avif" alt="" width="382" height="288">
      </picture></figure>
<p>Below the actions to close the tab, and close all <em>other</em> tabs, Chrome has a specific version called Close Tabs To The Right:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/2.1088w.avif" alt="" width="305" height="342">
      </picture></figure>
<p>In After Effects, next to typical save options, there is this – Increment And Save – which saves a file and changes the number at the end to be one notch higher (Project 2 → Project 3, and so on):</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/3.1088w.avif" alt="" width="447" height="376">
      </picture></figure>
<p>I’m mildly fascinated by these strangely specific accelerators.</p>
<p>The one in the camera is genuinely useful. Photo projects are often day-long affairs where you download the photos at the end of workday, but might still keep them on the card just in case. Allowing to quickly delete a day’s worth of photos makes a lot of sense, saving you from having to go through them one by one in an interface not suited for that kind of operation.</p>
<p>Chrome’s “Close Tabs to the Right” takes a bit of figuring out, but I believe it’s meant to make it easy to clean up after a fruitful research session where you kept ⌘-clicking and opening tabs to learn more, and those tabs now fulfilled their purpose. (Curiously, Firefox also has “Close Tabs To Left” which I don’t understand.)</p>
<p>After Effects’s “Increment and Save” is… I don’t know. Maybe it’s cheap? Maybe it’s honest? A proper version history would be nicer, but that’s a tall order. This is simple and, most importantly, reliable. I still often do the “poor man’s version control” elsewhere…</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-beauty-and-the-terror-of-oddly-specific-commands/4.1088w.avif" alt="" width="187" height="174">
      </picture></figure>
<p>…so this works for me. </p>
<p>It’s always interesting to me to think whether these kinds of oddly-specific examples are nice gestures toward the user, or treating symptoms in lieu of fixing actual problems. Either way, I don’t think an interface can survive too many of these, as their obscurity and weirdness add up and can contaminate the entire UI.</p>
<p>Would love if you sent me more of these kinds of commands from the apps you use!</p><p><a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“We can have the best of all worlds.”</title>
    <link href="https://unsung.aresluna.org/we-can-have-the-best-of-all-worlds" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/we-can-have-the-best-of-all-worlds</id>
    <published>2026-04-13T11:16:45.303Z</published>
    <updated>2026-04-13T11:16:45.303Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A fun 24-minute <a href="https://www.youtube.com/watch?v=nXdVG45wveo" target="_blank">video from Technology Connections about designed sounds in real life</a>: elevator dings, airplane chimes, railway crossing dings, and so on.</p>
<figure>
        <a href="https://www.youtube.com/watch?v=nXdVG45wveo" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-can-have-the-best-of-all-worlds/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-can-have-the-best-of-all-worlds/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/we-can-have-the-best-of-all-worlds/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/we-can-have-the-best-of-all-worlds/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/we-can-have-the-best-of-all-worlds/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<blockquote><p>While I am sympathetic to the notion that sound pollution is a thing we need to be concerned with, the choice between silence and sound pollution is a false choice. There’s a lot of those happening these days, probably because we’re so stuck in binary thinking. But as airplanes show us, we can design sounds which aren’t obtrusive, but which are helpful. And when you get yourself out of binary thinking, you can do things like make your most obnoxious apps be silent while your important ones make themselves known, and in ways which are meaningful to you and pleasant to everyone else.</p></blockquote>
<p>It is an interesting parallel to the post about <a href="https://unsung.aresluna.org/christmas-lights-diarrhea/">syntax highlighting</a> from a while back, and <a href="https://unsung.aresluna.org/so-i-wrote-a-script-that-takes-monthly-screenshots-of-google-and-apple-maps/">one of the posts about cartography design</a> I shared recently; they all explore how you can create a richer space capable of conveying more information without overwhelming people, by being intentional about the design.</p><p><a href="https://unsung.aresluna.org/tags/attention/">#attention</a> <a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/sound-design/">#sound design</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>In search for a more precise cursor</title>
    <link href="https://unsung.aresluna.org/in-search-for-a-more-precise-cursor" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/in-search-for-a-more-precise-cursor</id>
    <published>2026-04-12T23:45:54.841Z</published>
    <updated>2026-04-12T23:45:54.841Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>One of the casualties of Apple’s otherwise brilliantly executed transition to retina pixels has been the mouse pointer, which remains aligned to what “traditional pixels” used to be, rather than the retina/&#8203;physical/smaller pixels.</p>
<p>Turn on the <a href="https://unsung.aresluna.org/testing-tip-enable-the-zoom-peek-gesture/">zoom gesture</a> from a few weeks ago, and you can see the challenge. The gridlines are ½ logical pixel and 1 physical pixel wide:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/in-search-for-a-more-precise-cursor/1-thumbnail.avif" width="800" height="520" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/in-search-for-a-more-precise-cursor/1.1600w.mp4"></video></figure>
<p>This limitation is inherited by most tools: Photoshop, Affinity, xScope, even the built-in Digital Color Meter. It’s not the end of the world, of course, but it can be maddening if you are trying to sample a color from a “half pixel” and the cursor stubbornly skips it no matter how delicately you move. Here it is in Figma:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/in-search-for-a-more-precise-cursor/2-thumbnail.avif" width="800" height="520" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/in-search-for-a-more-precise-cursor/2.1600w.mp4"></video></figure>
<p>Of the few tools I tested, only Pixelmator allows to sample at the correct, precise level:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/in-search-for-a-more-precise-cursor/3-thumbnail.avif" width="800" height="520" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/in-search-for-a-more-precise-cursor/3.1600w.mp4"></video></figure>
<p>I was curious how would a truly precise cursor feel in general – would there be any disadvantages? – so <a href="https://unsung.aresluna.org/_extra/precise-cursor/">I built a little simulator</a> that allows a regular arrow cursor to be aligned to “half pixels” or “retina pixels.” </p>
<p>In the process, I discovered that both Chrome and Firefox already receive sub-traditional-pixel measurements for mousing events, so this was even easier to build than I expected. Now, precise targeting in Chrome and Firefox becomes possible:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/in-search-for-a-more-precise-cursor/4-thumbnail.avif" width="800" height="520" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/in-search-for-a-more-precise-cursor/4.1600w.mp4"></video></figure>
<p>I don’t personally see any big difference in terms of either upsides or downsides, and I’m curious if you do. iPadOS and its Safari already seem to support the precise mouse pointer, too. That makes me curious: why isn’t it available in macOS? I imagine you could even turn it on by default for apps – or, if you want to be more conservative, make it opt-in.</p>
<p>Pixelmator also shows that the apps can do it without waiting for macOS as the data is already there; they would just need to render the cursor on their own with more precision.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a></p>]]></content>
  </entry>
  <entry>
    <title>“Deere charges six figures for a tractor. But the farmers were still the product.”</title>
    <link href="https://unsung.aresluna.org/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product</id>
    <published>2026-04-12T12:35:30.243Z</published>
    <updated>2026-04-12T12:35:30.243Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Cory Doctorow, in 2022, wrote an essay about how John Deere – a farm tractor manufacturer – <a href="https://doctorow.medium.com/about-those-kill-switched-ukrainian-tractors-bc93f471b9c8" target="_blank">restrict repairs by owners or third-parties</a>:</p>
<blockquote><p>Deere is one of many companies that practice “VIN-locking,” a practice that comes from the automotive industry (“VIN” stands for “vehicle identification number,” the unique serial number that every automotive manufacturer stamps onto the engine block and, these days, encodes in the car’s onboard computers).</p>
<p>VIN locks began in car-engines. Auto manufacturers started to put cheap microcontrollers into engine components and subcomponents. A mechanic could swap in a new part, but the engine wouldn’t recognize it — and the car wouldn’t drive — until an authorized technician entered an unlock code into a special tool connected to the car’s internal network.</p>
<p>Big Car sold this as a safety measure, to prevent unscrupulous mechanics from installing inferior refurbished or third-party parts in unsuspecting drivers’ cars. But the real goal was eliminating the independent car repair sector, and the third-party parts industry, allowing car manufacturers to monopolize the repair and parts revenues, charging whatever the traffic would bear (literally).</p></blockquote>
<p>The same tactic was used by John Deere, forcing farmers to <a href="https://www.thedrive.com/news/39158/farmers-are-having-to-hack-their-own-tractors-just-to-make-repairs" target="_blank">hack the tractors they purchased</a> just so they could repair them.</p>
<p>In a decision that bolsters <a href="https://en.wikipedia.org/wiki/Right_to_repair" target="_blank">right-to-repair movement</a>, John Deere and farmers reached a settlement that has the company pay $99 million to repay prior inflated repair costs, and requires it to share software required for maintenance and repair with farmers.</p>
<p>Just because I was curious and you might be also, here’s an example of a modern tractor interface:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/1.1088w.avif" alt="" width="800" height="637">
      </picture></figure>
<p>The story reminded me of <a href="https://www.404media.co/polish-hackers-repaired-trains-the-manufacturer-artificially-bricked-now-the-train-company-is-threatening-them" target="_blank">an ongoing battle in Poland</a> where a train manufacturer Newag used VIN locking and coupled it with GPS hardcoding in an even more brazen attempt to prevent third-party repair: if a train spent too much time at a location of another train repair company, it’d simply stop running – not by some hardware fault, but by a simple <code>if</code> condition in code.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/2.1088w.avif" alt="" width="552" height="419">
      </picture></figure>
<blockquote><p>“This is quite a peculiar part of the story—when SPS was unable to start the trains and almost gave up on their servicing, someone from the workshop typed “polscy hakerzy” (“Polish hackers”) into Google,” the team from Dragon Sector, made up of Jakub Stępniewicz, Sergiusz Bazański, and Michał Kowalczyk, told me in an email. “Dragon Sector popped up and soon after we received an email asking for help.”</p></blockquote>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/3.1088w.avif" alt="" width="800" height="599">
      </picture></figure>
<p>The (<a href="https://en.wikipedia.org/wiki/White_hat_(computer_security)" target="_blank">white-hat</a>) hackers helped unbrick the train, but since European law is stricter on DRM, the case gets murkier. The article above is from 2023, and contains this quote:</p>
<blockquote><p>Newag said that they will sue us, but we doubt they will - their defense line is really poor and they would have no chance defending it, they probably just want to sound scary in the media.</p></blockquote>
<p>However, in 2025, the manufacturer proceed to <a href="https://www.ifixit.com/News/112008/polish-train-maker-is-suing-the-hackers-who-exposed-its-anti-repair-tricks" target="_blank">sue the hacker group and the train repair company</a>. As far as I can tell, the case is still in courts.</p>
<p>The three hackers explained their work <a href="https://www.youtube.com/watch?v=XrlrbfGZo2k" target="_blank">in this 45-minute conference talk</a>. It’s honestly not the most polished presentation, but it goes into a lot of engrossing details and if the intersection of hacking and trains hardware interests you, check it out! I had fun looking double checking this presented code by punching in the lat/long coordinates into Google Maps and verifying they’re exactly the locations of competitive repair shops:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/deere-charges-six-figures-for-a-tractor-but-the-farmers-were-still-the-product/4.1088w.avif" alt="" width="800" height="168">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/conference-talk/">#conference talk</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a> <a href="https://unsung.aresluna.org/tags/piracy/">#piracy</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>Is this the latest?</title>
    <link href="https://unsung.aresluna.org/is-this-the-latest" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/is-this-the-latest</id>
    <published>2026-04-12T01:18:45.234Z</published>
    <updated>2026-04-12T01:18:45.234Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Found in an archive of font design (for Olivetti typewriters) and smiled:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/is-this-the-latest/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/is-this-the-latest/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/is-this-the-latest/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/is-this-the-latest/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/is-this-the-latest/1.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Handoff problems were there before us and will remain after we’re gone.</p>
<p>This, too:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/is-this-the-latest/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/is-this-the-latest/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/is-this-the-latest/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/is-this-the-latest/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/is-this-the-latest/2.1088w.avif" alt="" width="800" height="533">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/process/">#process</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>“So I wrote a script that takes monthly screenshots of Google and Apple Maps.”</title>
    <link href="https://unsung.aresluna.org/so-i-wrote-a-script-that-takes-monthly-screenshots-of-google-and-apple-maps" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/so-i-wrote-a-script-that-takes-monthly-screenshots-of-google-and-apple-maps</id>
    <published>2026-04-11T20:57:02.120Z</published>
    <updated>2026-04-11T20:57:02.120Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>From 2010 to 2021, Justin O’Beirne had been <a href="https://www.justinobeirne.com/essay/cartography-comparison" target="_blank">writing about online cartography</a>, specifically in Google Maps and Apple Maps.</p>
<p>While both of these services changed a lot since the essays, they are still worth reading. They might be the closest to modern reviews of software as I can think of, and the way the essays are done also teaches us storytelling lessons – from nice visualizations and comparisons, to rich footnotes. There is also a great balance of high-level overview, and then jumping into specifics that reinforce it.</p>
<p>Here’s one example of cool tooling O’Beirne used to make his points more sticky:</p>
<blockquote><p>I wrote a script that takes monthly screenshots of Google and Apple Maps. And thirteen months later, we now have a year’s worth of images:</p></blockquote>
<p>The result is informative and mesmerizing:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-wrote-a-script-that-takes-monthly-screenshots-of-google-and-apple-maps/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-wrote-a-script-that-takes-monthly-screenshots-of-google-and-apple-maps/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-wrote-a-script-that-takes-monthly-screenshots-of-google-and-apple-maps/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-wrote-a-script-that-takes-monthly-screenshots-of-google-and-apple-maps/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/so-i-wrote-a-script-that-takes-monthly-screenshots-of-google-and-apple-maps/1.1088w.avif" alt="" width="800" height="493">
      </picture></figure>
<p>Among the essays, I’d particularly recommend these:</p>
<ul class="long-list">
        <li>The back-and-forth of <a href="https://www.justinobeirne.com/google-maps-moat" target="_blank">Google Maps’s Moat</a> and <a href="https://www.justinobeirne.com/new-apple-maps" target="_blank">New Apple Maps</a>: Reverse engineering areas of interest, thinking of how the slow changes in visuals lead up to strategy, good visual comparison of competition, and small fascinating anecdotes of places like Parkfield, California. (And a great example of the old adage: don’t get into the business of predicting the future as this will age your writing the most.)</li>
      

        <li><a href="https://www.justinobeirne.com/a-year-of-google-maps-and-apple-maps" target="_blank">A Year Of Google Maps &amp; Apple Maps</a>: Evolution and redesign as ways to “increase capacity.”</li>
      

        <li><a href="https://www.justinobeirne.com/google-maps-label-readability" target="_blank">Google Maps &amp; Label Readability</a>: A fascinating discovery of “city donuts.”</li>
      

        <li><a href="https://www.justinobeirne.com/what-happened-to-google-maps" target="_blank">What Happens to Google Maps?</a> How cross-device compatibility can mess up maps.</li>
      </ul>
<p>There are also <a href="https://www.justinobeirne.com/cartography-reading-list" target="_blank">book recommendations</a> and a <a href="https://www.justinobeirne.com/fire-roads" target="_blank">memorable user story</a>.</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/colors/">#colors</a> <a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/toolmaking/">#toolmaking</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>Only time will tell</title>
    <link href="https://unsung.aresluna.org/only-time-will-tell" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/only-time-will-tell</id>
    <published>2026-04-11T12:00:01.342Z</published>
    <updated>2026-04-11T12:00:01.342Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Why is there a short wait if you press a button on your headphone remote or your AirPods to pause the music? Because the interface has to let a bit of time pass to figure out if you’re going to press the button again, making it a double press (advance to next track) instead of a single press.</p>
<p>This kind of disambiguation delay is everywhere for simple gestures.</p>
<p>Why is there a short wait if you press a button twice in that situation? The double press processing <em>also</em> has to be delayed, because there is a chance it might become a triple press (go to previous track).</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/only-time-will-tell/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/only-time-will-tell/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/only-time-will-tell/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/only-time-will-tell/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/only-time-will-tell/1.1088w.avif" alt="" width="800" height="419">
      </picture></figure>
<p>Why is there a short wait if you press a button to go to the next track on your car’s steering wheel? It’s a delay of a different kind, but the same principle: the function cannot kick in on press down, because press down and hold mean “fast forward.” So, software has to wait for button up event to go to the next track (which feels a bit slower than button down), or for enough time to pass so we’re certain it’s a button-down hold rather than a slow press. Here, both interactions experience a penalty for coexisting.</p>
<p>The most infamous of those disambiguation delays exists in mobile browsers. Since every double tap can zoom into the page ever since that <a href="https://youtu.be/2MlSJLPxGYs?si=v_xjob94VpQYe7y9&amp;t=2483" target="_blank">famous 2007 iPhone presentation</a>, every single tap on a link or elsewhere has to be delayed by about 300ms. This has been a source of contention since it does make the web feel a bit slower, and today browsers <a href="https://developer.chrome.com/blog/300ms-tap-delay-gone-away" target="_blank">suspend double tapping</a> on sites designed for mobile, trading zooming affordances for higher interaction speed – after all, you can still zoom in by pinching. But if you always wondered why older websites tend to be a bit sluggish to interact with, now you know.</p>
<p>Different tradeoffs are possible. In the Finder, clicking on icons isn’t slowed down even though double clicking exists, because selecting an icon is compatible with opening it! So in effect it’s not a choice between a faster A and a slower B – it’s A or A+B.</p>
<p>Even in the iPhone presentation above, you can see the interface <em>highlights</em> the link on double tap, to at least make it feel snappier, at the expense of the highlight being “wrong” and potentially distracting – or even confusing – when you end up double tapping. (You can imagine smartphones pausing on the first remote/&#8203;headset button press, too. It feels like it would be compatible with advancing to the next track, but I think it might also feel too “choppy,” too chaotic, in practice.)</p>
<p>Lastly, why is there a short wait if you press a button on your hotel TV to increase the volume? Oh, I think that one is just sluggish for no good reason.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/finder/">#finder</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/performance/">#performance</a></p>]]></content>
  </entry>
  <entry>
    <title>“Approximately 21 times the estimated age of the universe”</title>
    <link href="https://unsung.aresluna.org/approximately-21-times-the-estimated-age-of-the-universe" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/approximately-21-times-the-estimated-age-of-the-universe</id>
    <published>2026-04-11T01:37:59.732Z</published>
    <updated>2026-04-11T01:37:59.732Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A few years ago, some sort of a bug at my work caused all of the timestamps appear as “54 years ago,” a seemingly arbitrary date. It took me a bit to realize: “Wait, you know what year was 54 years ago? 1970!” “Why is 1970 important?” asked another designer. I explained that by convention, Linux time <a href="https://en.wikipedia.org/wiki/Unix_time" target="_blank">counts up from Jan 1, 1970</a> – and so if the time “value” is zero or unavailable, as it was because of the bug, it would be rendered not as an error, but as that specific day long ago.</p>
<p>Computing is filled with all sorts of arbitrary numbers like these. The most famous one was Y2K (99 + 1 = 00 if you only allocate two digits), <a href="https://unsung.aresluna.org/stuck-on-level-256-forever/">Pac-Man’s kill screen</a> was number 256, people still bring up the infamous and likely non-existent “<a href="https://quoteinvestigator.com/2011/09/08/640k-enough/" target="_blank">640 kilobytes should be enough for everybody</a>” quote, and the Deep Impact space probe <a href="https://en.wikipedia.org/wiki/Deep_Impact_(spacecraft)#Contact_lost_and_end_of_mission" target="_blank">died a lonely and undignified death</a> after its timers overflowed the two pairs of bytes given to them.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/approximately-21-times-the-estimated-age-of-the-universe/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/approximately-21-times-the-estimated-age-of-the-universe/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/approximately-21-times-the-estimated-age-of-the-universe/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/approximately-21-times-the-estimated-age-of-the-universe/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/approximately-21-times-the-estimated-age-of-the-universe/1.1088w.avif" alt="" width="800" height="529">
      </picture></figure>
<p>Here’s a new magic number to remember: macOS Tahoe has, for a while at least, <a href="https://www.tomshardware.com/software/macos/macos-has-a-49-7-day-networking-time-bomb-built-in-that-only-a-reboot-fixes-comparison-operation-on-unreliable-time-value-stops-machines-dead-in-their-tracks" target="_blank">a kill screen of its own</a> – after 49 days, 17 hours, 2 minutes, and 47 seconds (or, 4,294,967,295 milliseconds), one of its time counters overflows and no new network connections can be made, rendering the machine rather useless. The only solution is a reboot. Talk about a <em>dead</em>line! </p>
<p>(Well, new-ish. In perhaps a <a href="https://michaelhans.com/eclecticism/2004/06/28/apple-tiger-banners-at-wwdc/" target="_blank">bit of karmic payback</a>, <a href="https://web.archive.org/web/19990508050925/http://support.microsoft.com/support/kb/articles/q216/6/41.asp" target="_blank">Windows 95 and 98 once had a similar problem</a> with the exact same threshold of 49.7 days.)</p>
<p>Wikipedia has a nice list of other <a href="https://en.wikipedia.org/wiki/Time_formatting_and_storage_bugs" target="_blank">time storage bugs</a>. The next big one? The problem of the <a href="https://en.wikipedia.org/wiki/Year_2038_problem" target="_blank">year 2038</a>. The technical fix, as always, is to give the numbers a bit more room to breathe. This is, in a way, kicking the can down the road, but that might be okay since the road is rather long:</p>
<blockquote><p>Modern systems and software updates address this problem by using signed 64-bit integers, which will take 292 billion years to overflow—approximately 21 times the estimated age of the universe.</p></blockquote>
<p>However, as always, the technical side <a href="https://unsung.aresluna.org/we-made-it-be-ok-by-being-bored-and-fixing-stuff/">won’t be the hard part</a>.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a></p>]]></content>
  </entry>
  <entry>
    <title>“We’re trying to copy this old machine, weirdness and all.”</title>
    <link href="https://unsung.aresluna.org/were-trying-to-copy-this-old-machine-weirdness-and-all" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/were-trying-to-copy-this-old-machine-weirdness-and-all</id>
    <published>2026-04-09T23:32:48.927Z</published>
    <updated>2026-04-09T23:32:48.927Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I’ve loved <a href="https://www.youtube.com/@ChrisStaecker" target="_blank">Chris Staecker’s videos</a> about calculating devices and machinery for years now, and I finally have a reason to link to one here. This is a fascinating <a href="https://www.youtube.com/watch?v=XUknTGEt3mU" target="_blank">12-minute review of The Kensington Adding Machine from 1993</a>:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=XUknTGEt3mU" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>It’s a fun (as always) watch, but as a UX designer, it’s also interesting to try to figure out what are the underpinnings of the things Staecker lists as strange from today’s perspective. </p>
<p>I believe that “CE/T” (clearing and totaling) coexisting on one key is a nod to professional accounting use of adding machines where you wouldn’t want to accidentally enter something into the record <em>twice</em> – so totaling also automatically resets the value and prevents you from making a mistake.</p>
<p>I also believe the strange [+=] rule is only because the keypad has to look forward at the same time it is looking back: it needs to serve as a universal computer keypad where [+] and [=] are separate key, but it also needs to pretend to be an adding machine where one key served both purposes.</p>
<p>(You can spot that the back of the box just allows you to swap the [+] key to be something else.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/1.1088w.avif" alt="" width="800" height="441">
      </picture></figure>
<p>Overall, the video is a fascinating tale of an “<a href="https://newsletter.shifthappens.site/archive/a-love-letter-to-the-in-betweeners/" target="_blank">in-betweener</a>” product that was stuck not just in the middle of a transition from physical devices into apps, but also at the intersection of calculators and adding machines (once two very different lines of products), themselves trying to learn from each other. It also serves as a great reminder that <a href="https://newsletter.shifthappens.site/archive/a-tale-of-three-skeuomorphs/" target="_blank">skeuomorphism</a> is not just about visuals and sounds, but also behaviours: tearing off the tape, details of specific keys, nuances of rounding.</p>
<p>It’s not a thing of the past, either. In my <a href="https://unsung.aresluna.org/deterministic-vs-idempotent/">post about determinism</a> I linked to Apple’s recent travails with the deterministic Clear button (part <a href="https://www.reddit.com/r/iphone/comments/1am0ppp/where_even_is_the_backspace_on_the_iphone/" target="_blank">one</a>, <a href="https://www.reddit.com/r/iphone/comments/1h68o65/apple_finally_gets_backspace_button_in_calculator/" target="_blank">two</a>, and <a href="https://9to5mac.com/2025/08/12/ios-26-iphone-calculator-clear-button/" target="_blank">three</a>). A few years ago, Apple also changed the built-in iPhone calculator from its “desktop calculator” roots to a more modern model where you get to input the entire equation before you see the result. But that change had bigger consequences; for example the [=] key could no longer repeat an addition. People complained, and Apple added it back – but the change feels incompatible with the new system and potentially confusing:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/2-framed-thumbnail.avif" width="363" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/2-framed.1600w.webm"></video></figure>

<figure>
        <video poster="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/3-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/3-framed.1600w.webm"></video></figure>
<p>Elsewhere, the entire iPhone is an in-betweener, as the keypad coming from calculators is incompatible with the keypad coming from phones. </p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/4-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/4-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/4-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/4-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/5-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/5-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/5-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/were-trying-to-copy-this-old-machine-weirdness-and-all/5-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>At this point it seems the calculator keypad will win, but transition has been over a century in the making. Staecker’s video is a good reminder how important, but also hard it is when you try to make these transitions happen faster.</p><p><a href="https://unsung.aresluna.org/tags/change-management/">#change management</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/skeuomorphism/">#skeuomorphism</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Software is a unique art because it is so reactive.”</title>
    <link href="https://unsung.aresluna.org/software-is-a-unique-art-because-it-is-so-reactive" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/software-is-a-unique-art-because-it-is-so-reactive</id>
    <published>2026-04-09T23:24:09.396Z</published>
    <updated>2026-04-09T23:24:09.396Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://medium.com/message/the-great-works-of-software-705b87339971" target="_blank">Paul Ford in 2014</a>:</p>
<blockquote><p>As far as I can tell, no truly huge world-shifting software product has ever existed in only one version (even <a href="http://en.wikipedia.org/wiki/Flappy_Bird" target="_blank">Flappy Bird</a> had updates). Just about every global software product of longevity grows, changes, adapts, and reacts to other software over time.</p>
<p>So I set myself the task of picking five great works of software. The criteria were simple: How long had it been around? Did people directly interact with it every day? Did people use it to do something meaningful? </p>
<p>I came up with: </p>
<ul>
        <li>the office suite Microsoft Office, </li>
        <li>the image editor Photoshop, </li>
        <li>the videogame Pac-Man, </li>
        <li>the operating system Unix, </li>
        <li>and the text editor Emacs.</li>
      </ul></blockquote>
<p>Ford’s criteria felt more interesting than those of the other similar lists:</p>
<blockquote><p>I propose a different kind of software canon: Not about specific moments in time, or about a specific product, but rather about works of technology that transcend the upgrade cycle, adapting to changing rhythms and new ideas, often over decades.</p></blockquote>
<p>This – about Unix – also caught my attention:</p>
<blockquote><p>There’s a sad tendency in most manuals and programming guides to congratulate people simply for thinking. Not here; you’re expected to think. That can be very exciting when you’re used to being patronized, and it’s one of the best things about Unix.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>Blink comparators in photo editing apps</title>
    <link href="https://unsung.aresluna.org/blink-comparators-in-photo-editing-apps" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/blink-comparators-in-photo-editing-apps</id>
    <published>2026-04-08T22:09:21.337Z</published>
    <updated>2026-04-08T22:09:21.337Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>One of the readers (thank you, Peter!) reminded me that there is a version of a <a href="https://unsung.aresluna.org/it-moved-too-slowly-to-be-an-asteroid/">blink comparator</a> that all of us are exposed to perhaps every day: many photo editing apps – Apple Photos, Darkroom, Aphera, I imagine others – allow you to quickly compare the photo as-shot and with your edits. Sometimes it’s a tap, sometimes an onscreen button, and in the case of Lightroom it is a backslash key. Here’s that feature on a color graded photo with some dust removed:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/blink-comparators-in-photo-editing-apps/1-thumbnail.avif" width="800" height="532" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/blink-comparators-in-photo-editing-apps/1.1600w.mp4"></video></figure>
<p>But these blink comparators are smart. If you e.g. rotate the photo, the comparison will be with the original <em>also rotated</em> so the pixels still map to each other 1:1 – even if you rotated the photo as the last step in your editing process:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/blink-comparators-in-photo-editing-apps/2-thumbnail.avif" width="800" height="532" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/blink-comparators-in-photo-editing-apps/2.1600w.mp4"></video></figure>
<p>I think this is a brilliant example of understanding the spirit of a feature rather than its letter. A naïve blink comparator would show an unrotated photo, but in this way it would cease being a blink comparator.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a></p>]]></content>
  </entry>
  <entry>
    <title>“Prototyping turned into an excuse for not thinking”</title>
    <link href="https://unsung.aresluna.org/prototyping-turned-into-an-excuse-for-not-thinking" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/prototyping-turned-into-an-excuse-for-not-thinking</id>
    <published>2026-04-07T01:37:11.564Z</published>
    <updated>2026-04-07T01:37:11.564Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The 2016 launch of No Man’s Sky and the 2020 launch of Cyberpunk 2077 were catastrophes. No Man’s Sky fell so incredibly short of the <a href="https://www.theguardian.com/technology/2016/sep/05/no-mans-sky-perils-infinite-promise-sean-murray-hello-games" target="_blank">promises</a> the founder shared over the years – from smaller ones like rivers on the surface of planets, to huge ones like <em>seeing other players</em> – that some people felt it must have been a scam all along.</p>
<p>The other game was a simpler case study: Cyberpunk was buggy as hell. Not just the abysmal performance, but also the overall quality. People called it “the Hindenburg of videogames” and made <a href="https://www.youtube.com/watch?v=4neUj6IgclQ" target="_blank">YouTube compilations</a> and <a href="https://gamerant.com/cyberpunk-2077-most-common-bugs/" target="_blank">listicles</a> of its often hilarious bugs: cars exploding for no reason with perfect comedic timing, intimate body parts protruding through the clothes, and the infamous T poses.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/1.1088w.avif" alt="" width="800" height="420">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/2.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/prototyping-turned-into-an-excuse-for-not-thinking/3.1088w.avif" alt="" width="800" height="405">
      </picture></figure>
<p>In an unprecedented move, Microsoft slapped a big warning atop Cyberpunk’s app store listing, and Sony pulled it from their store altogether.</p>
<p>But it is 2026 now, and both games redeemed themselves. For years after the launch, the No Man’s Sky team <a href="https://www.kitguru.net/gaming/mustafa-mahmoud/kitguru-games-the-redemption-of-no-mans-sky-is-incomparable/" target="_blank">worked hard on adding promised features</a>: </p>
<blockquote><p>Over a decade on from its initial reveal, No Man’s Sky both manages to remain the same game it was at launch while also bringing almost every single missing feature (and dozens of new surprise ones) into the title – implementing them intelligently and with great consideration for how it will affect the core of the game. They achieved their redemption years ago, yet continue diligently with massive update after massive update.</p>
<p>No other title has done what Hello Games have managed to achieve. And the best part? Every single update, patch and addition to the game was and is 100% free, with no falsified hype or build-up to each update.</p></blockquote>
<p>Cyberpunk 2077 had a redemptive arc of its own, too, highlighted and <a href="https://www.youtube.com/watch?v=qLd2nw0mlpI" target="_blank">contextualized in this 17-minute video from gameranx</a>. Today, both games are rated “very positive” on Steam, and are actually still gaining daily players.</p>
<p>So, wonderful comeback stories, right? Depends on how you look at it. It’s great that both these games ended up being good products, but perhaps not as great that it was all happening in the open.</p>
<p>The videogame industry tried to get creative about it and established an idea of “early access”: being able to purchase an incomplete game earlier, and watch it get better while the publisher receives funding to keep going. But for every Minecraft there is <a href="https://en.wikipedia.org/wiki/Godus" target="_blank">Godus</a>, and for every Kerbal Space Program there is <a href="https://en.wikipedia.org/wiki/The_Day_Before" target="_blank">The Day Before</a>. Plus, neither No Man’s Sky nor Cyberpunk launched in early access with attendant caveats and discounts. (By the way, <a href="https://en.wikipedia.org/wiki/Early_access" target="_blank">Wikipedia’s entry for early access</a> is worth checking out – it’s so eloquent I’m surprised not to see any warning boxes.)</p>
<p>There seems to be ongoing and perhaps rising frustration with companies releasing software products too early and fixing them in flight, if at all. Already in 1996, Geoff Duncan <a href="https://tidbits.com/1996/05/13/waiting-with-betad-breath/" target="_blank">wrote about his annoyances with that</a>: </p>
<blockquote><p>What Beta Means Now: […] In many cases – particularly with Mac Internet software – “beta” doesn’t mean anything close to what it used to. We’ve seen programs in public beta that not only contain innumerable known bugs the developers are aware of and plan to fix, but also accumulate major new features through subsequent releases. Similarly, we’ve seen products that change fundamental system and technology requirements during beta – details which should have been etched in stone long before. Beta often means what “alpha” or even “development build” used to mean.</p></blockquote>
<p>Subsequently, Google and other web-first companies diluted the meaning of beta labels even more.</p>
<p>The trend of premature launches extended to devices, too. About two years ago, AI assistant gizmos from Humane and Rabbit were pilloried by audiences for launching in an effectively unfinished form. Both devices failed in the market; MKBHD’s video reviews of <a href="https://www.youtube.com/watch?v=TitZV6k8zfA" target="_blank">Humane AI Pin</a> and <a href="https://www.youtube.com/watch?v=ddTV12hErTc" target="_blank">Rabbit R1</a> remain both entertaining and informative watches.</p>
<p>AI complicates this even further in many ways. I enjoyed <a href="https://productpicnic.beehiiv.com/p/grammarly-shows-how-prototyping-turned-into-an-excuse-for-not-thinking" target="_blank">Pavel Samsonov’s recent post on his blog Product Picnic</a> analyzing another disastrous launch: Grammarly’s writing advice feature that replicated well-known authors <a href="https://www.platformer.news/grammarly-expert-review-reviewed/" target="_blank">who never agreed for their likenesses to be used this way</a>:</p>
<blockquote><p>Reading between the lines, Mehotra’s interview paints a picture that I think many tech workers will find familiar: features are conceived, coded, and shipped as quickly as possible. He is happy to admit that the feature was a mistake… in retrospect. But in the moment it actually mattered, critical thinking was swept away by the false urgency of pushing things out.</p></blockquote>
<p>It is worth reading in full and following the links, too; I watched the <a href="https://www.youtube.com/watch?v=Y5eC5wdQPZs" target="_blank">mentioned (tense) interview</a>, and was similarly frustrated with the CEO’s lack of accountability or even a hint of an explanation of why the feature was launched to begin with. Key line from Samsonov’s post:</p>
<blockquote><p>If you don’t know what are you trying to learn when you ship a prototype, do not ship a prototype.</p></blockquote>
<p>This becomes even more important as the difference between a prototype and a final product is now thinner than a retina pixel. Both No Man’s Sky and Cyberpunk had, at least, well thought through foundations.</p>
<p>I understand that for some people gen AI software building tools is a discovery – perhaps for the first time – of a genuine <em>joy of creation. </em>But there’s also the other, newish side, a sort of “cult of velocity” where people show screens filled with agents coding things as if the world needed every possible app right this second. </p>
<p>Velocity and urgency can be important, but it’s hard to be careful and thoughtful when you’re going really fast; unsurprisingly, some don’t know what to do with that newfound AI-powered speed or realize the importance of thinking about crucial aspects other than time to market. (When digital cameras came around, the barrier to entry for photography was drastically lowered – it was possible to take a lot of photos without worrying about cost or quality. Tons of people took tons of objectively subpar photos; some were the end goal, some were a stepping stone toward more photographic mastery. However, I am not sure I remember people on either side ever bragging “I took over 1,200 photos today!”)</p>
<p>All this could be contrasted with movement of slow software (the name is part of a bigger <a href="https://en.wikipedia.org/wiki/Slow_movement_(culture)" target="_blank">slow movement</a> although has unfortunate connotations in tech – it’s slow as in “speech,” not slow as in “beer”). Jared White in 2023 <a href="https://codeberg.org/jaredwhite/slow-software" target="_blank">defined it as</a>:</p>
<blockquote><ul class="long-list">
        <li>Sustainable software. Architecting and writing code in ways which are easily understandable and maintainable over time, requiring few dependencies and a rate of change that is healthy for the underlying ecosystem.</li>
        <li>Thoughtful software. Working through feature development and making decisions based on what will benefit the userbase over the long term, placing mental and social health as priority over immediate gains or selfish interests.</li>
        <li>Careful software. Seeking to understand the ways software might be used for harm, or itself be harmful by taking attention away from more important concerns in the broader culture.</li>
        <li>Humanist software. Recognizing that most software—at least in application development—is primarily written for humans to understand and reason about with ease across a wide array of skill levels, and that relying on complex code generators or “generative AI” tooling to resolve complexity instead of simply building simpler human-scale tools is an industry dead-end.</li>
        <li>Open software. Looking to established collaborative software movements like open source and the standards bodies responsible for open protocols to inspire how we build and maintain software (regardless of licensing).</li>
      </ul></blockquote>
<p>I don’t really have a conclusion for this meandering post, as I am not sure a snappy conclusion is possible. Perhaps some of the links above can provide inspiration or food for thought about urgency, reputation, and doing things in the open. </p>
<p>Some patterns I’m noticing are:</p>
<ul>
        <li>Velocity is never an end goal.</li>
        <li>Velocity is only one of many ingredients of software building.</li>
        <li>It is necessary to think of people who will experience your work-in-progress as it is, not as it might one day be.</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/ai/">#ai</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>“Every step they take, in every single direction, is right on top of a rake.”</title>
    <link href="https://unsung.aresluna.org/every-step-they-take-in-every-single-direction-is-right-on-top-of-a-rake" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/every-step-they-take-in-every-single-direction-is-right-on-top-of-a-rake</id>
    <published>2026-04-06T17:24:30.434Z</published>
    <updated>2026-04-06T17:24:30.434Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Just like <a href="https://unsung.aresluna.org/less-of-a-pitch-more-of-a-prediction/">the video I shared last week</a>, this <a href="https://www.youtube.com/watch?v=aWRzvOiqc-s" target="_blank">20-minute video by Mariana Colín at The Morbid Zoo</a> is sharper than most, and also extremely entertaining:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=aWRzvOiqc-s" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/every-step-they-take-in-every-single-direction-is-right-on-top-of-a-rake/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/every-step-they-take-in-every-single-direction-is-right-on-top-of-a-rake/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/every-step-they-take-in-every-single-direction-is-right-on-top-of-a-rake/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/every-step-they-take-in-every-single-direction-is-right-on-top-of-a-rake/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/every-step-they-take-in-every-single-direction-is-right-on-top-of-a-rake/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>Colín is not “in tech,” and the video is of “the king is naked” variety which is very, very refreshing. </p>
<p>Among many good observations, this caught my attention as relating to this blog’s topic:</p>
<blockquote><p>It’s a little weird to have this almost adversarial relationship with your customer base. They’re not trying to solve a problem customers have. They’re trying to convince people that the product on offer is something more than it clearly is. </p>
<p>What VR is, is a fun parlor trick. What they want VR to be is literal reality. </p></blockquote>
<p>It does indeed feel Meta’s version of VR/metaverse has always been cargo-culting real world in a particularly awkward fashion, which Colín analyzes deeper.</p>
<p>Too many quotable laugh-out-loud moments, so maybe just this one more:</p>
<blockquote><p>Down here in the real world, there are really only two things a media technology can be. It can be a solution to a specific discrete informational problem, or it can be an artistic medium. These two things are not mutually exclusive. There is crossover here – like, radio was a military tool before radio plays were ever a thing.</p>
<p>But by the former, I mean you’re literally just making information go faster. You’re reducing the amount of noise between a message and its receiver. Any kind of metaverse is going to be really, really bad at this because you don’t need to look at a weird Pixar version of your coworker in order for them to convey what a deadline is.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/research/">#research</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Subtle line between animations that help and animations that hurt”</title>
    <link href="https://unsung.aresluna.org/subtle-line-between-animations-that-help-and-animations-that-hurt" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/subtle-line-between-animations-that-help-and-animations-that-hurt</id>
    <published>2026-04-06T17:24:30.434Z</published>
    <updated>2026-04-06T17:24:30.434Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In late 2023, designer Anthony Hobday published a small list of <a href="https://anthonyhobday.com/blog/20230925" target="_blank">20 interface quality of life improvements</a>, and recently Hobday and Katie Langerman chatted about it <a href="https://podcasts.apple.com/us/podcast/77-making-an-interface-feel-premium/id1671376839?i=1000759396175" target="_blank">on an episode of their podcast Complementary</a>.</p>
<p>It’s a fun listen (perhaps if you skip a bit of a bummer 9-minute beginning), covering four listed things in more details:</p>
<ul>
        <li>generous mouse paths (especially in menus)</li>
        <li>coyote time for modifier keys</li>
        <li>optical alignments</li>
        <li>tooltip timing details</li>
      </ul>
<p>There were a few interesting things that caught my attention:</p>
<ul class="long-list">
        <li>Figma does have “coyote time” in the very interaction the hosts are talking about, perhaps showcasing that the details <em>of the details</em> can make or break them.</li>
        <li>“Should modifier keys be reversible” and “should modifier keys be consistent with one another” are interesting challenges; some more recent graphic tools have changed the long-standing behaviour here, malking modifier keys more “sticky.”</li>
        <li>Wholeheartedly agree with how frustrating it feels that the menu interactions are not yet baked into browsers as primitives. “The fact that the companies keep having to implement it themselves manually is maddening.” It is.</li>
        <li>Good observation that some people associate animations with “feeling premium” (see also: the quote I put in the title).</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/podcast/">#podcast</a></p>]]></content>
  </entry>
  <entry>
    <title>Why do Macs ask you to press random keys when connecting a new keyboard?</title>
    <link href="https://unsung.aresluna.org/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard</id>
    <published>2026-04-05T20:53:44.426Z</published>
    <updated>2026-04-05T20:53:44.426Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>You might have seen this, one of the strangest and most primitive experiences in macOS, where you’re asked to press keys next to left Shift and right Shift, whatever they might be. </p>
<p>Perhaps I can explain.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/1.1088w.avif" alt="" width="800" height="647">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/2.1088w.avif" alt="" width="800" height="647">
      </picture></figure>
<p>There are three main international keyboard layout variants in common use: American (ANSI, with a horizontal Enter), European (ISO, with a vertical Enter), and Japanese (JIS, with a square-ish Enter).</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/3.1088w.avif" alt="" width="576" height="700">
      </picture></figure>
<p>The shape of Enter and the shuffling of the surrounding keys is not the only difference. It’s also that the European layout has historically always had one more key – shoved in between Shift and Z – and the Japanese layout a few more.</p>
<p>But the main challenge is that a keyboard doesn’t have a way to tell the host computer what are its exact keys and where they’re located.</p>
<p>So, pressing the thing next to the left Shift can help Apple understand whether the keyboard is American or Japanese (always Z) or European (something else, but never Z). And pressing the thing next to the right Shift differentiates JIS (where it’s the _ key) from another keyboard (always /).</p>
<p>What I called “primitive” just above is actually clever in its approach. The legend of the key next to left Shift varies per locale (<a href="https://www.apple.com/shop/product/mxck3b/a/magic-keyboard-with-touch-id-for-mac-models-with-apple-silicon-usb-c-british-english" target="_blank">you can compare here</a>), so the system can’t just tell you to press the &lt; &gt; key – and besides, asking the user to find a key that might not exist is a lot more stressful. And, identifying the keyboard by choosing a layout visually wouldn’t work either, since there are a million of layout variations – imagine having a split or a compact keyboard!</p>
<p>But it still is primitive, because it will still open up even if the keyboard you connect isn’t really a typing keyboard…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/4.1088w.avif" alt="" width="800" height="523">
      </picture></figure>
<p>…or even if it doesn’t have any keys at all. (Some peripherals like credit card readers and two-factor dongles identify as keyboards as they transfer information by sending keystrokes.)</p>
<p>But: Why does it matter? What happens if you select the wrong layout or ignore the dialog?</p>
<p>If you mix up America and Europe, the difference should be largely cosmetic. After all, you still have to choose the keyboard <em>language</em>. People in, say, Germany will likely choose the appropriate locale, and the keys will do the right thing. However, also selecting the correct <em>physical</em> layout will properly display it in a few places, which can be helpful:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/5.1088w.avif" alt="" width="592" height="206">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/6.1088w.avif" alt="" width="592" height="208">
      </picture></figure>
<p>Japanese keyboards are more interesting, because they still have an English “mode” and the legends on a lot of the keys in that mode are different than on those on American and European keyboards – yet, the keys when pressed appear exactly the same (have the same “scan codes”) to the connected computer:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/7.1088w.avif" alt="" width="800" height="329">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/8.1088w.avif" alt="" width="800" height="333">
      </picture></figure>
<p>So knowing whether the keyboard is “US in the US” or “US in Japan” is important not just to place keys in the right position visually in a few places in macOS, but also for those keys to output what they actually show:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/9.1088w.avif" alt="" width="592" height="206">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/10.1088w.avif" alt="" width="592" height="208">
      </picture></figure>
<p>By the way, Apple’s own keyboards do not pop up this dialog. This is because while a keyboard can not do much when connected, it can at least send a vendor and model identification numbers, and Apple knows which of its keyboards sport what physical layout.</p>
<p>Why doesn’t macOS do that for third-party keyboards? They might, for some well-behaving ones; I don’t actually know. Unfortunately, the vendor/&#8203;model identification is a wild west and a lot of the keyboards I have identify simply as “unknown,” so building up an all-encompassing keyboard layout database is not really possible.</p>
<p>Either way, I mostly wanted to share why the dialog exists. Mind you, I don’t <em>love</em> it in that its language could be better and at one point it breaks a cardinal rule of reorienting options, which makes it hard to remember “oh yeah, it was the first scary setting that worked before.”</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/11.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/11.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/11.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/11.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/11.1088w.avif" alt="" width="800" height="647">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/12.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/12.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/12.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/12.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-macs-ask-you-to-press-random-keys-when-connecting-a-new-keyboard/12.1088w.avif" alt="" width="800" height="647">
      </picture></figure>
<p>But overall, I thought it is a clever solution to a surprisingly hard problem. Sometimes primitive is better than nothing.</p><p><a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>“And if I were to end this story here, this would be a great story.”</title>
    <link href="https://unsung.aresluna.org/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story</id>
    <published>2026-04-05T14:33:27.322Z</published>
    <updated>2026-04-05T14:33:27.322Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://www.youtube.com/watch?v=HAjO9PfsBlI" target="_blank">21-minute video from Karl Jobst</a> about a 2025 videogame cheating scandal:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=HAjO9PfsBlI" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>In short: One of the professional teams in the FPS game <a href="https://en.wikipedia.org/wiki/Squad_(video_game)" target="_blank">Squad</a> built a sophisticated set of scripts that made it easier to use the game for esports tournaments by adding additional UI, useful stats, a floating camera, an extra over-the-shoulder view, and so on. The community embraced the scripts as they genuinely made the spectating much better.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/1.1088w.avif" alt="" width="800" height="453">
      </picture></figure>
<p>Months later, it turned out that the creators not only hardcoded easier rules for their own team, but even added a pretty comprehensive set of cheating keyboard shortcuts.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/and-if-i-were-to-end-this-story-here-this-would-be-a-great-story/2.1088w.avif" alt="" width="800" height="550">
      </picture></figure>
<p>The useful esports spectating scripts were, in effect, a trojan horse. A fascinating story, plus an interesting case of psychology of cheating.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“If you use your computer to do important work, you deserve fast software.”</title>
    <link href="https://unsung.aresluna.org/if-you-use-your-computer-to-do-important-work-you-deserve-fast-software" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/if-you-use-your-computer-to-do-important-work-you-deserve-fast-software</id>
    <published>2026-04-04T22:38:01.322Z</published>
    <updated>2026-04-04T22:38:01.322Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Two great posts about interaction latency on the hardware and software side. First is <a href="https://www.inkandswitch.com/slow-software/" target="_blank">from Ink &amp; Switch</a>:</p>
<blockquote><p>There is a deep stack of technology that makes a modern computer interface respond to a user’s requests. Even something as simple as pressing a key on a keyboard and having the corresponding character appear in a text input box traverses a lengthy, complex gauntlet of steps, from the scan rate of the keyboard, through the OS and framework processing layers, through the graphics card rendering and display refresh rate.</p>
<p>There is reason for this complexity, and yet we feel sad that computer users trying to be productive with these devices are so often left waiting, watching spinners, or even just with the slight but still perceptible sense that their devices simply can’t keep up with them.</p>
<p>We believe fast software empowers users and makes them more productive. We know today’s software often lets users down by being slow, and we want to do better. We hope this material is helpful for you as you work on your own software.</p></blockquote>
<p>I loved the slow-motion videos comparing what is normally impossible to notice:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/if-you-use-your-computer-to-do-important-work-you-deserve-fast-software/1-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/if-you-use-your-computer-to-do-important-work-you-deserve-fast-software/1.1600w.mp4"></video></figure>
<p>Dan Luu has a complementary post digging a bit more into <a href="https://danluu.com/input-lag/" target="_blank">computer hardware latency from the 1970s to now</a>:</p>
<blockquote><p>I’ve had this nagging feeling that the computers I use today feel slower than the computers I used as a kid. As a rule, I don’t trust this kind of feeling because human perception has been shown to be unreliable in empirical studies, so I carried around a high-speed camera and measured the response latency of devices I’ve run into in the past few months. </p></blockquote>
<p>I feel both of these essays are fantastic, and important to develop some sense of what are <em>specific</em> numeric thresholds separating fast and slow, also in the context of being able to have an informed conversation with a front-end engineer. (Luu subsequently links to even more articles in the “<a href="https://danluu.com/input-lag/#:~:text=Other%20posts%20on%20latency%20measurement" target="_blank">Other posts on latency measurement</a>” section, if you are curious.)</p>
<p>Otherwise, from my observation, the two most quoted laws of user-facing latency are still Jakob Nielsen’s response time limits, and the Doherty Threshold. But the <a href="https://www.nngroup.com/articles/response-times-3-important-limits/" target="_blank">Jakob Nielsen 100/1000/10000ms rule</a> is from 1993 and as far as I understand is concerned primarily with UX flows: reactions to clicking a button, responses to typing a command, and so on. And the<a href="https://lawsofux.com/doherty-threshold/" target="_blank"> Doherty Threshold</a> is even older. Both are simply not enough, especially not for things related to typing, multitouch, or mousing, where for a great experience you have to go way below 100ms, occasionally even down to <a href="https://wccftech.com/ipados-official-wwdc-2019-features-release-date-more/" target="_blank">single-digit milliseconds</a>.</p>
<p>(My internal yardstick is “10 for touch, 30 for mousing, 50 for typing.” Milliseconds, of course.)</p>
<p>At the end of his essay, Luu writes:</p>
<blockquote><p>It’s not clear what force could cause a significant improvement in the default experience most users see.</p></blockquote>
<p>Perhaps one challenge is that these posts are dense and informative, but only appeal to people who care? Maybe latency eradication needs a PR strategy, with a few memorable rules and – perhaps arbitrary, but well-informed – numbers that come with some great names attached? I know in the context of web loading some of the metric names like FCP (First Contentful Paint) broke through at least to some extent, but those still feel more on the nerdy side. Even <a href="https://www.youtube.com/watch?v=rDOVYO5aMSg" target="_blank">Nielsen’s otherwise fun 2019 video about response time limits</a> didn’t stick the landing – why focus on slowing down an arbitrary label appearing above the glass when the <em>ping sound</em> was right there for the taking?!</p>
<p>I can’t help but dream of interaction speed’s “enshittification” moment.</p><p><a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a> <a href="https://unsung.aresluna.org/tags/performance/">#performance</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>“It moved too slowly to be an asteroid.”</title>
    <link href="https://unsung.aresluna.org/it-moved-too-slowly-to-be-an-asteroid" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/it-moved-too-slowly-to-be-an-asteroid</id>
    <published>2026-04-03T15:42:53.688Z</published>
    <updated>2026-04-03T15:42:53.688Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In the <a href="https://unsung.aresluna.org/linears-clever-internal-redesign-ui/">previous post</a>, I wrote:</p>
<blockquote><p>I understand that the best way to compare two things visually is to switch between them promptly in situ; our visual system is really good at spotting even small changes when aided this way.</p></blockquote>
<p>I thought it would be fun to talk about it briefly, because it gives me a chance to show you a really fun device:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/1.1088w.avif" alt="" width="800" height="605">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/2.1088w.avif" alt="" width="800" height="600">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/3.1088w.avif" alt="" width="800" height="672">
      </picture></figure>
<p>This is a <a href="https://en.wikipedia.org/wiki/Blink_comparator" target="_blank">blink comparator</a>, an apparatus built for astronomers to easily flip between two images of the night sky, taken at the exact same position some time apart.</p>
<p>It makes it easy to spot a moving asteroid, like in this set of two photos:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/4.1088w.avif" alt="" width="540" height="520">
      </picture></figure>
<p>Blink comparator was used in 1930 <a href="https://airandspace.si.edu/stories/editorial/finding-pluto-blink-comparator" target="_blank">to spot Pluto</a>:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/5.1088w.avif" alt="" width="700" height="700">
      </picture></figure>
<p>(Pluto is the blinking dot a bit to the top and to the right from to the center – that dot moves to the left in the other frame. The fact that it moved at all made it an object of interest, but it didn’t traverse the sky like an asteroid or space debris would.)</p>
<p>This is why the “spot 10 differences” puzzles are always shown side by side…</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/6.1088w.avif" alt="" width="800" height="264">
      </picture></figure>
<p>…otherwise everything would be much, much easier to spot:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/it-moved-too-slowly-to-be-an-asteroid/7.1088w.avif" alt="" width="800" height="534">
      </picture></figure>
<p>Today, this kind of stuff doesn’t require complex devices, but it’s useful to know the principle. </p>
<p>If you’re comparing a reference design with its implementation, instead of measuring things on both sides it can help to align them in two windows, and then switch between them using ⌘Tab.</p>
<p>If you’re working on an interface for users to see differences between two images – don’t (just) show them side by side, but also allow your users to flip between them this way. And, resist the very natural urge to add any transitions that would seem to be nicer and friendlier; it is sharply switching between images that is the most effective.</p><p><a href="https://unsung.aresluna.org/tags/hardware/">#hardware</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>Linear’s clever internal redesign UI</title>
    <link href="https://unsung.aresluna.org/linears-clever-internal-redesign-ui" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/linears-clever-internal-redesign-ui</id>
    <published>2026-04-03T14:57:46.968Z</published>
    <updated>2026-04-03T14:57:46.968Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I was impressed with this clever internal interface at Linear, shown <a href="https://linear.app/now/behind-the-latest-design-refresh" target="_blank">inside this larger blog post</a>:</p>
<blockquote><p>The dev toolbar exists directly inside the app and allows us to easily toggle feature flags on and off. When something didn’t look right in the refreshed UI, it took us just one click to compare it with the previous version. That made it easier to determine whether the refresh had broken something or whether it had behaved that way before. Having the updates live behind feature flags also meant that instead of developing the redesign in isolation and shipping all the changes at once, we could integrate incremental changes to the platform.</p></blockquote>

<figure>
        <video poster="https://unsung.aresluna.org/_media/linears-clever-internal-redesign-ui/1-thumbnail.avif" width="800" height="517" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/linears-clever-internal-redesign-ui/1.1600w.mp4"></video></figure>
<p>I also cut it out here so it’s easier to see:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/linears-clever-internal-redesign-ui/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/linears-clever-internal-redesign-ui/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/linears-clever-internal-redesign-ui/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/linears-clever-internal-redesign-ui/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/linears-clever-internal-redesign-ui/2.1088w.avif" alt="" width="724" height="93">
      </picture></figure>
<p>Here’s what I like about it:</p>
<ul class="long-list">
        <li>It’s a separate UI surface: Rather than being awkwardly integrated alongside production UI and adding jank to it, it is a clearly delineated toolbar you know users won’t ever see, allowing the rest of the interface to always feel like production.</li>
        <li>The feature flag toggling is easy: You don’t have to go anywhere else and possibly log in to toggle a flag, and you don’t have to wait for it to take effect. This will mean more people than just the core team members will be using it.</li>
        <li>Toggling this particular feature flag is as easy as clicking on a tile: I don’t know if anyone can promote others flags their care about to be easily toggle’able tiles, but I can imagine this really beneficial, too.</li>
        <li>The feature flag toggling is instantaneous without any visual jank: I understand that the best way to compare two things visually is to switch between them promptly in situ; our visual system is really good at spotting even small changes when aided this way.</li>
      </ul>
<p>Each one of the above bullet points is individually a small point of friction and easy to renege on, especially when it comes to internal-only interfaces. However, a combination of all of them results in great compounded interest, and I bet makes this interface effective – in addition to just feeling like fun to use. </p>
<p>Appreciate Linear sharing this internal detail; if you are using an interesting internal tool or UI that you are allowed to share, please consider it and let me know!</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/internal-ui/">#internal ui</a> <a href="https://unsung.aresluna.org/tags/process/">#process</a></p>]]></content>
  </entry>
  <entry>
    <title>“I’m hoping that the listeners out there, when they hear it, they’ll feel seen.”</title>
    <link href="https://unsung.aresluna.org/im-hoping-that-the-listeners-out-there-when-they-hear-it-theyll-feel-seen" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/im-hoping-that-the-listeners-out-there-when-they-hear-it-theyll-feel-seen</id>
    <published>2026-04-02T23:36:11.187Z</published>
    <updated>2026-04-02T23:36:11.187Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This 25-minute segment on MKBHD’s Waveform podcast (<a href="https://youtu.be/7tZ6F9aPxCU?si=IHqBKvLjO5eANS5h&amp;t=2421" target="_blank">video</a> or <a href="https://www.iheart.com/podcast/1319-waveform-the-mkbhd-podcas-70858951/episode/we-lovehate-these-apps-236173360?position=2421&amp;app=listen" target="_blank">audio</a>, segment starts at 40:21) is from November 2024, and is a nice counterpart to the post about <a href="https://unsung.aresluna.org/favourite-well-made-apps-and-sites/">favourite well-made apps and sites</a>.</p>
<figure>
        <a href="https://youtu.be/7tZ6F9aPxCU?si=IHqBKvLjO5eANS5h&amp;t=2421" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-hoping-that-the-listeners-out-there-when-they-hear-it-theyll-feel-seen/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-hoping-that-the-listeners-out-there-when-they-hear-it-theyll-feel-seen/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/im-hoping-that-the-listeners-out-there-when-they-hear-it-theyll-feel-seen/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/im-hoping-that-the-listeners-out-there-when-they-hear-it-theyll-feel-seen/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/im-hoping-that-the-listeners-out-there-when-they-hear-it-theyll-feel-seen/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The original theme is “what is an app that you use all the time, and like to use, but is actually a bad app?” but it quickly moves to a more general conversation about good and bad mobile apps. </p>
<p>It’s always interesting to me to see what themes emerge and what other people think is important. Here’s the list where I linked to relevant apps as long as I could find them:</p>
<p>Bad apps:</p>
<ul class="long-list">
        <li><a href="https://play.google.com/store/apps/details?id=com.google.android.apps.messaging&amp;hl=en_US" target="_blank">Google Messages</a> – dinged for unreliable spam and lack of organization/&#8203;filtering</li>
        <li><a href="https://www.notion.com/mobile" target="_blank">Notion</a> (on mobile) – hard to orient yourself and some direct manipulation is wonky</li>
        <li>many smart home accessory apps – bad and redundant with Google Home, but have to keep for emergencies</li>
        <li><a href="https://www.netgear.com/home/services/orbi-app/" target="_blank">Netgear Orbi</a> (network router) – specific functionality and bad password recovery</li>
        <li><a href="https://www.hatch.co/" target="_blank">Hatch</a> (white noise machine for babies) – simple things are hard to discover</li>
        <li><a href="https://play.google.com/store/apps/details/Nest?id=com.nest.android&amp;hl=en_US" target="_blank">Nest app</a>/Nest Yale Smart Lock – bad integration</li>
        <li><a href="https://play.google.com/store/apps/details?id=com.goodreads&amp;hl=en_US" target="_blank">Goodreads</a> – stale</li>
      </ul>
<p>Good apps:</p>
<ul class="long-list">
        <li><a href="https://butterflymx.com/" target="_blank">ButterflyMX</a> (smart building lock app) – reliable</li>
        <li><a href="https://play.google.com/store/apps/details?id=com.regasoftware.udisc&amp;hl=en_US" target="_blank">UDisc</a> (score keeper for disc golf) – good functionality, great in a free version</li>
        <li><a href="https://www.ferry.nyc/download-our-app/" target="_blank">New York City ferry</a></li>
        <li><a href="https://www.nyc.gov/site/finance/vehicles/nyc-pay-or-dispute.page" target="_blank">New York City ticket payment</a> – reliable and has many payment options</li>
        <li><a href="https://play.google.com/store/apps/details?id=net.sharewire.parkmobilev2" target="_blank">Greenwich, CT</a> and <a href="https://www.paybyphone.com/us-locations/san-francisco" target="_blank">San Francisco parking apps</a> – live activities</li>
        <li><a href="https://thestorygraph.com/" target="_blank">The StoryGraph</a> – cool graphs and stats about your book reading patterns</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/podcast/">#podcast</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>For your consideration: Tab to fix spelling</title>
    <link href="https://unsung.aresluna.org/for-your-consideration-tab-to-fix-spelling" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/for-your-consideration-tab-to-fix-spelling</id>
    <published>2026-04-02T18:14:35.668Z</published>
    <updated>2026-04-02T18:14:35.668Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A few years ago, I suggested adding a new interaction to Figma. If your text cursor was on a misspelled word (anywhere inside, or the edges), you could press Tab to quickly accept the suggested correction, without even seeing it:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/for-your-consideration-tab-to-fix-spelling/1-thumbnail.avif" width="525" height="526" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/for-your-consideration-tab-to-fix-spelling/1.1600w.mp4"></video></figure>
<p>Independently, Google Docs approached it from a slightly different angle, but landing on a similar interaction – in their version there’s a small visual callout, although you can still press Tab (and then Enter) to accept the suggestion:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/for-your-consideration-tab-to-fix-spelling/2-thumbnail.avif" width="525" height="526" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/for-your-consideration-tab-to-fix-spelling/2.1600w.mp4"></video></figure>
<p>I know the Tab key has a lot of jobs – from indenting bullet points to jumping through GUI elements – but in this context this new addition doesn’t seem to be in conflict.</p>
<p>(Should I write a long photoessay about the Tab key, similar to the ones I wrote for <a href="https://aresluna.org/the-day-return-became-enter/" target="_blank">Return/&#8203;Enter</a> and <a href="https://aresluna.org/fn/" target="_blank">Fn</a> keys?)</p>
<p>Since we added it, I’ve really loved how it <em>feels. </em>From various typeaheads and autocompletes elsewhere, Tab has a strong “forward movement” energy so it makes conceptual sense, and it’s just really fun to go around and quickly fix your writing this way.</p>
<p>I think a lot about how to make keyboard interactions feel superpower-y: a good keyboard shortcut on a large key, a tight interaction, a blink-of-an-eye velocity – something that’s eminently designed to lodge itself in your motor memory as quickly as possible, as it builds on top of prior motor memory. I’m biased, of course, but I like the “no scope” Figma version more, and it has that feeling to me.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/text-editing/">#text editing</a></p>]]></content>
  </entry>
  <entry>
    <title>Anachronisms</title>
    <link href="https://unsung.aresluna.org/anachronisms" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/anachronisms</id>
    <published>2026-04-01T05:00:10.451Z</published>
    <updated>2026-04-01T05:00:10.451Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure>
        <video poster="https://unsung.aresluna.org/_media/anachronisms/1-thumbnail.avif" width="800" height="600" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/anachronisms/1.1600w.mp4"></video></figure>
<figure>
        <video poster="https://unsung.aresluna.org/_media/anachronisms/2-thumbnail.avif" width="800" height="600" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/anachronisms/2.1600w.mp4"></video></figure>
<figure>
        <video poster="https://unsung.aresluna.org/_media/anachronisms/3-thumbnail.avif" width="800" height="600" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/anachronisms/3.1600w.mp4"></video></figure><p><a href="https://unsung.aresluna.org/tags/easter-eggs/">#easter eggs</a> <a href="https://unsung.aresluna.org/tags/humor/">#humor</a></p>]]></content>
  </entry>
  <entry>
    <title>Testing tip: Enable the zoom peek gesture</title>
    <link href="https://unsung.aresluna.org/testing-tip-enable-the-zoom-peek-gesture" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/testing-tip-enable-the-zoom-peek-gesture</id>
    <published>2026-04-01T01:09:27.208Z</published>
    <updated>2026-04-01T01:09:27.208Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Go to Settings &gt; Accessibility &gt; Zoom, and then turn on “Use scroll gesture with modifier keys to zoom.”</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/1.1088w.avif" alt="" width="744" height="700">
      </picture></figure>
<p>Then, at any moment, you can hold Control and swipe with two fingers (or use a scroll wheel) up or down to zoom the entire screen.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/2-thumbnail.avif" width="800" height="500" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/2.1600w.mp4"></video></figure>
<p>I’d also recommend turning off “Smooth images” under “Advanced…” so you see individual pixels better:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/3.1088w.avif" alt="" width="744" height="700">
      </picture></figure>
<p>Over the years, I found this feature very useful to inspect various misalignments, to check visual details, and occasionally simply to read text that’s too small.</p>
<p>Compared to other ways of zooming, this one has three benefits:</p>
<ul>
        <li>it’s extremely motor-memory friendly and so my fingers do it without me even thinking</li>
        <li>it’s a system-wide thing, so it will work everywhere</li>
        <li>it’s safe, because it’s something that I call a <em>peek gesture</em></li>
      </ul>
<p>Peek gestures are fast, but the main benefit is that they’re safe. In some apps, pressing ⌘+ a few times and then ⌘– the matching amount of times doesn’t guarantee you will end up back in the same situation. The window size might change, the scroll position might move, the cursor might end up in a different place. In contrast, the Ctrl gesture is 100% <a href="https://unsung.aresluna.org/deterministic-vs-idempotent/">deterministic</a> and reversible; it will always work the same and never mess anything up.</p>
<p>I treasure peek gestures in general. Here are a few other useful (and/or inspiring?) ones:</p>
<ul>
        <li>previewing things in Finder by pressing (or, for power users, <em>holding</em>) the spacebar</li>
      </ul>
<figure>
        <video poster="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/4-thumbnail.avif" width="800" height="490" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/4.1600w.mp4"></video></figure>
<ul>
        <li>using ⌘⇧4 with the intention not to take a screenshot, but just to (roughly) measure a distance between two objects, and then pressing Esc to abort</li>
      </ul>
<figure>
        <video poster="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/5-thumbnail.avif" width="800" height="430" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/5.1600w.mp4"></video></figure>
<ul>
        <li>in tools like Figma and Sketch, using Ctrl+C just to quickly verify the color, and pressing Esc to cancel (rather than clicking to put the color into the clipboard or apply it elsewhere)</li>
      </ul>
<figure>
        <video poster="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/6-thumbnail.avif" width="800" height="379" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/testing-tip-enable-the-zoom-peek-gesture/6.1600w.mp4"></video></figure>
<ul>
        <li>I also previously mentioned <a href="https://unsung.aresluna.org/a-more-eager-typeahead-in-chrome/">Chrome typeahead</a> and <a href="https://unsung.aresluna.org/not-a-mountain-but-not-a-molehill-either/">macOS menus</a> that had a similar property</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/tips/">#tips</a></p>]]></content>
  </entry>
  <entry>
    <title>Book review: Maintenance: Of Everything (Part One)</title>
    <link href="https://unsung.aresluna.org/book-review-maintenance-of-everything-part-one" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/book-review-maintenance-of-everything-part-one</id>
    <published>2026-03-31T20:06:35.331Z</published>
    <updated>2026-03-31T20:06:35.331Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>★★☆☆☆ </p>
<p><a href="https://press.stripe.com/maintenance-part-one" target="_blank">The new book by Stewart Brand</a> is tackling a subject that’s important to me. The introduction struck a chord:</p>
<blockquote><p>The apparent paradox is profound: Maintenance is absolutely necessary <em>and</em> maintenance is optional. It is easy to put off, yet it has to be done. Defer now, regret later. Neglect kills.</p>
<p>What to do? Here’s a suggestion: Soften the paradox, and the misbehavior it encourages, by expanding the term “maintenance” beyond referring only to <em>preventive</em> maintenance to stave off the trauma of repair—brushing the damn teeth, etc. Let “maintenance” mean the whole grand process of keeping a thing going.</p></blockquote>
<p>Ultimately, alas, the book doesn’t really expand on this suggestion. While the volume feels rich and dense in some ways – illustrations, extra commentary, highlights – its surface area ultimately appears to be rather shallow. Ironically, given the subject matter, it feels like Brand fell prey to a bunch of “sexy” stories, some of them only tangentially related to maintenance.</p>
<p>I will just say it: I wish the author was more woke. The book is very male-coded. The main chosen areas of investigation are: motorcycles! tanks! guns! wars! There are moments towards the end where Elon Musk and Bill Gates are talked about as if it was still 15 years ago and we haven’t actually learned anything since. (No word of Cybertruck, either.)</p>
<p>We know maintenance tends to be unrewarded and forgotten come promotion time. We know that tedious tasks are often assigned to women and people of color while white men go around doing “genius things.” It’s hard to imagine women not being present in a book about maintenance, and yet – and I wish I was joking – the only woman of any significance in the entire book is… The Statue Of Liberty.</p>
<p>That aside, before opening the book, I hoped it would provide me some vocabulary and evolved thinking about maintenance that I could put to use, and there are some moments where it almost approaches what I wanted from it. Here’s a passage:</p>
<blockquote><p>Powell credits the Israeli military with a mindset that naturally viewed damaged tanks as <em>soon-to-be-repaired tanks</em>, rather than the irredeemable flotsam of battle. The fact that [Israeli] commanders thought in these terms gave purpose and direction to the maintenance-related technical and tactical skill their crews possessed.</p></blockquote>
<p>This is fascinating. Tell me how? Tell me what was needed to make it happen? But, unfortunately, outside of some basic tenets of “give the rank and file more freedom to do things” and “embrace improvisation,” the book doesn’t seem to offer more. </p>
<p>Elsewhere, there is this quote:</p>
<blockquote><p>In almost every plant I worked at, QA was seen as a hindrance to hitting productivity metrics. We never got credit for a well-maintained manufacturing capability, but QA almost always got blamed when things went wrong.</p></blockquote>
<p>…which, again, felt like a fascinating thread to pull on. But instead of digging deeper, this is left hanging without investigation.</p>
<p>The book doesn’t really have a proper ending with synthesis of what came before, and generally meanders a lot – to a point that the table of contents has more “digressions” than actual subjects. It also feels occasionally rambling and occasionally showing off (name-dropping people like Kevin Kelly and Freeman Dyson, or quotes from “beta-tester” readers that mostly serve to paint Brand in a positive light), which takes away from otherwise brisk writing and at times truly excellent storytelling. (The first chapter in particular is fantastic.)</p>
<p>If you want an easy-to-read, breezy, well-typeset book filled with historical anecdotes, and the above caveats do not bother you, this might be a fun read! But I expected more from it.</p>
<p>The one place where the book shines is pointing people toward other books – there are pages that feel more like literature review (done really well!), and the end matter has bibliography and recommended reading with notes. So in that way, while disappointing in and of itself, it could also become an interesting starting off point for more research.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-maintenance-of-everything-part-one/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-maintenance-of-everything-part-one/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-maintenance-of-everything-part-one/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-maintenance-of-everything-part-one/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/book-review-maintenance-of-everything-part-one/1.1088w.avif" alt="" width="468" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/book/">#book</a> <a href="https://unsung.aresluna.org/tags/book-review/">#book review</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a> <a href="https://unsung.aresluna.org/tags/review/">#review</a></p>]]></content>
  </entry>
  <entry>
    <title>“Naïve, simple, not good enough.”</title>
    <link href="https://unsung.aresluna.org/naive-simple-not-good-enough" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/naive-simple-not-good-enough</id>
    <published>2026-03-30T16:18:44.671Z</published>
    <updated>2026-03-30T16:18:44.671Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This is a <a href="https://blog.florianschulz.info/2025/10/typeahead" target="_blank">thoughtful post from Florian Schulz</a> about designing a typeahead experience.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/naive-simple-not-good-enough/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/naive-simple-not-good-enough/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/naive-simple-not-good-enough/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/naive-simple-not-good-enough/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/naive-simple-not-good-enough/1.1088w.avif" alt="" width="700" height="345">
      </picture></figure>
<p>I liked the details both within the implementation – for example, making sure the kerning is preserved! – but also in the presentation. I particularly enjoyed Schulz making the component demo itself, rather than using prerecorded videos. (I was delighted to discover that even the first large “picture” of the component is actually interactive!)</p>
<p>A small comment to this bit:</p>
<blockquote><p>Unfortunately, not all browsers expose the selection or accent color of an operating system. For example, if a user would set the accent color in macOS to pink, the special CSS keyword color “Highlight” will still result in a light blue color in Safari. In other browsers like Chrome, the color will match the user preference. But since this is an attack vector for user tracking / fingerprinting, Apple made the right choice to hide the user preference from developers.</p></blockquote>
<p>From my understanding, this is not necessarily correct. For example, in theory, the purple visited link color can be used for <a href="https://en.wikipedia.org/wiki/Device_fingerprint" target="_blank">fingerprinting</a>, by building a profile of whether or not I visited one of the hundreds of popular websites, quietly in the background. </p>
<p>The way browsers solve this is to never expose the color programmatically back to JavaScript – if your code asks for a link color, it will be blue regardless of whether the link was visited or not. It seems to me that the <code>Highlight</code> color could be used the same way here. Given that CSS now supports things like <code>color-mix(in srgb, Highlight 20%, white)</code>, it would even allow a designer to riff on the color without ever knowing what it is.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/frontend/">#frontend</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/search/">#search</a></p>]]></content>
  </entry>
  <entry>
    <title>“There is no quality or historical significance standard.”</title>
    <link href="https://unsung.aresluna.org/there-is-no-quality-or-historical-significance-standard" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/there-is-no-quality-or-historical-significance-standard</id>
    <published>2026-03-30T13:57:10.158Z</published>
    <updated>2026-03-30T13:57:10.158Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://en.wikipedia.org/wiki/Multibowl" target="_blank">Multibowl</a> is one of my favourite emulation projects because it’s a rare example of using emulators creatively, rather than for nostalgia or research.</p>
<p>It’s a 2016 game by Bennett Foddy and AP Thompson that reimagines older existing games as smaller pieces of a new, Super Mario Party-like experience. Two players randomly join one of 300 games – sometimes in medias res – with a small explicit goal that can be accomplished in about ~30 seconds, after which a point is awarded, another game is loaded, and so on.</p>
<p>All of this is done through actual emulation and fast switching of games’s original code:</p>
<blockquote><p>Regarding the game choices, at the outset, I wanted to curate a list of moments of gameplay that would be meaningful if played for just a short period of time. Sometimes it’s obvious – you can take a moment from a fighting game where both players are low on health, or play a sports game from the start until the first point is scored. So that’s where I started. Over time, I figured out that you could make exciting moments in games that are not otherwise interesting for a competitive duel. For example, in <a href="https://web.archive.org/web/20150723143304/http://www.hardcoregaming101.net/dodonpachi/dodonpachi.htm" target="_blank">Dodonpachi</a> (a bullet hell game) we take away the player’s guns and challenge them to stay alive in a huge hail of bullets. </p>
<p>For games that were designed as cooperative experiences, I eventually gravitated toward the structure ‘score more points but do not die’, which forces the players to calibrate how much risk they take relative to the other player. </p></blockquote>
<p>This excerpt is from a <a href="https://www.acmi.net.au/stories-and-ideas/bennett-foddys-multibowl-new-game-old-games/" target="_blank">2017 interview</a> of Foddy by Seb Chan from ACMI. There are many interesting moments in that interview, such as the issue of curation:</p>
<blockquote><p>Multibowl is not a very precise historical curation like you might make for a museum exhibition, where you can only show a couple of dozen things at most. It’s a huge driftnet of games. There is no quality or historical significance standard, and no attempt to balance out the games in terms of nationality or gender. The only curatorial instinct that it follows is to find the most diverse set of game ideas. With each piece distilled down to a randomly-selected 30-second slice, there’s room for an infinite number of them. </p>
<p>In fact, contrary to a museum curation, the point of Multibowl is to have too many games for a single player to see. It’s best when it feels too big to grasp. I think, now that there are 300 games in there, it’s starting to feel that way. </p></blockquote>
<p>Unfortunately, it is not possible to actually play Multibowl outside of special events, given copyright issues. In addition to general emulation copyright murkiness, Foddy adds, “I don’t think the actual bits of actual games have ever been used as the fabric of a larger game before.”</p>
<p>However, a really fun introduction to Multibowl is <a href="https://www.youtube.com/watch?v=k8bqACUrLDA" target="_blank">another art project</a> from a now-defunct comedy duo Auralnauts, who actually played Multibowl pretending to be Kylo Ren and Bane, to hilarious results:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=k8bqACUrLDA" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/there-is-no-quality-or-historical-significance-standard/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/there-is-no-quality-or-historical-significance-standard/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/there-is-no-quality-or-historical-significance-standard/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/there-is-no-quality-or-historical-significance-standard/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/there-is-no-quality-or-historical-significance-standard/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure><p><a href="https://unsung.aresluna.org/tags/art/">#art</a> <a href="https://unsung.aresluna.org/tags/emulation/">#emulation</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/humor/">#humor</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>World-class female singers</title>
    <link href="https://unsung.aresluna.org/world-class-female-singers" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/world-class-female-singers</id>
    <published>2026-03-29T17:47:03.602Z</published>
    <updated>2026-03-29T17:47:03.602Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The story about the original Macintosh’s built-in font set being named after “world-class cities” is well known and <a href="https://folklore.org/World_Class_Cities.html" target="_blank">documented by Susan Kare on the Folklore site</a>:</p>
<blockquote><p>The first Macintosh font was designed to be a bold system font with no jagged diagonals, and was originally called “Elefont”. There were going to be lots of fonts, so we were looking for a set of attractive, related names. Andy Hertzfeld and I had met in high school in suburban Philadelphia, so we started naming the other fonts after stops on the Paoli Local commuter train: Overbrook, Merion, Ardmore, and Rosemont. (Ransom was the only one that broke that convention; it was a font of mismatched letters intended to evoke messages from kidnapers made from cut-out letters).</p>
<p>One day Steve Jobs stopped by the software group, as he often did at the end of the day. He frowned as he looked at the font names on a menu. “What are those names?”, he asked, and we explained about the Paoli Local.</p>
<p>“Well”, he said, “cities are OK, but not little cities that nobody’s ever heard of. They ought to be WORLD CLASS cities!”</p>
<p>So that is how Chicago (Elefont), New York, Geneva, London, San Francisco (Ransom), Toronto, and Venice […] got their names.</p></blockquote>
<p>If you check out the actual <a href="https://en.wikipedia.org/wiki/Paoli/Thorndale_Line" target="_blank">Philly stops</a> and witness all their provinciality, you can understand what Jobs was after:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/1.1088w.avif" alt="" width="800" height="535">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/2.1088w.avif" alt="" width="700" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/3.1088w.avif" alt="" width="800" height="529">
      </picture></figure>
<p>Go to <a href="https://infinitemac.org/1984/System%201.0" target="_blank">first Macintosh via Infinite Mac</a>, open Infinite HD and MacWrite within, and you can examine the nine eventual fonts in their pixellated, cosmopolitan glory:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/4.1088w.avif" alt="" width="551" height="700">
      </picture></figure>
<p>The list goes in this order: New York, Geneva, Toronto, Monaco, Chicago, Venice, London, Athens, San Francisco.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/5.1088w.avif" alt="" width="216" height="330">
      </picture></figure>
<p>But: How about some hard evidence for the original anecdote? Turns out, the <a href="https://archive.org/details/stx_Popular_Computing_1984-03/page/n93/mode/2up" target="_blank">March 1984 issue of Popular Computing</a> used pre-release Mac software and printed a screenshot of the names rejected by Jobs:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/6.1088w.avif" alt="" width="216" height="444">
      </picture></figure>
<p>Since on the facing page we see the output in the same order, coming up with the correct mapping is not hard:</p>
<ul>
        <li>Cursive → Venice</li>
        <li>Old English → London</li>
        <li>City → Athens</li>
        <li>Ransom → San Francisco</li>
        <li>Overbrook → Toronto</li>
        <li>System → Chicago</li>
        <li>Rosemont → New York</li>
        <li>Ardmore → Geneva</li>
        <li>Merion → Monaco</li>
      </ul>
<p>One has to admire the final order of the Mac fonts that went from dependable and utilitarian at the top, to progressively more weird; this earlier list is all over the place.</p>
<p>In later releases of Mac OS, three other world-city fonts – Boston, Los Angeles, and Cairo – joined the party, so let’s show them here for completeness’s sake:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/7.1088w.avif" alt="" width="800" height="622">
      </picture></figure>
<p>(Cairo is the classic icon font and in a way a predecessor of modern emoji, with inside jokes like <a href="https://en.wikipedia.org/wiki/Dogcow" target="_blank">Clarus The Dogcow</a>.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/8.1088w.avif" alt="" width="550" height="700">
      </picture></figure>
<p>But that’s not the end of the story of the original Mac fonts. Let’s get back to 1983. On yet <a href="https://archive.org/details/stx_Popular_Computing_1984-03/page/n87/mode/2up" target="_blank">another page of the magazine</a>, we see this list from MacPaint:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/9.1088w.avif" alt="" width="216" height="560">
      </picture></figure>
<p>You can tell this screenshot is even older than the previous one, because it is itself set in an earlier version of Chicago, with a single-storey lowercase “a,” and many letterforms being works in progress. (I talked about the history of Chicago in my <a href="https://www.youtube.com/watch?v=SDI8ubVZi7w" target="_blank">2024 talk about pixel fonts</a>.)</p>
<p>And it is old enough that this isn’t just interim names for surviving fonts – it’s actually quite a few old fonts that didn’t make it to the release day.</p>
<p>Unfortunately, this particular version of Macintosh software remains unknown, but one similar pre-release version of the first Mac software <a href="https://www.macgui.com/news/article.php?t=413" target="_blank">leaked</a>, and so we can take a look at some of these fonts, too:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/10.1088w.avif" alt="" width="371" height="700">
      </picture></figure>
<p>(You can download a lot of these fonts thanks <a href="https://github.com/JohnDDuncanIII/macfonts" target="_blank">to the hard work of John Duncan</a>. They are still bitmap fonts and might not work in all the places in modern macOS, but they seem to work in TextEdit at least.)</p>
<p>Here’s what I learned from looking at this list:</p>
<ul class="long-list">
        <li>You can definitely see how unpolished some of these fonts are in terms of spacing, letterforms, and available sizes – kudos to the team for holding a high quality bar even though there was little precedent for proportional fonts on home computers at that time.</li>
      

        <li>Even the fonts that shipped – London (née Old English), Venice (née Cursive), and Chicago (née System) – have had their letterforms tweaked and improved.</li>
      

        <li>Chicago is not named Elefont, but simply System. Had the System name persisted, <a href="https://aresluna.org/system-shock/" target="_blank">this Medium snafu from 2015</a> would have been even more hilarious.</li>
      

        <li>The name of the monospaced Elite font is likely inspired by one of the <a href="https://en.wikipedia.org/wiki/Pitch_(typewriter)" target="_blank">two classic sizes of typewriter fonts</a>: pica (larger) and elite (smaller).</li>
      

        <li>Cream came all the way from Xerox’s <a href="https://archive.org/details/TheSmalltalkEnvironment/page/n7/mode/2up" target="_blank">Smalltalk</a> and was the <a href="https://www.folklore.org/Busy_Being_Born.html" target="_blank">original system font</a> for Macintosh-in-progress, before Susan Kare created Elefont/&#8203;Chicago.</li>
      

        <li>PaintFont was a symbol/&#8203;icon font, but distinct from Cairo and emoji in that it seems it was meant to be used only by the app to draw its interface. (Today, <a href="https://developer.apple.com/sf-symbols/" target="_blank">SF Symbols</a> serve a similar purpose.)</li>
      

        <li>Apple originally planned to use Times Roman and Helvetica, but this hasn’t happened presumably because of licensing issues. Only years later, the proper Times and Helvetica fonts were introduced. Here’s a comparison:</li>
      </ul>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/11.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/11.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/11.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/11.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/11.1088w.avif" alt="" width="546" height="700">
      </picture></figure>
<p>But the most interesting thing I haven’t noticed before are two fonts called “<a href="https://en.wikipedia.org/wiki/Marie_Osmond" target="_blank">Marie Osmond</a>” and “Patti.” </p>
<p>I am reaching outside of my well of knowledge here, but from context clues I’ll assume the latter means <a href="https://en.wikipedia.org/wiki/Patti_LaBelle" target="_blank">Patti LaBelle</a>. And so, pulling on that thread, it’s kind of cool to imagine an alternate universe where the original Mac fonts are neither suburban Philly stations, nor well known cities, but something like this:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/12.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/world-class-female-singers/12.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/12.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/world-class-female-singers/12.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/world-class-female-singers/12.1088w.avif" alt="" width="258" height="298">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>“That’s because the metro cab is his right hand. Videogames!”</title>
    <link href="https://unsung.aresluna.org/thats-because-the-metro-cab-is-his-right-hand-videogames" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/thats-because-the-metro-cab-is-his-right-hand-videogames</id>
    <published>2026-03-29T16:05:44.930Z</published>
    <updated>2026-03-29T16:05:44.930Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In the Fallout 3: Broken Steel addition, the team wanted to introduce a moving subway train under Washington, D.C.:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/1.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>However, the engine did not have any moving vehicles. Instead of adding a new kind of primitive into the game engine, the creators… made the player character itself become the subway car when <a href="https://www.youtube.com/watch?v=HnoaAfCgx9A" target="_blank">in motion</a>:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/2-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/2.1600w.mp4"></video></figure>
<p>This was done by removing freedom of movement from the player, forcing the character to slide on the floor, and equipping him with… a “metro hat.” </p>
<p>The visuals of people hacking this to use it outside of the subway area are really funny:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/3.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/4.1088w.avif" alt="" width="800" height="555">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/5.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>Technically, it was not a hat, but <a href="https://fallout.wiki/wiki/DLC03MetroCarArmor" target="_blank">a right-arm armor</a>, as you can see from the right hand missing in the above picture. </p>
<p>The FPS genre is filled with all sorts of hacks for hand-held weapons, to compensate for the challenges of depicting things accurately not feeling as great…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/6.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/thats-because-the-metro-cab-is-his-right-hand-videogames/7.1088w.avif" alt="" width="460" height="672">
      </picture></figure>
<p>…but I have never heard of someone “wearing a train.”</p>
<p>(The title comes from <a href="https://www.pcgamer.com/heres-whats-happening-inside-fallout-3s-metro-train/" target="_blank">this post</a>.)</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/hacks/">#hacks</a></p>]]></content>
  </entry>
  <entry>
    <title>“Decentralization does not always equal delight.”</title>
    <link href="https://unsung.aresluna.org/decentralization-does-not-always-equal-delight" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/decentralization-does-not-always-equal-delight</id>
    <published>2026-03-28T18:19:36.747Z</published>
    <updated>2026-03-28T18:19:36.747Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A thoughtful <a href="https://www.youtube.com/watch?v=oNxpTvbTy54" target="_blank">26-minute talk by Imani Joy</a>, the solitary full-time designer on Mastodon, reflecting on her nine months there:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=oNxpTvbTy54" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/decentralization-does-not-always-equal-delight/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/decentralization-does-not-always-equal-delight/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/decentralization-does-not-always-equal-delight/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/decentralization-does-not-always-equal-delight/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/decentralization-does-not-always-equal-delight/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>It’s an interesting peek behind the curtain at designing for this particular space, and the many unenviable constraints: lack of data, care for privacy, tension between Mastodon’s power-user early adopters (“they are values-driven, they want control, they’ll tolerate a lot of the clunkiness of the Fediverse”) and “mainstream audience [that] expects polish.”</p>
<p>At some point, design needs to be authoritative, but how do you combine that with wanting the process to be as inclusive as possible? The product itself is a federation of various servers that can exert their own control – so how do you bring it all together under one neat umbrella for the user? (Also a challenge for Android in comparison with iOS.) The mainstream design has certain fashion-y tendencies. How to make sure you don’t lose yourself while chasing them, but also not to stay ossified out of fear of making changes? (Wikipedia, Internet Archive, and other similar places look and behave a certain way, after all, and it’s not usually because of lack of talent to “modernize” them.)</p>
<p>The most interesting thing to me was this:</p>
<blockquote><p>It’s easy to talk in terms of who to optimize for. Things get harder when you start to articulate who you won’t optimize for, what trade-offs you must make in pursuit of your goal, and who you’re going to risk letting down along the way. What the team needed from me more than anything was not the probabilities, not the usability findings, not the story of who we’re making happy. They needed to hear who will choose to disappoint and why. And I told them that building the best experience on Mastodon means that we’ll solve for the extremes, but we won’t center them. And sure, we do risk frustrating some power users who want absolute control over their profiles, but that risk is necessary to optimize the experience also for browsing users.</p></blockquote>
<p>When we were working at Figma in 2019 shipping an update to text line height algorithms (moving them from the way print does things to <a href="https://www.figma.com/blog/line-height-changes/" target="_blank">the way web does things</a>), I started an internal document called “The new line height and its discontents,” where myself and the team deliberately wrote out who will be most annoyed about the changes, and why. We listed our arguments, workarounds, even “deal sweeteners” (“but look at this <em>other</em> thing that will get better as a result!”), but we also tried very hard to be candid with ourselves. Some people were not going to be happy no matter what we do or say. Do we know precisely who these people are and are we okay with that? I’d recommend that approach for any change-management project, rather than keeping fingers crossed or <a href="https://unsung.aresluna.org/less-of-a-pitch-more-of-a-prediction/">toxic positivity</a>.</p>
<p>Joy so far worked on quote posts and new profiles, and I appreciated her ending the talk on a note of recognition for these kinds of projects in these kinds of settings:</p>
<blockquote><p>I know that we’re building something that will continue to be imperfect, but it doesn’t have to be perfect to make a positive difference in the world.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/change-management/">#change management</a> <a href="https://unsung.aresluna.org/tags/conference-talk/">#conference talk</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Come at the king, you best not miss</title>
    <link href="https://unsung.aresluna.org/come-at-the-king-you-best-not-miss" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/come-at-the-king-you-best-not-miss</id>
    <published>2026-03-28T13:16:27.915Z</published>
    <updated>2026-03-28T13:16:27.915Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://developer.apple.com/design/human-interface-guidelines/column-views" target="_blank">Column view</a> cut its teeth on NeXT computers…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/1.1088w.avif" alt="" width="800" height="391">
      </picture></figure>
<p>…and blossomed on early versions of Mac OS X…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/2.1088w.avif" alt="" width="800" height="573">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/3.1088w.avif" alt="" width="571" height="452">
      </picture></figure>
<p>…but where I thought it really shone was the first iPods:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/4-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/4.1600w.mp4"></video></figure>
<p>This was perhaps the most fun you could ever have navigating a hierarchy of things; it made sense what left/&#8203;right/up/down meant in this universe, to a point you could easily build a mental model of what goes where, even if your viewport was <a href="https://unsung.aresluna.org/lock-scroll-with-a-vengeance/">smaller than ever</a>.</p>
<p>It was also a close-to-ideal union of software and hardware, admirable in its simplicity and attention to detail. This is where Apple practiced momentum curves, haptics (via a tiny speaker, doing haptic-like clicks), and handling touch programmatically (only the first iPod had a physically rotating wheel, later replaced by stationary touch-sensitive surfaces) – all necessary to make iPhone’s eventual multi-touch so successful. And, iPhone <a href="https://www.youtube.com/watch?v=BHgKMaCzhls" target="_blank">embraced column views wholesale</a>, for everything from the Music app (obvi), through Notes, to Settings.</p>
<p>Well, sometimes you don’t appreciate something until it’s taken away. Here are settings in the iOS version of Google Maps:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/5-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/come-at-the-king-you-best-not-miss/5-framed.1600w.webm"></video></figure>
<p>I am not sure why the designers chose to deviate from the standard, replacing a clear Y/X relationship with a more confusing Y/Z-that-looks-very-much-like-Y. They kept the chevrons hinting at the original orientation – and they probably had to, as vertical chevrons have a different connotation, but perhaps this was the warning sign right here not to change things.</p>
<p>I think the principle is, in general: if you’re reinventing something well-established, both of your reasoning <em>and</em> your execution have to be really, really solid. I don’t think this has happened here. (Other Google apps seem to use standard column view model.)</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/finder/">#finder</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/next/">#next</a></p>]]></content>
  </entry>
  <entry>
    <title>“Less of a pitch, more of a prediction”</title>
    <link href="https://unsung.aresluna.org/less-of-a-pitch-more-of-a-prediction" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/less-of-a-pitch-more-of-a-prediction</id>
    <published>2026-03-27T23:09:01.009Z</published>
    <updated>2026-03-27T23:09:01.009Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>An <a href="https://www.youtube.com/watch?v=hLItp5SiRGw" target="_blank">excellent 17-minute video from The Art Of Storytelling</a> that analyzes the now-infamous 2021 Mark Zuckerberg Metaverse introduction video:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=hLItp5SiRGw" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/less-of-a-pitch-more-of-a-prediction/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/less-of-a-pitch-more-of-a-prediction/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/less-of-a-pitch-more-of-a-prediction/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/less-of-a-pitch-more-of-a-prediction/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/less-of-a-pitch-more-of-a-prediction/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>What I liked about it is that the author goes beyond cheap shots and deeper into both storytelling aspects (drawing from his experience)…</p>
<blockquote><p>Now, as you can tell, the big problem with the design and execution of this video is that the producers failed to recognize the importance of point of view in telling this story. Now, perspective is already very important in any film, but it’s doubly important in a film for which one’s point of view in reality is also the subject. But this failure is present even in some of the more mundane parts of the film like the interviews that Mark does with various meta staff members. Now, as it’s plain to see, these are not real interviews. They’re fully scripted and staged – again, a classic mistake in corporate film. You can even tell that they’re not looking at each other. They’re clearly reading from a teleprompter. Yikes. </p>
<p>Of course, the entire premise of an interview is that two people are speaking candidly. So watching an obviously fake interview can be deeply unsettling as the speakers try to act out natural conversation and inevitably fail. This is why so many people in this video, including Mark, seem to not know what to do with their hands while speaking. It’s because they’ve been told to act naturally in a social situation that does not normally exist. </p></blockquote>
<p>…and the meaning of these kinds of propaganda-esque announcements:</p>
<blockquote><p>They are joined by some friends who are calling from Soho to tell them about some cool augmented reality street art that they’ve just discovered. […] And with a wave of his hand, Mark teleports the artwork into his spaceship so that he can appreciate it for himself, thus extracting this street art from any sense of place and context, which is the point of street art. I know this might sound like a nitpick, but I think it’s just worth lingering on the fact that, you know, in this high concept tech demo about how this technology will empower people to appreciate art in new ways. Nobody paused to ask what the social and cultural function of street art actually is.</p></blockquote>
<p>The entire introduction video comes across as thoughtless and careless – “It’s not a product launch or even a demo. It’s just a cartoon about the world Mark Zuckerberg is telling you that you will one day live in.” – and some of the observations here will be relevant to other things, even in other mediums: UI redesign minisites, the font announcements articles, rebrand unveils, and so on.</p>
<p>I would love similar analyses of Apple’s stuff – not just the most obvious parallel which would be the <a href="https://www.youtube.com/watch?v=9bjve67p33E" target="_blank">1987 Knowledge Navigator vision video</a>, but some of the more recent scripted virtual keynotes, too.</p><p><a href="https://unsung.aresluna.org/tags/storytelling/">#storytelling</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Got your back, pt. 4</title>
    <link href="https://unsung.aresluna.org/got-your-back-pt-4" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/got-your-back-pt-4</id>
    <published>2026-03-27T19:20:24.226Z</published>
    <updated>2026-03-27T19:20:24.226Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Connecting to public wi-fi networks with their <a href="https://en.wikipedia.org/wiki/Captive_portal" target="_blank">captive portals</a> is always a bit of a wonky proposition, and nothing makes public wi-fi wonkier than using it on a plane.</p>
<p>I believe that the resurgence of https made things harder – if the captive portal doesn’t kick in, no secure traffic can happen – and over time I just started remembering that “<a href="http://captive.apple.com/" target="_blank">captive.apple.com</a>” is a reliable HTTP-only destination to visit.</p>
<p>But I noticed this week that United’s onboard wi-fi network is called “Unitedwifi.com” as a reminder where to go once you are connected, to avoid that problem. I thought this was a nice touch.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/got-your-back-pt-4/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/got-your-back-pt-4/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/got-your-back-pt-4/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/got-your-back-pt-4/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/got-your-back-pt-4/1.1088w.avif" alt="" width="332" height="258">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/got-your-back/">#got your back</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>On tools and toolmaking</title>
    <link href="https://unsung.aresluna.org/on-tools-and-toolmaking" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/on-tools-and-toolmaking</id>
    <published>2026-03-26T21:41:14.266Z</published>
    <updated>2026-03-26T21:41:14.266Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Not long ago, a blog I otherwise like a lot included this passage:</p>
<blockquote><p>Designers have been saying this for years. Cameras don’t take pictures, photographers do. Tools don’t make you a better designer. Now the PM world is arriving at the same conclusion.</p></blockquote>
<p>I am not linking to the post because I hear this argument from time to time, and I want to comment on the general notion. </p>
<p>I think I understand the sentiment behind it: You’re not a designer because you know all the Figma shortcuts. You’re not a perfect typewriter away from The Next Great American Novel. Mastery of a tool is not mastery of the subject matter. And there is definitely a certain amount of performative pretense of an insta photo of a meticulously arranged desk with a bougie keyboard, going at length about the only correct set of presets and plugins, or an idea that “if only you do this one creative habit, a firehose of creativity will follow.”</p>
<p>But I also disagree. Good tools <em>do</em> make you a better designer.</p>
<p>A good tool can make you go faster and, as a result, let you spend more time doing revs and trying new things. A good tool can make you go slower when needed, practicing a connection with the material underneath.</p>
<p>A good tool will prevent you from shooting yourself in a foot, will teach you new things about what you’re doing – and perhaps even about yourself.</p>
<p>A good tool will value your growth, make you reflect on your growing body of work, and push you to try harder. </p>
<p>A good tool can inspire you. A great tool can make you fall in love. A bad tool can make you walk away, and a horrible tool will make you never want to come back.</p>
<p>A good tool will make you seek out more good tools.</p>
<p>Sure, people wrote books on a BlackBerry. Would you want to? Sure, the best camera is the one you have on you. But wouldn’t you prefer that camera to also be the best camera for whatever it is that makes you tick – a great sensor or glass, an amazing build quality, a friendly user interface, a logo that makes you want to step up, or some particular quirk or sentiment that you can’t even explain, but matters a whole lot to you?</p>
<p>I’m told I should be annoyed if someone’s first reaction to seeing a nice photo I made is “what kind of camera do you use?”, as it diminishes my accomplishments as a photographer. But: I chose the camera, and bolted on the appropriate lens, and realized over the years the aperture priority mode and very precise focus area is what makes my brain happy. I went through other cameras before, and learned I didn’t like them and I liked this one. At some point in my life I even ventured out into the frightening underworld of the settings menu, opened a new browser window, and decided “I will now try to understand all of these terms.” It took years, but I did.</p>
<p>The reason I enjoy scanning and <a href="https://mastodon.online/@mwichary/116129221661394987" target="_blank">processing old documents</a> is because I invested in my tools. I have a little keypad, a bunch of hard-earned Photoshop actions, and some bespoke Keyboard Maestro combos that boss Photoshop around. This little tool universe doesn’t just make me more efficient, but it also makes me <em>have fun.</em> </p>
<p>I’d go even further. The mastery of the subject matter and the mastery of the tool are both important – but they also have to be joined by fluency with tool choices, and deep understanding of the relationships you have with your tools. </p>
<p>No single writing advice book will give you a perfect recipe, but read ten of them and scan twenty more, and you might compile the right mixtape of practical tidbits for your brain, and inspiration for your soul. Likewise, you have to try out a bunch of tools – some bad ones, a few great ones – to understand what you need. Not just for efficiency, but also for enjoyment, and ambition, and flexibility or maybe rigidity, and this sort of unmeasurable feeling of a tool <em>getting you</em>, or a tool <em>made</em> <em>by someone like you.</em></p>
<p>Maybe it’s the 1960s typewriter you need, or a newfangled e-ink-based writing implement, or maybe you just have to open TextEdit and close everything else. I’m not going to tell you the novel comes out then. But the novel might never come out if you don’t figure out what tool can help get it out of you.</p>
<p>You also have to recognize the telltale signs when you outgrow the tool, or when the tool starts disappointing you. Over the years, I learned that <a href="https://newsletter.shifthappens.site/archive/how-i-learned-to-hate-indesign/" target="_blank">I hate InDesign</a>, but that I hate LaTeX even more. I switched from Apple Notes to SimpleNote in 2012, went back to Notes in 2017, and just this year moved over to Bear. I once cargo-culted Scrivener for writing and ran away screaming, but I also once cargo-culted DevonThink and still use it today, in awe of its clunkiness and old-fashionedness that match my own.</p>
<p>AI tools are still tools. And generative AI will allow you to build more tools for the solitary audience of just you – but, like elsewhere, it will require some understanding what makes for a good tool and what makes for a good tool <em>for you</em>.</p>
<p>Craig Mod <a href="https://craigmod.com/essays/software_bonkers/" target="_blank">wrote recently</a> about using AI to build his own custom tools:</p>
<blockquote><p>My situation is pretty unique. I’m dealing with multiple bank accounts in multiple countries. Constantly juggling currencies. Money moves between accounts locally and internationally. I freelance as a writer for clients around the world. I do media work — TV and radio. I make money from book sales paid by Random House via my New York agent, and I make money from book sales sold directly from my Shopify store. […] Simply put: It’s a big mess, and no off-the-shelf accounting software does what I need. So after years of pain, I finally sat down last week and started to build my own.</p></blockquote>
<p>But I bet Mod knew what tool he needed to build based on his experience with tools that didn’t work for him – and software and design in general.</p>
<p>Elsewhere, Sam Henri Gold in <a href="https://samhenri.gold/blog/20260312-this-is-not-the-computer-for-you/" target="_blank">a widely-shared essay that is worth a read</a>, about MacBook Neo and the beginning of the tool journey:</p>
<blockquote><p>He is going to go through System Settings, panel by panel, and adjust everything he can adjust just to see how he likes it. He is going to make a folder called “Projects” with nothing in it. He is going to download Blender because someone on Reddit said it was free, and then stare at the interface for forty-five minutes. He is going to open GarageBand and make something that is not a song. He is going to take screenshots of fonts he likes and put them in a folder called “cool fonts” and not know why. Then he is going to have Blender and GarageBand and Safari and Xcode all open at once, not because he’s working in all of them but because he doesn’t know you’re not supposed to do that, and the machine is going to get hot and slow and he is going to learn what the spinning beachball cursor means. None of this will look, from the outside, like the beginning of anything. But one of those things is going to stick longer than the others. He won’t know which one until later. He’ll just know he keeps opening it.</p></blockquote>
<p>I am bothered by black-and-white, LinkedIn-ready statements. “Tools don’t make you a better designer” feels like another version of the abused and misunderstood “<a href="https://unsung.aresluna.org/its-not-so-simple-to-celebrate-a-phrase/">less is more</a>.”</p>
<p>My camera taught me to be a better photographer. DevonThink told me how to better organize my thoughts. Norton Utilities showed me how to have fun when doing serious things, and Autodesk Animator how to be serious about having fun. </p>
<p>I’m a toolmaker, so perhaps I arrive at this biased. I endured some crappy tools, wrote some okay ones, benefitted from some great ones. I don’t think I would have become a designer without them.</p><p><a href="https://unsung.aresluna.org/tags/ai/">#ai</a> <a href="https://unsung.aresluna.org/tags/craig-mod/">#craig mod</a> <a href="https://unsung.aresluna.org/tags/toolmaking/">#toolmaking</a></p>]]></content>
  </entry>
  <entry>
    <title>To streamline or not to streamline</title>
    <link href="https://unsung.aresluna.org/to-streamline-or-not-to-streamline" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/to-streamline-or-not-to-streamline</id>
    <published>2026-03-26T21:24:54.872Z</published>
    <updated>2026-03-26T21:24:54.872Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Software engineering has long had a concept of “premature optimization” – overbuilding things too early in anticipation of future that might or might not come.</p>
<p>I feel design has a version of that, too. Here’s viewer menu hierarchy in Google Drive:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/1-thumbnail.avif" width="800" height="566" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/1.1600w.mp4"></video></figure>
<p>One should always feel very uneasy about a menu with just one item, like Insert here. Even within the View menu, one could imagine streamlining all the commands to be in one main menu, rather than two tiny submenus (coupled with pretty excessive width that makes for an interaction that feels like walking a tightrope).</p>
<p>These are the menus for a PNG image. It’s entirely possible other file types offer more options and this menu structure earns its keep then, paying off in consistency over a long run – but I tried a few file formats, and the menus all looked similarly sparse.</p>
<p>As a counterpoint, here’s an example I just spotted in the context/&#8203;right-click menu in Apple’s Notes:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/2.1088w.avif" alt="" width="269" height="576">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/to-streamline-or-not-to-streamline/3.1088w.avif" alt="" width="416" height="664">
      </picture></figure>
<p>When you have one device, the three options get appended to the ground floor of the menu. But if you have more than one, they all get ejected into a submenu.</p>
<p>I like this soft consistency of introducing hierarchy only when it’s needed – or in reverse, flattening/&#8203;streamlining it as necessary.</p>
<p>I have mixed feelings about this one particular use, however. This menu is already very long (and seemingly abandoned – look at table and checklist and link options), so in this case perhaps a consistent submenu would be overall better. Also, the “Insert from iPhone and iPad” label is long and makes the <a href="https://unsung.aresluna.org/the-dusty-menus-of-the-worlds-most-popular-desktop-browser/">entire menu slightly wider</a>. </p>
<p>But as a pattern, it’s worth considering. (Just for completeness’s sake, you could also half-streamline by adding a submenu for the iPhone and another one for the iPad. But in this particular case, it’d also likely be a bad idea.)</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>System shock</title>
    <link href="https://unsung.aresluna.org/system-shock" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/system-shock</id>
    <published>2026-03-26T20:49:47.541Z</published>
    <updated>2026-03-26T20:49:47.541Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I occasionally move older writing that still feels interesting to my new site, and today I republished <a href="https://aresluna.org/system-shock/" target="_blank">the 2015 story about a strange bug that brought back an old pixel font from beyond the grave</a>:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/system-shock/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/system-shock/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/system-shock/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/system-shock/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/system-shock/1.1088w.avif" alt="" width="800" height="351">
      </picture></figure>
<p>Some of the technical details inside are obsolete, but the story might still be fun. (Plus, it seems like at every job I have, I eventually stumble upon a bug that brings back something from the annals of history. <a href="https://aresluna.org/this-is-a-story-of-a-figma-bug/" target="_blank">Here’s one from 2019</a>.)</p><p><a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/marcin-wichary/">#marcin wichary</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>Some more placeholder misuse</title>
    <link href="https://unsung.aresluna.org/some-more-placeholder-misuse" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/some-more-placeholder-misuse</id>
    <published>2026-03-26T15:09:05.824Z</published>
    <updated>2026-03-26T15:09:05.824Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I mentioned placeholders before <a href="https://unsung.aresluna.org/their-attitudes-about-the-issues-still-shifted/">in the context of Dropbox Paper</a>…</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/1.1088w.avif" alt="" width="800" height="194">
      </picture></figure>
<p>…and I wanted to share <a href="https://mastodon.online/@nikitonsky/116235288782267239" target="_blank">a response by Nikita Prokopov</a>, because he had a great point about those Dropbox Paper placeholders that I didn’t consider:</p>
<blockquote><p>For me it’s […] confusing placement. Like if somebody writes “Have a nice day” on a door instead of “Push” or “Pull”. I don’t mind seeing “Have a nice day” message somewhere neutral, in a place not occupied by any other function, but not where I expect very specific help.</p></blockquote>
<p>I was reminded of Prokopov’s comment when I saw this at the airport yesterday:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/2.1088w.avif" alt="" width="453" height="277">
      </picture></figure>
<p>I remember, eons ago, how impressed I was when one of the Chrome designers was telling me how all of these error pages were specifically designed to feel like liminal spaces and notlike<em> destinations.</em> These were, in a way, placeholder content. </p>
<p>But “Press space to play” feels like a strange thing to put in here. (Previously, the message said “No internet” or “There is no Internet connection.”) I understand that this is Chrome’s <a href="https://en.wikipedia.org/wiki/Dinosaur_Game" target="_blank">popular mascot</a>, but this is still an error page whose purpose is to tell me what’s wrong, rather than serve as an entry point to a minigame.</p>
<p>Also, just a few days ago, I just stumbled upon this fun example of a placeholder collapse – where a temporary text becomes permanent:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/3.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<p>If you are curious, this is what it looks like if you don’t forget to set the message. And funnily enough, given where we started, it says “Have a nice day”:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/some-more-placeholder-misuse/4.1088w.avif" alt="" width="467" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/nikita-prokopov/">#nikita prokopov</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“Publishers aren’t evil, but they are desperate.”</title>
    <link href="https://unsung.aresluna.org/publishers-arent-evil-but-they-are-desperate" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/publishers-arent-evil-but-they-are-desperate</id>
    <published>2026-03-26T13:52:49.937Z</published>
    <updated>2026-03-26T13:52:49.937Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A meandering and messy, but otherwise an absolutely worthwhile essay from Shubham Bose <a href="https://thatshubham.com/blog/news-audit" target="_blank">about the bloat and hostile behaviours on news sites</a>:</p>
<blockquote><p>I went to the New York Times to glimpse at four headlines and was greeted with 422 network requests and 49 megabytes of data. […]</p>
<p>Almost all modern news websites are guilty of some variation of anti-user patterns. As a reminder, the NNgroup defines interaction cost as the sum of mental and physical efforts a user must exert to reach their goal. In the physical world, hostile architecture refers to a park bench with spikes that prevent people from sleeping. In the digital world, we can call it a system carefully engineered to extract metrics at the expense of human cognitive load. Let’s also cover some popular user-hostile design choices that have gone mainstream.</p></blockquote>
<p>Bose has a knack for naming some of these hostile patterns: The Pre-Read Ambush stands for distracting you even before you start reading, Z-Index Warfare is about multiple pop-ups competing with each other, and Viewport Suffocation is about covering so much screen with crap you can barely see the content. You can almost see those names fly by on the massive screens in the final scenes of WarGames:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/1.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>By the way, I didn’t know that the ad bidding is actually happening on my computer, using my CPU, and clobbering my interface speed:</p>
<blockquote><p>Before the user finishes reading the headline, the browser is forced to process dozens of concurrent bidding requests to exchanges like Rubicon Project […] and Amazon Ad Systems. While these requests are asynchronous over the network, their payloads are incredibly hostile to the browser’s main thread. To facilitate this, the browser must download, parse and compile megabytes of JS. As a publisher, you shouldn’t run compute cycles to calculate ad yields before rendering the actual journalism.</p></blockquote>
<p>The essay ends on a call to action:</p>
<blockquote><p>No individual engineer at the Times decided to make reading miserable. This architecture emerged from a thousand small incentive decisions, each locally rational yet collectively catastrophic.</p>
<p>They built a system that treats your attention as an extractable resource. The most radical thing you can do is refuse to be extracted. Close the tab. Use RSS. Let the bounce rate speak for itself. </p></blockquote>
<p>Funny you should say that. There is another user-hostile pattern not mentioned in the article, as it happens on the other side; the swiping back gesture on the mobile phone is hijacked to insert a frustrating “Keep on reading” page, rather than getting you where you came from:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/2-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/2-framed.1600w.webm"></video></figure>
<p>It’s there on many sites, from Slate to Ars Technica.</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/3-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/3-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/3-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/3-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/4-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/4-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/4-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/publishers-arent-evil-but-they-are-desperate/4-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>It usually shows cheap, attention-grabbing headlines (in the case of Ars Technica, the Linus Torvalds article was over a decade old!). I originally thought this was just a last-ditch attempt to keep me on the site, but <a href="https://mastodon.online/@mwichary/112569913306029778" target="_blank">when I asked on social</a>, a reader suggested there is another reason:</p>
<blockquote><p>It’s an SEO play. If you land on a site because of a Google search and swipe back to Google, it sends a signal to Google that it wasn’t the result you were looking for. So by forcing users to click a link on the page to read more than two paragraphs, it means the user is unable to swipe back to Google and send that negative SEO signal.</p></blockquote>
<p>Even the bounce rate is not allowed to speak for itself.</p><p><a href="https://unsung.aresluna.org/tags/enshittification/">#enshittification</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>Bear’s seamless OCR integration</title>
    <link href="https://unsung.aresluna.org/bears-seamless-ocr-integration" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/bears-seamless-ocr-integration</id>
    <published>2026-03-25T12:45:03.152Z</published>
    <updated>2026-03-25T12:45:03.152Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I feel like social media and recently the slate of AI-powered “tell me what’s here” features continue to show us the power and longevity of screenshots. After all, nothing beats a <a href="https://www.iphoneblog.de/2026/03/19/the-pogue-feature/" target="_blank">more</a> or <a href="https://unsung.aresluna.org/how-to-shoot-a-screen-using-a-board-of-keys/">less</a> approachable shortcut and a file format that works literally everywhere.</p>
<p>But screenshots have issues, and I liked how <a href="https://bear.app/" target="_blank">Bear</a> (a note-taking app) brilliantly integrated <a href="https://en.wikipedia.org/wiki/Optical_character_recognition" target="_blank">OCR</a> inside images into its flows. This just worked for regular ⌘F finding without me having to do anything:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/bears-seamless-ocr-integration/1-thumbnail.avif" width="480" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/bears-seamless-ocr-integration/1.1600w.mp4"></video></figure>
<p>The recognized text also appears when you search through notes, and so on. It’s just a great peace of mind that you’re not going to miss on text just because you happened to screenshot it.</p>
<p>Apple operating systems have had detection of text inside images for a while – I know on iOS in particular it sometimes gets in a way of normal gestures – so I thought it was just that, but curiously this doesn’t work as nicely in Apple’s own Notes.</p><p><a href="https://unsung.aresluna.org/tags/bear/">#bear</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/search/">#search</a></p>]]></content>
  </entry>
  <entry>
    <title>Two nice moments from MoMA in New York</title>
    <link href="https://unsung.aresluna.org/two-nice-moments-from-moma-in-new-york" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/two-nice-moments-from-moma-in-new-york</id>
    <published>2026-03-25T12:35:41.731Z</published>
    <updated>2026-03-25T12:35:41.731Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/two-nice-moments-from-moma-in-new-york/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/two-nice-moments-from-moma-in-new-york/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/two-nice-moments-from-moma-in-new-york/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/two-nice-moments-from-moma-in-new-york/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/two-nice-moments-from-moma-in-new-york/1.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<p>To be fair, I am traveling and haven’t looked for solid evidence or citation that this works for people, but I personally like this approach: in lieu of a separate language selector button, each option here itself is both a language selector <em>and</em> a commit button. </p>
<p>The labels themselves are not the name of the language, but a call to action; I imagine recognizing the one label that means something to you should be easy if the other nine look like gibberish.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/two-nice-moments-from-moma-in-new-york/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/two-nice-moments-from-moma-in-new-york/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/two-nice-moments-from-moma-in-new-york/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/two-nice-moments-from-moma-in-new-york/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/two-nice-moments-from-moma-in-new-york/2.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>And, a thoughtful moment by one exhibit: Not only showing you where you are in the sequence of three videos, but even within the currently-playing video.</p>
<p>(I’m less of a fan of stretched type, though.)</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/museum/">#museum</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>“It takes an airplane to bring out the worst in a pilot.”</title>
    <link href="https://unsung.aresluna.org/it-takes-an-airplane-to-bring-out-the-worst-in-a-pilot" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/it-takes-an-airplane-to-bring-out-the-worst-in-a-pilot</id>
    <published>2026-03-23T15:17:13.264Z</published>
    <updated>2026-03-23T15:17:13.264Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Speaking of <a href="https://unsung.aresluna.org/this-thing-that-tamrons-doing-is-actually-very-cool/">fly-by-wire</a>… William Langewiesche is one of my favourite technical writers. He finds a way to explain complex aviation aspects really well, and then add a certain amount of beauty and poetry on top of that. His style was a big influence on my book, and I like him so much I once <a href="https://mwichary.medium.com/the-william-langewiesche-aviation-reader-2bd5d06d0e04" target="_blank">compiled links to his writing</a> so that others could find it more easily.</p>
<p>Here’s <a href="https://archive.vanityfair.com/article/2014/10/the-human-factor" target="_blank">Langewiesche’s essay from 2014</a> about the 2009 Air France Flight 447, where an implementation of fly-by-wire – which means disconnecting the flight stick and attendant levers from immediately controlling flight surfaces via physical linkage, and instead putting motors and software in between – caused a fatal accident, as the pilots’ mental model of the system diverged too far from what was happening:</p>
<blockquote><p>The [Airbus] A330 is a masterpiece of design, and one of the most foolproof airplanes ever built. How could a brief airspeed indication failure in an uncritical phase of the flight have caused these Air France pilots to get so tangled up? And how could they not have understood that the airplane had stalled? The roots of the problem seem to lie paradoxically in the very same cockpit designs that have helped to make the last few generations of airliners extraordinarily safe and easy to fly.</p></blockquote>
<p>It’s an interesting read today in the context of robotaxis and self-driving, but also AI changing software writing:</p>
<blockquote><p>This is another unintended consequence of designing airplanes that anyone can fly: anyone can take you up on the offer. Beyond the degradation of basic skills of people who may once have been competent pilots, the fourth-generation jets have enabled people who probably never had the skills to begin with and should not have been in the cockpit. As a result, the mental makeup of airline pilots has changed. On this there is nearly universal agreement—at Boeing and Airbus, and among accident investigators, regulators, flight-operations managers, instructors, and academics. A different crowd is flying now, and though excellent pilots still work the job, on average the knowledge base has become very thin.</p>
<p>It seems that we are locked into a spiral in which poor human performance begets automation, which worsens human performance, which begets increasing automation.</p></blockquote>
<p>I was devastated to discover, while writing this post, that Langewiesche died last year. Rest in peace.</p><p><a href="https://unsung.aresluna.org/tags/ai/">#ai</a> <a href="https://unsung.aresluna.org/tags/ergonomics/">#ergonomics</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“This thing that Tamron’s doing is actually very cool.”</title>
    <link href="https://unsung.aresluna.org/this-thing-that-tamrons-doing-is-actually-very-cool" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/this-thing-that-tamrons-doing-is-actually-very-cool</id>
    <published>2026-03-23T13:43:44.668Z</published>
    <updated>2026-03-23T13:43:44.668Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This <a href="https://www.youtube.com/watch?v=haaqe1pYPaY" target="_blank">9-minute video from PetaPixel</a> probably won’t make much sense for non-photographers, but there is something refreshing about this idea that there are still places where adding software is seen as positive:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=haaqe1pYPaY" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The video talks about Tamron’s lenses which have their own software (independent of the camera), and even their own USB-C port.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/1.1088w.avif" alt="" width="800" height="573">
      </picture></figure>
<p>In a camera lens equivalent of <a href="https://en.wikipedia.org/wiki/Fly-by-wire" target="_blank">fly-by-wire</a>, the software allows to fine-tune the behaviour of hardware: what should soft buttons do, should the focus ring be responding in a linear or not, or even in which direction should it rotate. However, there are also more complex behaviours – like time lapses with focus pulls – with an interesting interface that’s definitely not beautiful, but I think still worth checking out for how it uses skeuomorphism.</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-thing-that-tamrons-doing-is-actually-very-cool/2.1088w.avif" alt="" width="379" height="700">
        </picture></figure><p><a href="https://unsung.aresluna.org/tags/hardware/">#hardware</a> <a href="https://unsung.aresluna.org/tags/skeuomorphism/">#skeuomorphism</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“So, what makes 3D so scary and different?”</title>
    <link href="https://unsung.aresluna.org/so-what-makes-3d-so-scary-and-different" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/so-what-makes-3d-so-scary-and-different</id>
    <published>2026-03-22T14:00:28.360Z</published>
    <updated>2026-03-22T14:00:28.360Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>It is common knowledge that Luigi is just a <a href="https://tvtropes.org/pmwiki/pmwiki.php/Main/PaletteSwap" target="_blank">palette-swapped</a> Mario, and that the characters facing left are the same characters as those facing right, only rendered mirrored.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/1.1088w.avif" alt="" width="800" height="529">
      </picture></figure>
<p>This interesting <a href="https://www.youtube.com/watch?v=YGSkWVXE2mo" target="_blank">9-minute video from Core-A Gaming</a> explains how this can be kind of tricky for fighting games in particular:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=YGSkWVXE2mo" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>Suddenly, a character with a claw on one hand, or a patch on one eye, becomes a more complex situation – without redrawing, the claw or the patch move from one side of the body to another. Then there’s the issue of open stance toward the player, turning left-handed characters into right-handed ones just when they switch to the other side.</p>
<p>3D fighting games can, in theory, fix all of this with more ease, as instead of redrawing hundreds of sprites they can just introduce one change to a model… but they often choose not to. Enter the issues of 2.5D fighters vs. 3D fighters, 2D characters in 3D spaces, and lateralized control schemes.</p>
<p>It’s a small thing that quickly becomes a huge thing.</p>
<p>Here’s an object in Figma with one rounded corner. Notice how the UI always tries to match the rounded corner value based on where it is physically on the screen…</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/2-thumbnail.avif" width="800" height="579" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/so-what-makes-3d-so-scary-and-different/2.1600w.mp4"></video></figure>
<p>…which makes for a fun demo and feels smart, but: why don’t width and height do the same?</p>
<p>Turns (heh) out that this is a similar set of considerations as those in fighting games: both thinking deep about what is an intrinsic vs. derived property of an object, and what is the <em>least confounding thing to present to the user</em>. Since objects usually have noticeable orientation – text inside, or another visual property – width still feels like width and height like height even if they’re rotated. The same, however, isn’t necessarily true for four rounded corners. Or, perhaps, the remapping of four “physical” corners to four “logical” corners can be more error-prone.</p>
<p>Then, of course, there’s a question of what to do when the object <em>doesn’t </em>have a noticeable orientation. Like with many of the things on this blog, there are no “correct” answers. This too is a small thing that quickly becomes a huge thing.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/super-mario-bros/">#super mario bros</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>One big step forward, three small steps back</title>
    <link href="https://unsung.aresluna.org/one-big-step-forward-three-small-steps-back" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/one-big-step-forward-three-small-steps-back</id>
    <published>2026-03-22T13:41:03.827Z</published>
    <updated>2026-03-22T13:41:03.827Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This is a typical iOS Gmail dialog that allows you to snooze an email so it resurfaces later:</p>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/one-big-step-forward-three-small-steps-back/1-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/one-big-step-forward-three-small-steps-back/1-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/one-big-step-forward-three-small-steps-back/1-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/one-big-step-forward-three-small-steps-back/1-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>If you invoke that function on an email that’s an order receipt, a new option appears:</p>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/one-big-step-forward-three-small-steps-back/2-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/one-big-step-forward-three-small-steps-back/2-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/one-big-step-forward-three-small-steps-back/2-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/one-big-step-forward-three-small-steps-back/2-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>It’s great to see this clever and thoughtful button which is likely the best option here. But: </p>
<ul class="long-list">
        <li>It reshuffles everything else, preventing motor memory from building. At this point, you can no longer rely on “bottom left” to always be “custom date,” and so on with other buttons. (One idea would be to put it at the back but draw attention to it visually, or at least make it span the entire row.)</li>
        <li>It doesn’t show you the inferred date, even though there already is a precedent for doing that – especially important here as the feature seems to be powered by AI, which can get things wrong.</li>
        <li>The icon heavily promotes the AI association, which is not <em>that</em> useful. It would probably be better to show a truck or some other visual signifier of “delivery.”</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“I don’t like it but at least I know. Thanks.”</title>
    <link href="https://unsung.aresluna.org/i-dont-like-it-but-at-least-i-know-thanks" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/i-dont-like-it-but-at-least-i-know-thanks</id>
    <published>2026-03-21T12:23:31.366Z</published>
    <updated>2026-03-21T12:23:31.366Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The search for the <a href="https://unsung.aresluna.org/photoshops-challenges-with-focus-pt-1/">strangest Adobe setting</a> continues in Lightroom, where the first option in the Interface section is… end marks:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/1.1088w.avif" alt="" width="327" height="183">
      </picture></figure>
<p>Presently, only one option is there…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/2.1088w.avif" alt="" width="327" height="183">
      </picture></figure>
<p>…but at least back in 2012 there were many more:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/3.1088w.avif" alt="" width="529" height="600">
      </picture></figure>
<p>What does it do? It adds an old-time’y glyph at the end of either left or right panel.</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/4.1088w.avif" alt="" width="254" height="700">
        </picture></figure>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/5.1088w.avif" alt="" width="264" height="700">
        </picture></figure>
<p>The internet is rife with people perplexed by this option and I cannot deny – I’m one of them. (The title of this post is a <a href="https://community.adobe.com/questions-675/lightroom-classic-panel-endmarks-990893" target="_blank">reaction of one of the users</a>.) It feels like such a peculiar way to add delight.</p>
<p>You are not limited to the pre-existing (one) flourish, as you can upload your own. Some people add a logo of their production studio, but John Beardsworth found a <a href="http://lightroomsolutions.com/articles/panel-end-markers/" target="_blank">more creative use</a>:</p>
<blockquote><p>Alternatively, with a tiny bit of imagination you can exploit an often-forgotten detail of Lightroom’s interface – the “panel end marks”. These decorations at the bottom of Lightroom’s panels have often been derided as a waste of programming time, but in fact they can be made to serve more than their somewhat-trivial purpose. And as you can see in the examples on this page, they can serve as a reminder of star ratings, colour labels and even keyboard shortcuts for flags.</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/6.1088w.avif" alt="" width="278" height="349">
      </picture></figure>
<p>This is a fascinating hack, and an example of William Gibson’s <a href="https://en.wikipedia.org/wiki/Burning_Chrome" target="_blank">famous</a> “the street finds its own uses for things.” It made me curious why didn’t onscreen interfaces ever evolve to allow you to annotate them easily? You see stuff like this a lot in real life…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/7.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/8.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/9.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/10.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/11.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/11.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/11.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/11.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/11.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/12.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/12.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/12.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/12.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-dont-like-it-but-at-least-i-know-thanks/12.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>…but the Lightroom end mark hack is the only thing that comes to my mind where an onscreen UI got this kind of a treatment – and the feature wasn’t even intended for that use.</p><p><a href="https://unsung.aresluna.org/tags/adobe/">#adobe</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“Michael here will handle the bullshitting.”</title>
    <link href="https://unsung.aresluna.org/michael-here-will-handle-the-bullshitting" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/michael-here-will-handle-the-bullshitting</id>
    <published>2026-03-21T12:02:46.223Z</published>
    <updated>2026-03-21T12:02:46.223Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I linked to this opaquely <a href="https://unsung.aresluna.org/the-curse-of-the-cursor/">on Thursday</a>, but it deserves its own entry. Michael Bierut’s 2005 essay called “On (design) bullshit” is <a href="https://designobserver.com/on-design-bullshit/" target="_blank">one of my favourite design essays</a>:</p>
<blockquote><p>It follows that every design presentation is inevitably, at least in part, an exercise in bullshit. The design process always combines the pursuit of functional goals with countless intuitive, even irrational decisions. The functional requirements — the house needs a bathroom, the headlines have to be legible, the toothbrush has to fit in your mouth — are concrete and often measurable. The intuitive decisions, on the other hand, are more or less beyond honest explanation. These might be: I just like to set my headlines in <a href="http://www.vignelli.com/" target="_blank">Bodoni</a>, or I just like to make my products <a href="http://www.marc-newson.com/" target="_blank">blobby</a>, or I just like to cover my buildings in <a href="http://www.richardmeier.com/" target="_blank">gridded white porcelain panels</a>. In discussing design work with their clients, designers are direct about the functional parts of their solutions and obfuscate like mad about the intuitive parts, having learned early on that telling the simple truth — “I don’t know, I just like it that way” — simply won’t do.</p>
<p>So into this vacuum rushes the bullshit: theories about the symbolic qualities of colors or typefaces; unprovable claims about the historical inevitability of certain shapes, fanciful forced marriages of arbitrary design elements to hard-headed business goals. As [Harry G.] Frankfurt points out, it’s beside the point whether bullshit is true or false: “It is impossible for someone to lie unless he thinks he knows the truth. Producing bullshit requires no such conviction.” There must only be the desire to conceal one’s private intentions in the service of a larger goal: getting your client it to do it the way you like it.</p></blockquote>
<p>“I don’t know, I just like it that way” is such a tricky part of craft.</p><p><a href="https://unsung.aresluna.org/tags/craft/">#craft</a> <a href="https://unsung.aresluna.org/tags/storytelling/">#storytelling</a></p>]]></content>
  </entry>
  <entry>
    <title>Design is more</title>
    <link href="https://unsung.aresluna.org/design-is-more" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/design-is-more</id>
    <published>2026-03-20T23:11:22.415Z</published>
    <updated>2026-03-20T23:11:22.415Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>During my first year at Figma, I designed and printed a run of posters for the office titled “Design is more.” The idea was to highlight that UX design is more than people expect, and connected in interesting ways to other domains. Today, they feel like a spiritual predecessor to this blog.</p>
<p>The first series was three posters:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/design-is-more/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/design-is-more/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/design-is-more/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/design-is-more/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/design-is-more/1.1088w.avif" alt="" width="700" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/design-is-more/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/design-is-more/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/design-is-more/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/design-is-more/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/design-is-more/2.1088w.avif" alt="" width="700" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/design-is-more/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/design-is-more/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/design-is-more/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/design-is-more/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/design-is-more/3.1088w.avif" alt="" width="700" height="700">
      </picture></figure>
<p>I still (mostly) like them. I do believe that software can learn more about conveyance from video games; a lot of first-run experiences and particularly new feature onboarding still feel like a series of random pop-ups floating around the screen without much understanding of me as a user.</p>
<p>I would rewrite these posters, however, and particularly the Fitts’s Law examples: they’re generic and probably not as relevant to today’s applications.</p>
<p>After series one, we also collaboratively started working on series two, but the pandemic put a halt to the effort, and these posters were never finished/&#8203;printed. But the two below were perhaps closest to ready, and they seem fun today; I particularly liked the joke on the Hick’s Law one.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/design-is-more/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/design-is-more/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/design-is-more/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/design-is-more/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/design-is-more/4.1088w.avif" alt="" width="700" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/design-is-more/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/design-is-more/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/design-is-more/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/design-is-more/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/design-is-more/5.1088w.avif" alt="" width="700" height="700">
      </picture></figure>
<p>Jon Yablonski, the author of “Laws of UX,” made some posters in <a href="https://jonyablonski.bigcartel.com/" target="_blank">a similar vein</a> and they’re available for purchase. His are slightly more on the visual side, but I was delighted to discover today that we both chose a rather similar approach to visualizing the <a href="https://en.wikipedia.org/wiki/Zeigarnik_effect" target="_blank">Zeigarnik Effect</a>.</p>
<p>(200th blog post here!)</p><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a></p>]]></content>
  </entry>
  <entry>
    <title>The curse of the cursor</title>
    <link href="https://unsung.aresluna.org/the-curse-of-the-cursor" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-curse-of-the-cursor</id>
    <published>2026-03-19T20:57:27.401Z</published>
    <updated>2026-03-19T20:57:27.401Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I had no idea it was <a href="https://en.wikipedia.org/wiki/Alan_Kay" target="_blank">Alan Kay himself</a> who was responsible for the mouse pointer’s distinctive shape. In 2020, <a href="https://jameshk.com/mouse-cursor" target="_blank">James Hill-Khurana emailed him</a> and got this answer:</p>
<blockquote><p>The Parc mouse cursor appearance was done (actually by me) because in a 16x16 grid of one-bit pixels (what the Alto at Parc used for a cursor) this gives you a nice arrowhead if you have one side of the arrow vertical and the other angled (along with other things there, I designed and made many of the initial bitmap fonts).</p>
<p>Then it stuck, as so many things in computing do.</p></blockquote>
<p>And boy, did it stick.</p>
<p>But let’s rewind slightly. The first mouse pointer during the Doug Engelbart’s 1968 <a href="https://en.wikipedia.org/wiki/The_Mother_of_All_Demos" target="_blank">Mother Of All Demos</a> was an arrow faced straight up, which was the obvious symmetrical choice: </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/1.1088w.avif" alt="" width="798" height="700">
      </picture></figure>
<p>(You can see two of them, because Engelbart didn’t just invent a mouse – he also thought of a few steps after that, including multiple people collaborating via mice.)</p>
<p>But Kay’s argument was that on a pixelated screen, it’s impossible to do this shape justice, as both slopes of the arrow will be jagged and imprecise. (A second unvoiced argument is that the tip of the arrow needs to be a sharp solitary pixel, but that makes it hard to design a matching tail of the cursor since it limits your options to 1 or 3 or 5 pixels, and the number you want is probably 2.)</p>
<p>Kay’s solution was straightening the left edge rather than the tail, and that shape landed in Xerox Alto in the 1970s:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/2.1088w.avif" alt="" width="346" height="556">
      </picture></figure>
<p>Interestingly enough, the top facing cursor returned as one of the variants in Xerox Star, the 1981 commercialized version of Alto…</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/3.1088w.avif" alt="" width="766" height="700">
      </picture></figure>
<p>…but Star failed, and Apple’s Lisa in 1983 and Mac in 1984 followed in Alto’s footsteps instead. Then, 1985’s <a href="http://toastytech.com/guis/win101.html" target="_blank">Windows 1.0</a> grabbed a similar shape – only with inverted colors – and the cursor has looked the same ever since.</p>
<p>That’s not to say there weren’t innovations since (mouse trails useful on slow LCD displays of the 1990s, <a href="https://www.igorkromin.net/index.php/2015/10/03/and-the-best-osx-1011-el-capitan-feature-is-shake-to-locate/" target="_blank">shake to locate</a> that Apple added in 2015), or the more recent battles with the hand mouse pointer popularized by the web.</p>
<p>But the only substantial attempt at redesigning the mouse pointer that I am aware of came from Apple in 2020, during the introduction of trackpad and mousing to the iPad. The mouse pointer a) was now a circle, b) morphed into other shapes, and c) occasionally morphed into the hovered objects themselves, too:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/4-thumbnail.avif" width="800" height="389" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/4.1600w.mp4"></video></figure>

<figure>
        <video poster="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/5-thumbnail.avif" width="800" height="297" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/5.1600w.mp4"></video></figure>
<p><a href="https://developer.apple.com/br/videos/play/wwdc2020/10640/" target="_blank">The 40-minute deep dive video</a> is, today, a fascinating artifact. On one hand, it’s genuinely exciting to see someone take a stab at something that’s been around forever. Evolving some of the physics first tried in Apple TV’s interface feels smart, and the new inertia and magnetism mechanics are fun to think about.</p>
<p>But the high production value and Apple’s detached style robs the video of some authenticity. This is “Capital D Design” and one always has to remain slightly suspicious of highly polished design videos and the inherent propensity for <a href="https://designobserver.com/on-design-bullshit/" target="_blank">bullshit</a> that comes with the territory. Strip away the budget and the arguments don’t fully coalesce (why would the same principles that made text pointer snap vertically not extend to its horizontal movement?), and one has to wonder about things left unsaid (wouldn’t the pointer transitions be distracting and slow people down?).</p>
<p>Yet, I am speaking with the immense benefit of hindsight. Actually using that edition of the mouse pointer on my iPad didn’t feel like the revolution suggested, and barely even like an evolution. (Seeing Apple TV’s tilting buttons for the first time was a lot more enthralling.) And, Apple ended up undoing a bunch of the changes five years later anyway. The pointer went back to a familiar Alan Kay-esque shape…</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/6-thumbnail.avif" width="498" height="498" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/6.1600w.mp4"></video></figure>
<p>…and lost its most advanced morphing abilities:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/7-thumbnail.avif" width="800" height="600" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/7.1600w.mp4"></video></figure>
<p>Watching <a href="https://developer.apple.com/videos/play/wwdc2025/208/" target="_blank">the 2025 WWDC video mentioning the change</a> (the relevant parts start at 8:40) is another interesting exercise:</p>
<p>2020:</p>
<blockquote><p>We looked at just bringing the traditional arrow pointer over from the Mac, but that didn’t feel quite right on iPadOS. […] There’s an inconsistency between the precision of the pointer and the precision required by the app. So, while people generally think about the pointer in terms of giving you increased precision compared to touch, in this case, it’s helpful to actually reduce the precision of the pointer to match the user interface.</p></blockquote>
<p>2025:</p>
<blockquote><p>Everything on iPad was designed for touch. So the original pointer was circular in shape, to best approximate your finger in both size and accuracy. But under the hood, the pointer is actually capable of being much more precise than your finger. So in iPadOS 26, the pointer is getting a new shape, unlocking its true potential. The new pointer somehow feels more precise and responsive because it always tracks your input directly 1 to 1.</p></blockquote>
<p>(That “somehow” in the second video is an interesting slip up.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/8.1088w.avif" alt="" width="800" height="335">
      </picture></figure>
<p>I hope this doesn’t come across as making fun of the presenters, or even of the to-me-overdesigned 2020 approach. We try things, sometimes they don’t work, and we go back to what worked before.</p>
<p>I just wish Apple opened itself up a bit more; there are limits to the “we’ve always been at war with Eastasia” PR approach they practice in these moments, and I would genuinely be curious what happened here: Did people hate the circular pointer? Was it hard to adopt by app developers? Was it just a random casualty of Liquid Glass’s visual style, or perhaps the person who was the biggest proponent of it simply left Apple? We could all learn from this.</p>
<p>But the most interesting part to me is the resilience of the slanted mouse pointer shape. In a post-retina world, one could imagine a sharp edge at any angle, and yet we’re stuck with Kay’s original sketch – refined to be sure, but still sporting its slightly uncomfortable asymmetry.</p>
<p>The always-excellent Posy covered this <a href="https://www.youtube.com/watch?v=YThelfB2fvg" target="_blank">in the first 7 minutes of his YouTube video</a>:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=YThelfB2fvg" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/the-curse-of-the-cursor/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>But specifically one comment under that video caught my attention:</p>
<blockquote><p>Honestly, I’ve never thought of the mouse cursor as an arrow, but rather its own shape. My mind was blown when I realized that it was just an arrow the whole time.</p></blockquote>
<p>…because maybe this is actually the answer. Maybe the mouse pointer went on the same journey <a href="https://unsung.aresluna.org/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/%5C">floppy disk icon did</a>, and transcended its origins. It’s not an arrow shape anymore. It’s <em>the mouse pointer shape</em>,and it forever will be.</p><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>User interface sugar crash</title>
    <link href="https://unsung.aresluna.org/user-interface-sugar-crash" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/user-interface-sugar-crash</id>
    <published>2026-03-18T20:50:50.065Z</published>
    <updated>2026-03-18T20:50:50.065Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I think about some aspects of interface design as sugar.</p>
<p>This is how you adjust the photo in Photos app in the previous version of iOS:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/user-interface-sugar-crash/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/user-interface-sugar-crash/1-framed.1600w.webm"></video></figure>
<p>And this is the same view in the current version:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/user-interface-sugar-crash/2-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/user-interface-sugar-crash/2-framed.1600w.webm"></video></figure>
<p>The difference is in the delayed/&#8203;animated falling of the notches.</p>
<p>I don’t think it’s great. It’s “delightful” in a rudimentary and naïve sense, but like sugar, you cannot just add it to your daily diet without consequences. This extra animation serves no functional purpose, and the sugar high wears off quickly. What remains is constant distraction and overstimulation, the feeling of inherent slowness, and maybe even a bit of confusion.</p>
<p>It pairs nicely with the previous post about <a href="https://unsung.aresluna.org/and-to-make-matters-worse-complexity-sells-better/">avoiding complexity and rewarding simplicity</a>. I often see this kind of stuff as related to designer’s experience. Earlier on in your career, you are proud you’ve thought about this extra detail, you’ve figured out how to make this animation work and how to fine-tune the curves, and you’ve learned how to implement it or convince an engineer to get excited about it. </p>
<p>Later in your experience, you are proud you <em>resisted</em> it.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/motion-design/">#motion design</a></p>]]></content>
  </entry>
  <entry>
    <title>“And to make matters worse, complexity sells better.”</title>
    <link href="https://unsung.aresluna.org/and-to-make-matters-worse-complexity-sells-better" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/and-to-make-matters-worse-complexity-sells-better</id>
    <published>2026-03-18T20:26:18.912Z</published>
    <updated>2026-03-18T20:26:18.912Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A smart <a href="https://terriblesoftware.org/2026/03/03/nobody-gets-promoted-for-simplicity/" target="_blank">post by Matheus Lima at his Terrible Software blog</a>:</p>
<blockquote><p>What you just learned is that complexity impresses people. The simple answer wasn’t wrong. It just wasn’t interesting enough. And you might carry that lesson with you into your career. […]</p>
<p>It also shows up in design reviews. An engineer proposes a clean, simple approach and gets hit with “shouldn’t we future-proof this?” So they go back and add layers they don’t need yet, abstractions for problems that might never materialize, flexibility for requirements nobody has asked for. Not because the problem demanded it, but because the room expected it.</p></blockquote>
<p>I nodded to a lot of it. There’s some parallels to design, too. Perhaps in design, “future-proofed” gets replaced by “bespoke” – everyone wants a custom interface with a novel thing that doesn’t exist anywhere else in the app. That feels better. Tailor-made. <em>Special</em>. It’s hard to resist that, and go back to making your UI out of reusable parts, consistent, and boring in all the best possible ways.</p>
<p>This advice about how to talk about simplicity feels eminently universal:</p>
<blockquote><p>If you’re an engineer, learn that simplicity needs to be made visible. The work doesn’t speak for itself; not because it’s not good, but because most systems aren’t designed to hear it. […] The decision <em>not</em> to build something is a decision, an important one! Document it accordingly. […]</p>
<p>If you’re an engineering leader, this one’s on you more than anyone else. You set the incentives, whether you realize it or not. And the problem is that most promotion criteria are basically designed to reward complexity, even when they don’t intend to. “Impact” gets measured by the size and scope of what someone built, which more often than not matters! But what they avoided should also matter.</p>
<p>One more thing: pay attention to what you celebrate publicly. If every shout-out in your team channel is for the big, complex project, that’s what people will optimize for. Start recognizing the engineer who deleted code. The one who said “we don’t need this yet” and was right.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a></p>]]></content>
  </entry>
  <entry>
    <title>“I like to use Soviet control panels as a starting point.”</title>
    <link href="https://unsung.aresluna.org/i-like-to-use-soviet-control-panels-as-a-starting-point" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/i-like-to-use-soviet-control-panels-as-a-starting-point</id>
    <published>2026-03-18T02:45:54.180Z</published>
    <updated>2026-03-18T02:45:54.180Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>One of my favourite genres is “I’m going to teach you something secretly while you’re having fun.”</p>
<p><a href="https://interactionmagic.com/UX-LEGO-Interfaces" target="_blank">This 2020 post by George Cave</a> is ostensibly about Lego interface panels, but quietly sneaks in some stuff about <a href="https://unsung.aresluna.org/accidents-dropped-to-zero-overnight/">shape coding</a> and other kinds of coding:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/1.1088w.avif" alt="" width="800" height="534">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/2.1088w.avif" alt="" width="800" height="534">
      </picture></figure>
<p>The Lego interface panels seem to have a certain hold on people. Artist Love Hultén <a href="https://www.lovehulten.com/brixsystem.html" target="_blank">recreated some of them in a more human-compatible scale</a> and even made them interactive:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/3.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>It was fun to see one of the most well-crafted of early arcade games, Tempest, in this kind of a view, with the stud reimagined as a paddle controller:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/4.1088w.avif" alt="" width="800" height="449">
      </picture></figure>
<p>Just earlier this month, <a href="https://www.wattiv.nl/work/m2x2/" target="_blank">designer Paul Stall announced his project M2x2</a> (the page itself is beautiful and interesting to visit – I paticularly loved the horizontal galleries):</p>
<blockquote><p>The M2x2 is a functional homage to the classic Lego computer brick, upscaled and re-imagined as a high-performance workstation. […]</p>
<p>If our tools could look as playful as the things we built as kids, would we approach our work with more joy? The M2x2 is just the beginning of a workspace that feels less like an office and more like a laboratory for breakthroughs.</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/5.1088w.avif" alt="" width="584" height="328">
      </picture></figure>
<p>But both of these are enlarged Lego bricks. Three years ago, James Brown a.k.a. Ancient made an effort to embed an LCD screen in a regular-size Lego brick. It’s <a href="https://www.youtube.com/watch?v=6wBrOV2FJM8" target="_blank">a fun 12-minute video</a> of the construction process: </p>
<figure>
        <a href="https://www.youtube.com/watch?v=6wBrOV2FJM8" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>If you are into that kind of stuff, Brown followed it up 2 months later by <a href="https://www.youtube.com/watch?v=o76U0JPrMFk" target="_blank">putting a playable Doom inside a Lego brick</a>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/6.1088w.avif" alt="" width="800" height="522">
      </picture></figure>
<p>But the most amazing to me outcome was <a href="https://www.youtube.com/watch?v=Ib9cr8PDhIc" target="_blank">this video</a>, called “Busy little screens”:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/7-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/i-like-to-use-soviet-control-panels-as-a-starting-point/7.1600w.mp4"></video></figure>
<p>A lot of diversity of the original bricks is gone, but it’s hard to expect Brown to recreate and animate them all. It’s a mesmerizing thing to watch nonetheless; one can almost taste a future where the technology will allow for Lego bricks to be animated, but look exactly as they originally did.</p><p><a href="https://unsung.aresluna.org/tags/hardware/">#hardware</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Night mode predictions</title>
    <link href="https://unsung.aresluna.org/night-mode-predictions" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/night-mode-predictions</id>
    <published>2026-03-17T14:24:15.283Z</published>
    <updated>2026-03-17T14:24:15.283Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Night mode is a mode inside the iOS camera app where the app takes a longer-exposure photo in low-light conditions, but “stabilizes” it programmatically, to achieve something similar to holding a camera on a tripod for the same amount of time.</p>
<p>I noticed a little detail that might be new to iOS 26: the night mode icon will now show you how many seconds it expects you’ll have to hold it, ahead of pressing the shutter button.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/night-mode-predictions/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/night-mode-predictions/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/night-mode-predictions/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/night-mode-predictions/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/night-mode-predictions/1.1088w.avif" alt="" width="488" height="188">
      </picture></figure>
<p>This is me turning the light on and off in the hotel room. The icon is in the upper right corner:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/night-mode-predictions/2-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/night-mode-predictions/2-framed.1600w.webm"></video></figure>
<p>It’s hard for me to know how useful this is in practice, but the gesture seems nice. What I like about it, too, is density. By my calculation, this is 10-point type, smaller even than the battery percentage at about 12. (The standard interface elements usually go for 15–17.) Retina displays allow you to add text this small and have it still be legible.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/ios/">#ios</a></p>]]></content>
  </entry>
  <entry>
    <title>Photoshop’s challenges with focus, pt. 1</title>
    <link href="https://unsung.aresluna.org/photoshops-challenges-with-focus-pt-1" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/photoshops-challenges-with-focus-pt-1</id>
    <published>2026-03-17T02:43:44.358Z</published>
    <updated>2026-03-17T02:43:44.358Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>You can tell the story of Mac OS <a href="https://aresluna.org/frame-of-preference" target="_blank">via the story of its settings</a>, and the same is likely true of Photoshop.</p>
<p>Recently, spelunking in the preferences of Photoshop 2025, I found this extremely curious thing:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-1/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-1/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-1/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-1/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/photoshops-challenges-with-focus-pt-1/1.1088w.avif" alt="" width="800" height="495">
      </picture></figure>
<p>To transcribe:</p>
<blockquote><p>Focus mode limits the appearance of certain optional user interface messages so that you can use Photoshop with fewer interruptions.</p>
<p>With this option enabled:</p>
<ul class="long-list">
        <li>The Welcome screen will not include “what’s new” feature descriptions</li>
        <li>Blue in-product alerts promoting discovery and use of certain features will be suppressed</li>
        <li>What’s New will not auto start when Photoshop is launched</li>
        <li>The color mode preference will be auto set to “Neutral Color Mode”</li>
      </ul></blockquote>
<p>The three first options should be self explanatory. Neutral Color Mode is sort of the “graphite” option of Photoshop’s UI where the (already rare?) accented blue elements become white instead.</p>
<p>As much as I’ll always applaud a piece of software working on annoying you less, this is all so very strange. I don’t mean that the last option seems unrelated, and the first and third one kind of mutually exclusive… but just the very idea of shoving it in as an opt-in in the last tab of settings, under “technology previews”, and <a href="https://www.reddit.com/r/photoshop/comments/1jfq6lx/help_shape_photoshop_feedback_on_focus_mode/" target="_blank">asking people for feedback</a> feels peculiar to me.</p>
<p>Not to spoil the outcome, but even this “technology preview” is completely gone in the updated Photoshop 2026. I wonder if this is fallout from a mangled launch (even for those few who I imagined turned it on, the <a href="https://community.adobe.com/feature-requests-713/focus-mode-not-working-656304" target="_blank">option didn’t live up</a> to <a href="https://community.adobe.com/questions-700/new-beta-feature-focus-mode-669702" target="_blank">its promise</a>), but also perhaps a political fight inside Adobe between product and growth teams? I bet we’ll never know.</p>
<p>I do not personally have a grand unified theory of how to explain things or announce features in products because it’s so situational, and I understand that especially Photoshop given its age might be the hardest difficulty level. I’d personally prefer to receive announcements of new features over email so I can read them at my leisure, and with each new thing or change linked to a playground that would allow me to experience it in the best way – but I can’t say with any certainty that this would work for everyone.</p>
<p>But I would expect people on the Photoshop team to have more experience here, and this focus mode approach just feels a bit… naïve to me. My two warm takes: 1. People aren’t generally as frustrated with <em>how</em> features are announced, but with <em>what</em> features are. 2. Why wouldn’t <em>everyone</em> deserve the gift of focus?</p><p><a href="https://unsung.aresluna.org/tags/adobe/">#adobe</a> <a href="https://unsung.aresluna.org/tags/attention/">#attention</a> <a href="https://unsung.aresluna.org/tags/change-management/">#change management</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a></p>]]></content>
  </entry>
  <entry>
    <title>“Just because it’s consistent doesn’t mean it’s consistently right.”</title>
    <link href="https://unsung.aresluna.org/just-because-its-consistent-doesnt-mean-its-consistently-right" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/just-because-its-consistent-doesnt-mean-its-consistently-right</id>
    <published>2026-03-16T10:59:38.736Z</published>
    <updated>2026-03-16T10:59:38.736Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I mentioned before how the old-fashioned pixels on CRT screens <a href="https://unsung.aresluna.org/ugly-in-a-way-thats-pretty/">have little in common with pixels of today</a>. The old pixels were huge, imprecise, blending with each other, and requiring a very different design approach.</p>
<p>Some years ago, the always-excellent Tech Connections also had a great video about how in the era of analog television, <a href="https://www.youtube.com/watch?v=Ea6tw-gulnQ" target="_blank">pixels didn’t even exist</a>.</p>
<p>But earlier this month, MattKC published <a href="https://www.youtube.com/watch?v=7JupB4QHyGI" target="_blank">a fun 8-minute video</a> arguing that for early video games it wasn’t just pixels that were imprecise. It was also <em>colors</em>. </p>
<figure>
        <a href="https://www.youtube.com/watch?v=7JupB4QHyGI" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-because-its-consistent-doesnt-mean-its-consistently-right/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-because-its-consistent-doesnt-mean-its-consistently-right/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/just-because-its-consistent-doesnt-mean-its-consistently-right/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/just-because-its-consistent-doesnt-mean-its-consistently-right/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/just-because-its-consistent-doesnt-mean-its-consistently-right/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>What was Mario’s original reference palette? Which shade of blue is the correct one? Turns out… there isn’t one. </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-because-its-consistent-doesnt-mean-its-consistently-right/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-because-its-consistent-doesnt-mean-its-consistently-right/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-because-its-consistent-doesnt-mean-its-consistently-right/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-because-its-consistent-doesnt-mean-its-consistently-right/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/just-because-its-consistent-doesnt-mean-its-consistently-right/1.1088w.avif" alt="" width="800" height="452">
      </picture></figure>
<p>Come to learn some details about how the American NTSC TV standard (“Never The Same Color”) worked, stay for a cruel twist about PAL, its European equivalent.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/super-mario-bros/">#super mario bros</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Adjust in smaller steps</title>
    <link href="https://unsung.aresluna.org/adjust-in-smaller-steps" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/adjust-in-smaller-steps</id>
    <published>2026-03-15T22:10:43.147Z</published>
    <updated>2026-03-15T22:10:43.147Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In the video linked in <a href="https://unsung.aresluna.org/why-do-we-care-about-numbers-numbers-make-me-mad/">the previous post</a>, one of the hosts mentions at one point:</p>
<blockquote><p>The biggest rebuttal is that the greatest audio engine of all time, the one baked into all Apple products, has 16 volume steps. And no one has ever been like, “My iPhone doesn’t have enough granularity to the volume.”</p></blockquote>
<p>But <em>of course </em>they have. And the solution is easy: on both the iPhone and Mac you can grab one of the many volume sliders and immediately get a lot more precision:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/1.1088w.avif" alt="" width="469" height="78">
      </picture></figure>
<p>(Can’t help but notice this volume control has a nice set of notches, too!)</p>
<p>But if I told you that you can actually also increase the precision from 16 to 64 stops using the volume up/down keys, would you know how to do it?</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/2-thumbnail.avif" width="220" height="220" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/2.1600w.mp4"></video></figure>
<p>Occam’s Razor: it must be a modifier key. So let’s go through them all.</p>
<p>Pressing ⌥ and brightness up/down opens the Displays settings pane, and consequently, pressing ⌥ and any of the three volume keys gives you the Sound settings pane. (This convention, however, isn’t followed for other keys. ⌥ and Mission Control only opens top level of Settings, and ⌥ and other function keys like Spotlight, Dictation, or media transport doesn’t do anything. My guess is that someone simply forgot about this over time which is a pity, because one of the best ways to teach people about a power-user shortcut is to make it as transferrable as possible, to allow motor memory to blossom.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/3.1088w.avif" alt="" width="800" height="67">
      </picture></figure>
<p>So ⌥ is out. ⌃ and brightness keys changes the brightness <em>on the external display</em>, and even though that doesn’t really apply to volume, it’s safe to stay away.</p>
<p>⇧ + volume keys reverses the meaning of this toggle below, making ping sounds if the toggle is off, or suppressing them if the toggle is on. This is nice.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/adjust-in-smaller-steps/4.1088w.avif" alt="" width="467" height="53">
      </picture></figure>
<p>That only leaves Fn/Globe which already reverses top-row keys into function keys, and ⌘. But ⌘ is inert. Instead, the combination to add precision is ⌥ + ⇧ + volume keys. (Same with brightness, which can be useful e.g. on a very dark plane.)</p>
<p>I don’t understand this, and I wonder what is the reason it got this way. Modifier keys are generally tricky, but this doesn’t follow any of the go-to rules I would try in this situation:</p>
<ul class="long-list">
        <li>Reuse an existing convention for consistency: I don’t think anywhere else ⌥⇧ means “precision.”</li>
        <li>Follow naturally from existing UI building blocks: ⌥ and ⇧ do different things and this is not an intuitive combination of what they do independently.</li>
        <li>Use mnemonics: This doesn’t feel like it’s doing that at all.</li>
        <li>Failing everything else, make it pleasant to press: ⌥ and ⇧ is possibly the least ergonomic two-modifier-key combination.</li>
      </ul>
<p>This shortcut has another problem, which is that it is the only two-modifier-key option here. If you don’t use it often, you might only remember it as “two modifier keys” without further detail, which actually ends up being 10 possible combinations of keys! So if you’re like me, you always awkwardly button mash a bunch of them before rediscovering ⌥⇧.</p>
<p>My recommendation for a small tweak here?</p>
<ul class="long-list">
        <li>⇧ and brightness/&#8203;volume: Secondary display/Add pings (both are most important; Shift is nice to press and the “default” modifier key).</li>
        <li>⌃ and brightness/&#8203;volume: Add extra precision (as that gives you more <em>control</em>).</li>
        <li>⌥ and brightness/&#8203;volume/other keys: Open the relevant Settings pane.</li>
      </ul>
<p>Obviously, I might not have all the information that led to the current situation (and it’s possible I don’t even understand it fully), plus changing any long-existing shortcuts is hard. But as above, ⌥⇧ is so peculiar, and it also misses out on the last important consideration: I don’t think anyone would ever discover it by mistake or out of curiosity.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a></p>]]></content>
  </entry>
  <entry>
    <title>“Why do we care about numbers? Numbers make me mad.”</title>
    <link href="https://unsung.aresluna.org/why-do-we-care-about-numbers-numbers-make-me-mad" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/why-do-we-care-about-numbers-numbers-make-me-mad</id>
    <published>2026-03-15T16:25:27.068Z</published>
    <updated>2026-03-15T16:25:27.068Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>MKBHD’s Waveform podcast (<a href="https://podcasts.apple.com/us/podcast/waveform-the-mkbhd-podcast/id1474429475" target="_blank">audio</a> or <a href="https://www.youtube.com/watch?v=McfQrmbOvv8" target="_blank">video</a>) sometimes has a fun “Did they even test this?” section. This week, for the first 12 minutes, the team was ranting about various volume controls – a meandering conversation that I also found just very enjoyable.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/1.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>The cited answer to “why do a lot of car volume controls max out at 38?” is in <a href="https://www.caranddriver.com/features/a38540337/dyer-2021-stellantis-cadillac-bronco/" target="_blank">a 2021 article from Car And Driver</a>:</p>
<blockquote><p>But then some research revealed that about 20 years ago, Chrysler decided to try to find the perfect volume interval, one that would result in meaningful difference in sound level without going too far. After much experimentation, they decided that 38 discrete volume settings provided the perfect amount of adjustability—not too fine, not too coarse. So the decree went out across the company that all stereos should go to 38. </p></blockquote>
<p>However, no citation is given, and I couldn’t find any more information about it.</p>
<p>The one thing the group missed in their discussion is “why even show a number”? I think it helps people in remembering their preference, especially if they share a car with someone else. Remembering that “my volume number is 17” can be helpful, even if it feels a bit clunky.</p>
<p>When volume controls were physical, I believe if they didn’t have a number, they at least had a certain amount of notches so you could remember the nearest notch you liked:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/2.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/3.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/4.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/5.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/6.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/7.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/8.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Keynote is an app that could use something like that. At this very moment, I am trying to unify the volume of various clips across slides for an upcoming presentation, and having to use environmental cues like “between Edit Movie below and the rewind button above”:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/why-do-we-care-about-numbers-numbers-make-me-mad/9.1088w.avif" alt="" width="271" height="460">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/podcast/">#podcast</a></p>]]></content>
  </entry>
  <entry>
    <title>“Their attitudes about the issues still shifted.”</title>
    <link href="https://unsung.aresluna.org/their-attitudes-about-the-issues-still-shifted" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/their-attitudes-about-the-issues-still-shifted</id>
    <published>2026-03-14T22:04:39.753Z</published>
    <updated>2026-03-14T22:04:39.753Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have been at times frustrated by cute placeholder text in places, most notably Dropbox Paper, which still puts them in a just-created doc… </p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/1.1088w.avif" alt="" width="800" height="194">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/2.1088w.avif" alt="" width="800" height="194">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/3.1088w.avif" alt="" width="800" height="194">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/4.1088w.avif" alt="" width="800" height="194">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/5.1088w.avif" alt="" width="800" height="194">
      </picture></figure>
<p>…and in new to-do items:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/6.1088w.avif" alt="" width="771" height="32">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/7.1088w.avif" alt="" width="771" height="32">
      </picture></figure>
<p>This bothered me for two reasons.</p>
<p>First was a potential tone mismatch. What if you are writing a layoffs announcement, a project cancellation doc, or something personal and heartfelt? At Medium back in the day, at some point we added a fun celebratory dialog after publishing that said something like “Now, shout it out from the rooftops!” We took it down very quickly as people made us realize Medium is used to write many kinds of things we didn’t anticipate, and in those situations the cutesy message really failed to read the room.</p>
<p>But the other half of my frustration with Paper was that it felt like the app was making itself too comfortable in my space, in effect shouting all over my inner voice and distracting me. I felt like any app giving you a creative canvas should back off of that canvas unless it’s explicitly invited to participate.</p>
<p>Turns out, I can now attach something tangible to that discomfort. <a href="https://www.scientificamerican.com/article/ai-autocomplete-doesnt-just-change-how-you-write-it-changes-how-you-think/" target="_blank">From Scientific American earlier this week</a> (emphasis mine):</p>
<blockquote><p>The researchers asked participants to fill in an online survey with questions about hot-button social and political issues. Some were prompted with an AI autocomplete answer that was deliberately biased toward one side of the issue. For example, participants who were asked whether they agreed that the death penalty should be legal might receive an AI suggestion that disagreed.</p>
<p>Across all the different topics in the survey, participants who saw the AI autocomplete prompts reported attitudes that were more in line with the AI’s position—<em>including people who didn’t use the AI’s suggested text at all. </em>Overall, the study participants who saw the biased AI text shifted their positions toward those espoused by the AI.</p>
<p>Interestingly, <em>the people in the study didn’t tend to think the AI autocomplete suggestions were biased </em>or to notice that they had changed their own thinking on an issue in the course of the study. </p></blockquote>
<p>The <a href="https://www.science.org/doi/10.1126/sciadv.adw5578" target="_blank">quoted study</a> shows an example…</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/their-attitudes-about-the-issues-still-shifted/8.1088w.avif" alt="" width="755" height="700">
      </picture></figure>
<p>…and elaborates on how adding warnings didn’t really help:</p>
<blockquote><p>The Warning and Debrief messages failed to significantly reduce the attitude shift, which is concerning because they were also inspired by those used in real AI applications. AI tools such as ChatGPT show brief and general statements about AI’s propensity to hallucinate false information (e.g., “ChatGPT is AI and can make mistakes. Check important info.”), similar to the messages used in our interventions.</p></blockquote>
<p>I know on this blog I often focus on the mechanics of interactions, but the job of every designer is to think of more than that. I keep coming back to both pull-to-refresh and infinite scroll mechanics. Both can be put to good use and feel “delightful,” but both started being abused so much that it led to their respective creators <a href="https://www.theguardian.com/technology/2017/oct/05/smartphone-addiction-silicon-valley-dystopia" target="_blank">disowning</a> <a href="https://www.thetimes.com/business/technology/article/i-m-so-sorry-says-inventor-of-endless-online-scrolling-9lrv59mdk" target="_blank">them</a>.</p><p><a href="https://unsung.aresluna.org/tags/ai/">#ai</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
  <entry>
    <title>Thirteen characters</title>
    <link href="https://unsung.aresluna.org/thirteen-characters" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/thirteen-characters</id>
    <published>2026-03-14T21:25:50.344Z</published>
    <updated>2026-03-14T21:25:50.344Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Nice, clear, simple copy in ClarisWorks from 1997:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thirteen-characters/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/thirteen-characters/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thirteen-characters/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/thirteen-characters/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/thirteen-characters/1.1088w.avif" alt="" width="800" height="201">
      </picture></figure>
<p>No “Maybe later.” No “Not now.” Thirteen characters. Now, Later, Never.</p>
<p>(Can’t help but notice that Esc and ⌘. – the classic Mac’s equivalent of Esc – still map to Later, however. Also, this breaks the rule of button copy being fully comprehensible without having to read the surrounding strings first, perhaps most well-known as the “avoid «click here»” rule. Never Register/&#8203;Register Later/&#8203;Register Now would solve that problem, but wouldn’t look so neat.)</p><p><a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a> <a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
  <entry>
    <title>“We’re going to start out by going to the FAKEY folder.”</title>
    <link href="https://unsung.aresluna.org/were-going-to-start-out-by-going-to-the-fakey-folder" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/were-going-to-start-out-by-going-to-the-fakey-folder</id>
    <published>2026-03-14T18:03:30.385Z</published>
    <updated>2026-03-14T18:03:30.385Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>One of my favorite bits of trivia about the 1983 movie WarGames is that all the computer typing scenes have been faked in a clever way: The actors (many of whom might have never typed before, as home computers were only slowly becoming popular) were allowed to press any key they wanted, but the interface would still proceed as if the correct letter was typed.</p>
<p>This allowed the computer to respond to keystrokes, making it all feel real, but also reduced the burden on actors to type things properly – and also make it easier for proper sight lines to happen, as the actors didn’t have to constantly look at the keyboard.</p>
<p>WarGames used it really well, showing all sorts of face reflections in the CRT screens, as if people literally talked to the machines, which must have been hell to film:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/were-going-to-start-out-by-going-to-the-fakey-folder/1-thumbnail.avif" width="800" height="430" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/were-going-to-start-out-by-going-to-the-fakey-folder/1.1600w.mp4"></video></figure>
<p>I have never seen this demoed or mentioned outside of the anecdote. However, yesterday, Cathode Ray Dude released <a href="https://youtu.be/qicQUvSUbPM?si=BGvcxZYkuzKhj8i2&amp;t=5533" target="_blank">an excellent video about the challenges of filming computer screens</a>. The whole video is worth watching, although at this point mostly off-topic for this blog. But starting at 1:32 and ending around 1:37, there’s an actual demo of a similar piece of auto-typing software used in the 1996 movie Scream:</p>
<figure>
        <a href="https://youtu.be/qicQUvSUbPM?si=BGvcxZYkuzKhj8i2&amp;t=5533" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/were-going-to-start-out-by-going-to-the-fakey-folder/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/were-going-to-start-out-by-going-to-the-fakey-folder/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/were-going-to-start-out-by-going-to-the-fakey-folder/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/were-going-to-start-out-by-going-to-the-fakey-folder/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/were-going-to-start-out-by-going-to-the-fakey-folder/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>You might think this is just a piece of old-computer trivia, but I’ve actually used that in at least two of my talks, for some of the similar reasons! I run most of my talks from HTML/CSS/JS; it’s nice for the audience to see things being typed and responding properly to (audible, and occasionally visible) key presses – but it’s also nice as a speaker not to worry about messing things up under pressure.</p>
<p>For extra realism, make sure Backspace goes back in the script – you might occasionally press it instinctively – and for extra <em>extra</em> verisimilitude, actually bake in a typo or two into the predefined sequence. (And an escape hatch if you actually change your mind and want to go manual.)</p>
<p>Then, of course, there’s a classic 2011 piece of software called <a href="https://hackertyper.net/" target="_blank">HackerTyper</a>. Did someone already marry this idea with an LLM? Seems like a logical next step.</p><p><a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Juggling my phone, my camera, and the umbrella, having to tap the wet screen multiple times to get anything done”</title>
    <link href="https://unsung.aresluna.org/juggling-my-phone-my-camera-and-the-umbrella-having-to-tap-the-wet-screen-multiple-times-to-get-anything-done" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/juggling-my-phone-my-camera-and-the-umbrella-having-to-tap-the-wet-screen-multiple-times-to-get-anything-done</id>
    <published>2026-03-13T15:12:53.431Z</published>
    <updated>2026-03-13T15:12:53.431Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I know some of you are all whispering “he’s posting all of these hour-long YouTube videos, when am I supposed to find time to watch them”? I hear you loud and clear and I’m going to make it better…</p>
<p>…by sharing this <a href="https://www.youtube.com/watch?v=T0CpOYZZZW4" target="_blank">four-plus-hour long YouTube video by Jenny Nicholson</a> from May 2024 – just so those other videos will feel short in comparison:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=T0CpOYZZZW4" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/juggling-my-phone-my-camera-and-the-umbrella-having-to-tap-the-wet-screen-multiple-times-to-get-anything-done/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/juggling-my-phone-my-camera-and-the-umbrella-having-to-tap-the-wet-screen-multiple-times-to-get-anything-done/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/juggling-my-phone-my-camera-and-the-umbrella-having-to-tap-the-wet-screen-multiple-times-to-get-anything-done/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/juggling-my-phone-my-camera-and-the-umbrella-having-to-tap-the-wet-screen-multiple-times-to-get-anything-done/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/juggling-my-phone-my-camera-and-the-umbrella-having-to-tap-the-wet-screen-multiple-times-to-get-anything-done/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>Seriously, though, this is an extremely enjoyable deep dive into Disney’s failed Galactic Starcruiser hotel.</p>
<p>I don’t know much about Disney, but it was engrossing as half of the failures were actually software-related: from the flawed UI in various spaces in the hotel and screen-laden space windows in the rooms, to poor integration with physical elements of the scenery, an “immersive” interactive game that felt untested plus gave you poor feedback, and the general trends of laziness and cheapness that could never fully be remedied by the performers going above and beyond.</p>
<p>What Nicholson does a lot is trying to debug what actually happened to make her experience so miserable, and it’s really refreshing to see debugging in a different context than I usually see it.</p><p><a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Software proprioception</title>
    <link href="https://unsung.aresluna.org/software-proprioception" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/software-proprioception</id>
    <published>2026-03-12T14:35:13.841Z</published>
    <updated>2026-03-12T14:35:13.841Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>There are fun things you can do in software when it is aware of the dimensions and features of its hardware.</p>
<p>iPhone does a cute Siri animation that emanates precisely from the side button:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/software-proprioception/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/software-proprioception/1-framed.1600w.webm"></video></figure>
<p>A bunch of Android phones visualize the charge flowing to the phone from the USB port…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/2.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>…and even the whole concept of iPhone’s Dynamic Island is software cleverly camouflaging missing pixels as a background of a carefully designed, ever morphing pill.</p>
<p>But this idea has value beyond fun visuals. iPhone telling you where exactly to tap twice for confirming payment helps you do that without fumbling with your phone to locate the side button:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/software-proprioception/3-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/software-proprioception/3-framed.1600w.webm"></video></figure>
<p>Same with the iPad pointing to the otherwise invisible camera when it cannot see you:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/4.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Even the maligned Touch Bar also did something similar for its fingerprint reader:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/5.1088w.avif" alt="" width="693" height="700">
      </picture></figure>
<p>The rule here would be, perhaps, a version of “show, don’t tell.” We could call it “point to, don’t describe.” (Describing what to do means cognitive effort to read the words and understand them. An arrow pointing to something should be easier to process.)</p>
<p>You could even argue the cute MagSafe animation is not entirely superfluous, as over time it helps you internalize the position of the otherwise invisible magnets on the other side of your phone:</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/software-proprioception/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/6.1088w.avif" alt="" width="365" height="700">
        </picture></figure>
<p>In a similar way, as it moved away from the home button, iPhone X introduced light bars at two edges of the screen – one very aware of the notch – as swiping affordances:</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/software-proprioception/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/7.1088w.avif" alt="" width="354" height="700">
        </picture></figure>
<p>And under-the-screen fingerprint readers basically <em>need </em>asoftware/&#8203;hardware collab to function:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/8.1088w.avif" alt="" width="800" height="451">
      </picture></figure>
<p>One of my favourite versions of this kind of integration is from much earlier, where various computers helped you map the “soft” function keys to their actual functions, which varied per app…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/9.1088w.avif" alt="" width="800" height="607">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/10.1088w.avif" alt="" width="800" height="534">
      </picture></figure>
<p>…and the famous <a href="https://sharktastica.co.uk/wiki/ibm-model-m" target="_blank">Model M keyboard</a> moving its keys to the top row helped PC software do stuff like this more easily:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/11.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/11.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/11.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/11.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/11.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>(And now I’m going to ruin this magical moment by telling you the cheap ATM machine that you hate does the same thing.)</p>
<p>The last example I can think of (but please send me your nominations!) is the much more sophisticated and subtle way Apple’s device simulator incorporates awareness of the screen’s physical size <em>and</em> awareness of the dimensions of the simulated device. Here’s me using the iPhone Simulator on my 27″ Apple display. If I choose the Physical Size zoom option, it matches the dimensions of my phone precisely. The way I know this is not an accident is that it <em>remains perfectly sized</em> if I change the density of the whole UI in the settings.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/software-proprioception/12-thumbnail.avif" width="394" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/software-proprioception/12.1600w.mp4"></video></figure>
<p>Why am I thinking about it all this week? </p>
<p>The new MacBook Neo was released with two USB-C ports. Only one of the ports is USB 3, suitable for connecting a display, an SSD, and so on. The other port’s speeds are lower, appropriate only for low-throughput devices like keyboards and mice.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/13.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/13.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/13.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/13.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/13.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>To Apple’s credit, macOS helps you understand the limitations – since the ports look the same and the USB-C cables are a hot mess, I think it is correct and welcome to try to remedy this in software. It looks like this, appearing in the upper right corner like all the other notifications:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/14.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/software-proprioception/14.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/14.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/software-proprioception/14.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/software-proprioception/14.1088w.avif" alt="" width="800" height="275">
      </picture></figure>
<p>I think this is nice! But it’s also just words. It feels a bit <a href="https://unsung.aresluna.org/houston-we-have-1-problems/">cheap</a>. macOS knows exactly where the ports are, and could have thrown a little warning in the lower left corner of the screen, complete with an onscreen animation of swapping the plug to the other port – similar to what “double clicking to pay” does, so you wouldn’t have to look to the side to locate the socket first.</p>
<p>“Point to, don’t describe” – this feels like a perfect opportunity for it.</p><p><a href="https://unsung.aresluna.org/tags/android/">#android</a> <a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/ios/">#ios</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a></p>]]></content>
  </entry>
  <entry>
    <title>“A few small details I use to make my interfaces feel better.”</title>
    <link href="https://unsung.aresluna.org/a-few-small-details-i-use-to-make-my-interfaces-feel-better" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-few-small-details-i-use-to-make-my-interfaces-feel-better</id>
    <published>2026-03-11T14:04:34.696Z</published>
    <updated>2026-03-11T14:04:34.696Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I enjoy little lists like these, and the presentation here is also delightful. From a design engineer Jakub Krehel, <a href="https://jakub.kr/writing/details-that-make-interfaces-feel-better" target="_blank">Details that make interfaces feel better</a>. A few of these stood out to me:</p>
<blockquote><p>Make your animations interruptible. […] Users often change their intent mid-interaction. For example, a user may open a dropdown menu and decide they want to do something else before the animation finishes.</p></blockquote>
<p>Yes. Never make the user wait for your animation to finish<em>, </em>unless the animation itself is meant to cause friction and slow the user down (which is very rare).</p>
<blockquote><p>Make exit animations subtle. Exit animations usually work better when they’re more subtle than enter animations.</p></blockquote>
<p>I love asymmetric transitions. My go-to analogy for this is “in real life, you don’t open the door the same way you close it.”</p>
<blockquote><p>Add outline to images. A visual tweak I use a lot is adding a 1px black or white (depending on the mode) outline with 10% opacity to images.</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-small-details-i-use-to-make-my-interfaces-feel-better/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-few-small-details-i-use-to-make-my-interfaces-feel-better/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-small-details-i-use-to-make-my-interfaces-feel-better/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-few-small-details-i-use-to-make-my-interfaces-feel-better/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-few-small-details-i-use-to-make-my-interfaces-feel-better/1.1088w.avif" alt="" width="623" height="304">
      </picture></figure>
<p>This is very nice and (both literally and figuratively) sharp. In some contexts, I bet you could even try to go for 0.5px.</p>
<p>(If you liked this page, it’s worth checking out <a href="https://jakub.kr/" target="_blank">Krehel’s other explainers</a>, for example <a href="https://jakub.kr/work/gradients" target="_blank">about gradients</a> or <a href="https://jakub.kr/work/drag-gesture" target="_blank">drag gestures</a>.)</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/frontend/">#frontend</a></p>]]></content>
  </entry>
  <entry>
    <title>“Houston, we have 1 problem(s).”</title>
    <link href="https://unsung.aresluna.org/houston-we-have-1-problems" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/houston-we-have-1-problems</id>
    <published>2026-03-10T20:58:31.287Z</published>
    <updated>2026-03-10T20:58:31.287Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In my head, some bugs belong to categories that feel important, and yet remain hard to define and quantify: <a href="https://unsung.aresluna.org/problem-solved-right-well-not-exactly/">embarrassing bugs</a>, <a href="https://unsung.aresluna.org/im-with-stupid-/">dumb bugs</a>, flow killers.</p>
<p>Somewhere in the hard-to-explain space is another tricky category: UI decisions that feel <em>cheap.</em></p>
<p>The examples of cheapness that come to my mind readily will, I bet, be different for each one of you reading this:</p>
<ul class="long-list">
        <li>using emoji instead of iconography </li>
        <li>using text and typography instead of graphic design elements as UI (except in terminal/&#8203;text-based interfaces)</li>
        <li>excessive centering</li>
        <li>obvious misalignments and overflows</li>
        <li>accidentally mismatched fonts and unspecified fallback fonts</li>
        <li>reflow and bad loading states that do not match the eventual UI</li>
        <li>selectable user interface element that betray “bad webiness” of the UI</li>
        <li>typos</li>
      </ul>
<p>But my absolute #1 go-to example is definitely this: </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/houston-we-have-1-problems/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/houston-we-have-1-problems/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/houston-we-have-1-problems/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/houston-we-have-1-problems/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/houston-we-have-1-problems/1.1088w.avif" alt="" width="504" height="294">
      </picture></figure>
<p>Computers could pluralize nouns basically for free already in the 1970s, and sure, there are objective arguments of why this is bad, but there’s also this: I wince <em>so hard</em> every time I see something like this. </p>
<p>I think it’s important for every designer to notice when they wince, and teach others how to wince and notice, too. </p>
<p>(I stole the brilliant title from this <a href="https://mrjoe.uk/ui-plurals-problem/" target="_blank">short post</a> by Joe Leech in 2018, in which Leech uses the word “lazy” rather than “cheap” – they’re related!)</p><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
  <entry>
    <title>“Two lights that you never want to see when you’re landing on the Moon.”</title>
    <link href="https://unsung.aresluna.org/two-lights-that-you-never-want-to-see-when-youre-landing-on-the-moon" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/two-lights-that-you-never-want-to-see-when-youre-landing-on-the-moon</id>
    <published>2026-03-10T16:09:06.542Z</published>
    <updated>2026-03-10T16:09:06.542Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Many of you have probably heard the repeated story of the first Moon landing in 1969 almost getting undone by a bunch of onboard computer glitches:</p>
<blockquote><p>There could not be a worse time in the flight to have computer problems. At, the time the press gleefully reported how Armstrong seized manual control from a crippled and failing onboard computer and managed to heroically and single-handedly land the spaceship on the surface of the Moon against all odds. </p></blockquote>
<p>Robert Wills argues against this narrative <a href="https://youtu.be/B1J2RMorJXM?si=-XYqqJXJxXTE1_vC" target="_blank">in this 2020 talk</a>, wanting to shine a spotlight away from Neil Armstrong and toward people who designed the software (among them <a href="https://web.archive.org/web/20201101011649/https://members.tortoisemedia.com/2019/07/13/nasa-margaret/content.html" target="_blank">Margaret Hamilton</a>), and the mission control’s <a href="https://en.wikipedia.org/wiki/Steve_Bales" target="_blank">Steve Bales</a>, who made a decision not to abort the launch as the 1201 and 1202 errors were piling up.</p>
<figure>
        <a href="https://youtu.be/B1J2RMorJXM?si=-XYqqJXJxXTE1_vC" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/two-lights-that-you-never-want-to-see-when-youre-landing-on-the-moon/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/two-lights-that-you-never-want-to-see-when-youre-landing-on-the-moon/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/two-lights-that-you-never-want-to-see-when-youre-landing-on-the-moon/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/two-lights-that-you-never-want-to-see-when-youre-landing-on-the-moon/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/two-lights-that-you-never-want-to-see-when-youre-landing-on-the-moon/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The argument: the computer was working as intended, it fixed itself over and over again owing to its clever software, and it actually helped Buzz Aldrin understand (at least subconsciously) what led to the seemingly random and distracting computer errors.</p>
<p>The above is more of a traditional talk than the videos I usually share – a bit more technical, taking up an entire hour, and with generic slides – but it’s buoyed by Wills’s enthusiasm and knowledge.</p>
<p>Besides, it’s lunar landing! Did you know about DSKY and its fascinating keyboard and UI? Did you know the spacecraft’s <em>window</em> was part of the interface, too? Or that its software was woven into the hardware? Or that the Apollo 11 had a… guillotine in it?</p>
<p>Unaddressed in the talk, but <a href="https://www.smithsonianmag.com/air-space-magazine/troubleshooting-101-1201-actually-and-1202-too-111339271/" target="_blank">also important</a>:</p>
<blockquote><p>An unsung hero of the decision not to abort the landing is Richard Koos, a NASA simulation supervisor who […] 11 days before the launch of Apollo 11, put the team of controllers including Bales […] through a simulation that intentionally triggered a 1201 alarm. […] Unable to figure out what the 1201 was, Bales aborted that simulated landing. He and Flight Director Gene Kranz were dressed down for it by Koos, who put the team through four more hours of training the next day specifically on program alarms. When the 1202 and 1201 alarms occurred during the actual landing, Garman, Bales, and even Duke recognized them immediately.</p></blockquote>
<p>Fortune favors the prepared.</p><p><a href="https://unsung.aresluna.org/tags/conference-talk/">#conference talk</a> <a href="https://unsung.aresluna.org/tags/errors/">#errors</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>From dawn (or dusk) till dusk (or dawn)</title>
    <link href="https://unsung.aresluna.org/from-dawn-or-dusk-till-dusk-or-dawn" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/from-dawn-or-dusk-till-dusk-or-dawn</id>
    <published>2026-03-10T02:30:48.677Z</published>
    <updated>2026-03-10T02:30:48.677Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This iPhone UI for dark/&#8203;light theme is doing something clever:</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/from-dawn-or-dusk-till-dusk-or-dawn/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/from-dawn-or-dusk-till-dusk-or-dawn/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/from-dawn-or-dusk-till-dusk-or-dawn/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/from-dawn-or-dusk-till-dusk-or-dawn/1.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>Ostensibly, there are two modes here:</p>
<ul>
        <li>automatic, for when you want the theme to match the time of day</li>
        <li>manual, for when you want to keep one of the themes forever</li>
      </ul>
<p>But check out what happens when I am in automatic mode, but toggle the theme by hand anyway:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/from-dawn-or-dusk-till-dusk-or-dawn/2-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/from-dawn-or-dusk-till-dusk-or-dawn/2-framed.1600w.webm"></video></figure>
<p>More rigid or less thoughtful interfaces would either disable manual changes when you’re in automatic mode, or understand a manual theme switch to mean “I want to turn off automatic.”</p>
<p>But here, iOS is quietly putting me in a temporary hybrid mode: a manual theme override until the theme catches up with what automatic mode would do, at which point it snaps back (I’m resisting very hard calling this <a href="https://unsung.aresluna.org/its-beautiful-and-kind-of-mesmerizing/">rubber banding</a>) to automatic mode.</p>
<p>What I think is clever is that this isn’t presented as a third mode – which could be more confusing than helpful – but the design simply reuses the existing Options field to set the expectations.</p>
<p>One has to be careful designing in shades of gray; once you enter the space you really have to commit to it and see it through. My go-to analogy is symmetry vs. asymmetry. Symmetry in visual design is usually easier and safer. If you venture into asymmetry you have to make an effort to make it work. The highs of asymmetry will be higher than anything symmetry can provide, but getting to those highs can be arduous and sometimes might even be impossible. </p>
<p>I thought this particular example was really nicely done and the team found a great balance. (I think Apple’s previous shade of gray – “Disconnecting Nearby Wi-Fi Until Tomorrow” – ended up slightly less successful.)</p><p><a href="https://unsung.aresluna.org/tags/dark-mode/">#dark mode</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/ios/">#ios</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>My essay about the Fn key</title>
    <link href="https://unsung.aresluna.org/my-essay-about-the-fn-key" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/my-essay-about-the-fn-key</id>
    <published>2026-03-09T16:33:01.302Z</published>
    <updated>2026-03-09T16:33:01.302Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I just published <a href="https://aresluna.org/fn/" target="_blank">a new photoessay about the history of the Fn key</a>, and particularly what Apple has been doing with it recently.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/my-essay-about-the-fn-key/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/my-essay-about-the-fn-key/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/my-essay-about-the-fn-key/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/my-essay-about-the-fn-key/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/my-essay-about-the-fn-key/1.1088w.avif" alt="" width="687" height="687">
      </picture></figure>
<p>Do we need yet another person crashing out about Apple’s design decisions? Am I doing it only because it’s fashionable to be on Apple Design Hate Train these days? I’ll be honest: I don’t know. </p>
<p>But I have been bothered by Apple’s approach to this aspect of its keyboard design for a while, because it starts breaking what I think is really important in using a computer well: keyboard shortcuts.</p>
<p>I hope it’s also a fun visual history of the most tricky of modern modifier keys.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/my-essay-about-the-fn-key/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/my-essay-about-the-fn-key/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/my-essay-about-the-fn-key/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/my-essay-about-the-fn-key/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/my-essay-about-the-fn-key/2.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>(And if you like it, I linked to a few of my other keyboard essays in the footer.)</p><p><a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/marcin-wichary/">#marcin wichary</a></p>]]></content>
  </entry>
  <entry>
    <title>“Durial321 is a banned RuneScape player and a bug abuser.”</title>
    <link href="https://unsung.aresluna.org/durial321-is-a-banned-runescape-player-and-a-bug-abuser" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/durial321-is-a-banned-runescape-player-and-a-bug-abuser</id>
    <published>2026-03-08T21:52:20.372Z</published>
    <updated>2026-03-08T21:52:20.372Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>RuneScape is a popular MMORPG that reached its peak popularity in the late 2000s.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/durial321-is-a-banned-runescape-player-and-a-bug-abuser/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/durial321-is-a-banned-runescape-player-and-a-bug-abuser/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/durial321-is-a-banned-runescape-player-and-a-bug-abuser/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/durial321-is-a-banned-runescape-player-and-a-bug-abuser/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/durial321-is-a-banned-runescape-player-and-a-bug-abuser/1.1088w.avif" alt="" width="760" height="501">
      </picture></figure>
<p>In the game, combat – colloquially known as <a href="https://en.wikipedia.org/wiki/Player_versus_player" target="_blank">PvP</a>, or player vs. player – is limited to a specific map area (called the Wilderness) and otherwise people’s houses. </p>
<p>On 6/6/6 (sic!) a <a href="https://runescape.wiki/w/Falador_Massacre" target="_blank">bug in RuneScape</a> made it possible for a few players to start killing others outside of designated areas, without them being able to defend themselves. One of these players, Durial321, gained <a href="https://www.gamereactor.eu/runescape-marks-the-anniversary-of-the-falador-massacre/" target="_blank">a lot of notoriety</a>:</p>
<blockquote><p>A player called Cursed You had invited some friends to his in-game house once he had maxed his construction skill, but decided to eject them all from the premises. Things turned sour, however, as a group of players marked as PvP in the house didn’t lose this PvP flag when ejected, allowing them to storm through Falador and massacre whoever they pleased. The most notorious of these players was named Durial321.</p>
<p>This event went down in internet infamy and meant that many players lost their items when killed as well as the banning of those involved.</p></blockquote>
<p>I don’t have any context of RuneScape and I found it really funny to learn about this event from different retellings of the story.</p>
<p><a href="https://rsplayers.fandom.com/wiki/Durial321" target="_blank">This wiki entry</a> reads almost as journalism:</p>
<blockquote><p>Several others were able to use this glitch, but Durial321 abused it the most. His rampage lasted for about an hour, starting at Rimmington, where the house party was, then proceeding to Falador and subsequently Edgeville. At Edgeville, he gave Voodoolegion the green partyhat, who never gave it back to him. Soon after, he finally encountered a Jagex Moderator, Mod Murdoch, who disconnected him and locked his account. Durial321 was later permanently banned from RuneScape. In a 2006 interview, he said that player killing outside of the Wilderness was exciting, although he felt bad for the players who lost their belongings.</p>
<p>The 2006 incident later became known as the Falador Massacre.</p></blockquote>
<p>(The tone is even more funny if you actually <a href="https://www.tip.it/runescape/pages/view/durial321_interview.htm" target="_blank">read the interview</a>.)</p>
<p>There is also this more <a href="https://www.reddit.com/r/HobbyDrama/comments/mfbikx/runescape_durial321_becomes_the_devil_on_060606/" target="_blank">modern retelling</a> that feels like scary story time by the campfire:</p>
<blockquote><p>Reactions from players were initially kind of incredulous. Plenty of people were shocked and found the whole incident quite funny. Durial had essentially broken the game, after all. Some players wanted to be like him, whipping strangers to death and taking their items. But soon, as more players started hearing about what had happened and seeing the video, the mood shifted. Players wanted Durial321 hung, drawn and quartered, with his head displayed on a pike outside Lumbridge Castle.</p></blockquote>
<p>You can witness the event PC Gamer called “<a href="https://www.pcgamer.com/old-school-runescape-celebrates-the-falador-massacre-glitch/" target="_blank">one of the best all-time MMO bugs</a>” by yourself since there is <a href="https://www.youtube.com/watch?v=7byFeQwAKnA" target="_blank">video capture of the Falador Massacre</a> taken by one of the witnesses. At least to me, it’s rather incomprehensible.</p>
<p>Fear not, however, because there are many (!) documentaries. <a href="https://www.youtube.com/watch?v=_prl1Ohn-Ew" target="_blank">This recent one is reportedly the best one</a> and also goes into the technical details:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=_prl1Ohn-Ew" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/durial321-is-a-banned-runescape-player-and-a-bug-abuser/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/durial321-is-a-banned-runescape-player-and-a-bug-abuser/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/durial321-is-a-banned-runescape-player-and-a-bug-abuser/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/durial321-is-a-banned-runescape-player-and-a-bug-abuser/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/durial321-is-a-banned-runescape-player-and-a-bug-abuser/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>Without spoiling too much, the bug was a classic <a href="https://en.wikipedia.org/wiki/Swiss_cheese_model" target="_blank">Swiss cheese</a> situation involving a new untested item, a race condition, peculiar timing, and a player with an unusually high uptime and a whole lotta luck.</p><p><a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“It’s beautiful and kind of mesmerizing.”</title>
    <link href="https://unsung.aresluna.org/its-beautiful-and-kind-of-mesmerizing" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/its-beautiful-and-kind-of-mesmerizing</id>
    <published>2026-03-08T18:29:40.981Z</published>
    <updated>2026-03-08T18:29:40.981Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I’ve learned recently that “rubber banding” can mean at least three different things in the context of UI/UX design:</p>
<ul class="long-list">
        <li>whatever happens at the edges of your scroll container when you’re using <em>elastic scrolling</em>, which started on the first iPhone and have spread more widely since</li>
        <li>in videogames, <em>balancing the difficulty in real-time</em> so that inexperienced players stand a chance and good players are not bored (a classic example in <a href="https://www.polygon.com/gaming/606473/mario-kart-world-adaptive-ai-difficulty-drift-rubberbanding/" target="_blank">any racing game</a> is computer-controlled cars slowing down if they are running too far ahead, as if held by a rubber band, to give you a chance to catch up)</li>
        <li>in multiplayer experiences (mostly videogames, too), the experience of <em>snapping back and forth </em>(<a href="https://www.reddit.com/r/GlobalOffensive/comments/1hnwb8z/does_anybody_have_a_fix_for_this_my_game_rubber/" target="_blank">example</a>) during gameplay when your connection speed is low and the game has to <a href="https://en.wikipedia.org/wiki/Client-side_prediction" target="_blank">reconcile your predicted position</a> with your real one</li>
      </ul>
<p>Each one is interesting in its own way. (Each one is also controversial, although for a different reason!) But what I understand they all have in common is – well, obviously – the specific mechanics of rubber banding.</p>
<p>I imagine many reading this are familiar with basic interpolation between A and B using curves like ease in, ease out, and so on. But in gaming and I think increasingly in UI design, that’s not enough. When coding stuff related to movement – imagine dragging an elastic scrolling view near its edge – the challenges compound:</p>
<ul>
        <li>the object might already be in motion</li>
        <li>its destination might also be in motion</li>
        <li>the load or framerate can vary, so calculations have to take that into account</li>
      </ul>
<figure>
        <video poster="https://unsung.aresluna.org/_media/its-beautiful-and-kind-of-mesmerizing/1-thumbnail.avif" width="800" height="196" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/its-beautiful-and-kind-of-mesmerizing/1.1600w.mp4"></video></figure>
<p>With that in mind, I found these two videos helpful and informative:</p>
<ul>
        <li>an <a href="https://www.youtube.com/watch?v=YJB1QnEmlTs" target="_blank">8-minute video by SimonDev</a></li>
        <li>a <a href="https://www.youtube.com/watch?v=LSNQuFEDOyQ" target="_blank">50-minute talk by Freya Holmér</a> (with a 10 minute Q&amp;A session you can skip)</li>
      </ul>
<p>The videos together start with basic lerp (<em>l</em>inear int<em>erp</em>olation), then move to lerp smoothing, and then arrive at frame-independent lerp smoothing. There’s light math/&#8203;physics here, but that’s to be expected, as all these experiences are meant to feel like real-life objects would.</p>
<p>I found especially lerp smoothing where you <em>feed a lerp into itself</em> particularly conceptually beautiful.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/motion-design/">#motion design</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a></p>]]></content>
  </entry>
  <entry>
    <title>“When you make a release that’s okay”</title>
    <link href="https://unsung.aresluna.org/when-you-make-a-release-thats-okay" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/when-you-make-a-release-thats-okay</id>
    <published>2026-03-07T14:02:09.070Z</published>
    <updated>2026-03-07T14:02:09.070Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I saw this fly by before, but just today I learned that <a href="https://pridever.org/" target="_blank">Pride versioning</a> is a tiny project by Nikita Prokopov, whose work I shared before:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/when-you-make-a-release-thats-okay/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/when-you-make-a-release-thats-okay/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/when-you-make-a-release-thats-okay/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/when-you-make-a-release-thats-okay/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/when-you-make-a-release-thats-okay/1.1088w.avif" alt="" width="800" height="540">
      </picture></figure>
<p>The author says:</p>
<blockquote><p>This is a parody and a homage to the awesome <a href="https://semver.org/" target="_blank">Semantic Versioning</a>.</p></blockquote>
<p>…but I think it stands on its own. You can’t have craft without being at peace with pride and embarrassment existing.</p><p><a href="https://unsung.aresluna.org/tags/nikita-prokopov/">#nikita prokopov</a> <a href="https://unsung.aresluna.org/tags/process/">#process</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>“Kapor had projected first year sales of $1M, but did $53M instead.”</title>
    <link href="https://unsung.aresluna.org/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead</id>
    <published>2026-03-07T13:55:27.792Z</published>
    <updated>2026-03-07T13:55:27.792Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I mentioned VisiCalc <a href="https://unsung.aresluna.org/the-killer-app-is-making-calls/">not long ago</a> and Lotus 1-2-3 <a href="https://unsung.aresluna.org/lock-scroll-with-a-vengeance/">just this week</a>. Yesterday, a new issue of Stone Tools came out, nicely tying the story together.</p>
<p><a href="https://stonetools.ghost.io/" target="_blank">Stone Tools</a> is a project by Christopher Drum where he grabs old productivityapps, spools up the correct emulator, and writes a review from today’s perspective. I like the emulation part – Drum even provides specific instructions so you could do it, too – and the fact he’s actually putting the tools through their paces. </p>
<p>Anyway, Drum reviewed <a href="https://stonetools.ghost.io/visicalc-apple2/" target="_blank">VisiCalc a few months ago</a>, and <a href="https://stonetools.ghost.io/lotus123-dos/" target="_blank">Lotus 1-2-3 yesterday</a>.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/1.1088w.avif" alt="" width="800" height="484">
      </picture></figure>
<p>The reviews can probably be a bit intense if you are unfamiliar with the territory, but you will be rewarded with a lot more detail than just casual understanding of these apps. Reading about VisiCalc first and 1-2-3 second really drives home how “VisiCalc walked so 1-2-3 could run” and it’s fun to see the beginnings of spreadsheet conventions that we take for granted today, for example $ absolute addressing:</p>
<blockquote><p>In VisiCalcI’m prompted for a “relative or fixed?” decision for <em>every</em> cell reference in <em>every</em> target cell. Replicate a formula with 5 cell references across a column of 100 cells and be ready to answer 5 x 100 prompts. Unfortunate and unavoidable.</p></blockquote>
<p>Like always, one can find inspiration in surprising places. In the review of Lotus 1-2-3, there’s this interesting tidbit:</p>
<blockquote><p>The more I encounter [the horizontal menu-bar], the more I wonder if we gave up on it too soon. This could be “blogger overly immersed in their subject matter” brain, but I’m growing to oftentimes prefer two-line horizontal menus over modern GUI menus. […]</p>
<p>It also provides something GUI menus don’t: an immediate explanation of a menu item before committing its action to the document. If a menu item is not a sub-menu, line two describes it. It’s easy to audit features in an unknown program.</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/2.1088w.avif" alt="" width="800" height="50">
      </picture></figure>
<p>I have just been pondering that maybe we moved away from status bars and question mark (Windows)/balloon (Mac) help too soon – pretty much everything these days relies on tooltips – and this slotted right into that.</p>
<p>Anyway. Drum seems to be having fun with the project, and I appreciate that. There are little custom visuals and jokes in every post. Also, as an example, you can download an absolutely delightful recreation of VisiCalc called <a href="https://christopherdrum.itch.io/picocalc" target="_blank">PicoCalc</a> and run it on your Mac. I have never expected a spreadsheet to be so <em>cute</em>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/3.1088w.avif" alt="" width="699" height="700">
      </picture></figure>
<p>And it’s not just most well-known tools. What astonished me in the review of <a href="https://stonetools.ghost.io/scala-amiga/" target="_blank">Scala Multimedia</a> in January is how absolutely gorgeous the software (which I’ve never seen before) looked:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/4.1088w.avif" alt="" width="800" height="592">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/kapor-had-projected-first-year-sales-of-1m-but-did-53m-instead/5.1088w.avif" alt="" width="800" height="594">
      </picture></figure>
<p><a href="http://unsung.aresluna.org/more-or-less-turned-windows-into-a-carnival" target="_blank">This ain’t Windows 3.1</a>; just that palette alone is worth bringing back.</p>
<p>Not going to excerpt more, but there is a lot more. <a href="https://stonetools.ghost.io/" target="_blank">Check out Stone Tools</a> and the 13 programs reviewed so far!</p><p><a href="https://unsung.aresluna.org/tags/history/">#history</a></p>]]></content>
  </entry>
  <entry>
    <title>“Make a tiny box that fits around your F1 key.”</title>
    <link href="https://unsung.aresluna.org/make-a-tiny-box-that-fits-around-your-f1-key" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/make-a-tiny-box-that-fits-around-your-f1-key</id>
    <published>2026-03-06T18:45:18.285Z</published>
    <updated>2026-03-06T18:45:18.285Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>⌘T is a very important shortcut in Slack. It allows you to quickly talk to someone just by typing in their name. I use it probably dozens, if not hundreds of times a day.</p>
<p>⌘T is right next to ⌘R, which reloads Slack. Occasionally, on the way to ⌘T, my fingers graze ⌘R. Fingers being fingers, I immediately realize something went wrong and wince, and within a second or two I witness Slack completely reloading. It’s not a big deal – no data is lost, and the reload is only 5 to 10 seconds, but when you move fast, it feels like eternity.</p>
<p>⌘O is a very important shortcut in Finder. It opens the selected file in the correct app. I use it probably dozens, if not hundreds of times a day.</p>
<p>⌘O is right next to ⌘P, which prints the file I’m pointing to. Curiously, and in contrast with most apps, the print function is not gated in any way by a confirmation dialog box, or an intermediate print settings window.</p>
<p>So, occasionally, on the way to ⌘O, my fingers graze ⌘P. Fingers being fingers, I immediately realize something went wrong and wince, and within a few seconds, the lights in my old apartment dim for a second. Then, far away, I hear the recognizable sound of my laser printer spitting out a page.</p>
<p>Gamers used to deride Windows key for automatically ejecting them from the game to the desktop, before an option to disable it started appearing in gaming keyboards. (Some of the professional gaming leagues were very strict about <a href="https://tl.net/forum/brood-war/93583-list-history-of-disqualifications" target="_blank">how a player could use their keyboard</a>.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/make-a-tiny-box-that-fits-around-your-f1-key/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/make-a-tiny-box-that-fits-around-your-f1-key/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/make-a-tiny-box-that-fits-around-your-f1-key/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/make-a-tiny-box-that-fits-around-your-f1-key/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/make-a-tiny-box-that-fits-around-your-f1-key/1.1088w.avif" alt="" width="426" height="340">
      </picture></figure>
<p>Similarly, professional Excel champions and players started physically removing keys: In Excel, F1 (right next to an often-used F2) <a href="https://www.mrexcel.com/excel-tips/highlight-all-formula-cells/" target="_blank">opens the help dialog and slows you down</a>. </p>
<blockquote><p>I served as a judge for the ModelOff Financial Modeling Championships in NYC twice. On my first visit, I was watching contestant Martijn Reekers work in Excel. He was constantly pressing F2 and Esc with his left hand. His right hand was on the arrow keys, swiftly moving from cell to cell. F2 puts the cell in Edit mode so you can see the formula in the cell. Esc exits Edit mode and shows you the number. Martijn would press F2 and Esc at least three times every second.</p>
<p>But here is the funny part: What dangerous key is between F2 and Esc? F1. </p>
<p>If you accidentally press F1, you will have a 10-second delay while Excel loads online Help. If you are analyzing three cells a second, a 10-second delay would be a disaster. You might as well go to lunch. So, Martijn had pried the F1 key from his keyboard so he would never accidentally press it.</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/make-a-tiny-box-that-fits-around-your-f1-key/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/make-a-tiny-box-that-fits-around-your-f1-key/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/make-a-tiny-box-that-fits-around-your-f1-key/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/make-a-tiny-box-that-fits-around-your-f1-key/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/make-a-tiny-box-that-fits-around-your-f1-key/2.1088w.avif" alt="" width="800" height="203">
      </picture></figure>
<p>I enjoyed <a href="https://medium.com/@kemenyjohnt/excel-wizard-remove-the-f1-key-from-your-keyboard-b4e09ea2a5a8" target="_blank">this essay</a> that presents prying off the key as a rite of passage:</p>
<blockquote><p>Removing the F1 key from the equation is just the beginning. By embracing the keyboard-centric approach, you have the opportunity to become an Excel Wizard!! Okay, maybe that’s not a technical term, but it perfectly captures the essence of those who navigate Excel solely using the keyboard.</p></blockquote>
<p>And I particularly liked <a href="https://stackoverflow.com/questions/61427563/disable-f1-help-button" target="_blank">this tongue-in-cheek answer</a> telling people they could construct their own homemade <a href="https://unsung.aresluna.org/molly-guard-in-reverse/">molly guard</a> to protect against “fat-fingering”:</p>
<blockquote><p>Here’s an alternative snippet that can be used:</p>
<ul class="long-list">
        <li>Use bits of plastic or cardboard to make a tiny box that fits around your F1 key.</li>
        <li>Affix this box with duct tape, so that the F1 key is guarded.</li>
        <li>Fool-proof, works on any key, and can easily be reversed if needed!</li>
      </ul></blockquote>
<p>Obviously, none of this can help me with my ⌘R and ⌘P woes, so, two final thoughts:</p>
<ul class="long-list">
        <li>If your app has a well-trafficked shortcut, it’s worth thinking of the shortcuts immediately adjacent to that one. Could they cause any inadvertent damage or confusion?</li>
      

        <li>Apps and operating systems should very easily allow you to <em>unset</em> a keyboard shortcut, in addition to setting or changing it. (Unfortunately, this is not as common as it should be.)</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a></p>]]></content>
  </entry>
  <entry>
    <title>“There’s something about it that can’t be objectively measured: It’s funny.”</title>
    <link href="https://unsung.aresluna.org/theres-something-about-it-that-cant-be-objectively-measured-its-funny" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/theres-something-about-it-that-cant-be-objectively-measured-its-funny</id>
    <published>2026-03-06T15:27:25.862Z</published>
    <updated>2026-03-06T15:27:25.862Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This <a href="https://www.youtube.com/watch?v=PJ4PmQKr5u0" target="_blank">video from Marblr</a> about adding fall damage to Overwatch is really intense – 45 minutes of length and a lot of footage of frantic gameplay – but really informative, too.</p>
<figure>
        <a href="https://www.youtube.com/watch?v=PJ4PmQKr5u0" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/theres-something-about-it-that-cant-be-objectively-measured-its-funny/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/theres-something-about-it-that-cant-be-objectively-measured-its-funny/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/theres-something-about-it-that-cant-be-objectively-measured-its-funny/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/theres-something-about-it-that-cant-be-objectively-measured-its-funny/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/theres-something-about-it-that-cant-be-objectively-measured-its-funny/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>It’s a great case study of how something seemingly really simple – deducting health from the player as they fall from height – can be a complicated thing to figure out in all the detail.</p>
<p>I never played Overwatch and rarely play videogames anymore, but many of the lessons here more universal for any sort of UI and system design:</p>
<ul class="long-list">
        <li>You will have to introduce tactical inconsistencies for the system to feel consistent, but be careful as there might be a point those inconsistencies start to outweigh the whole thing.</li>
        <li>Wanna learn how you and others feel about something? Overcrank it to make the feelings come out more easily. (And to find bugs.)</li>
        <li>There will always be tensions between what the data says and how you feel about something. (I was surprised how often the word “intuitive” entered the picture.)</li>
      </ul>
<p>Also, it’s just a really well-made video, filled with little presentation and storytelling details that elevate it. I wish more videos like this existed for UI mechanics.</p>
<p>But maybe the most important takeway? You don’t have to choose between rigor and fun. You can have both.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“I’m obviously taking a risk here by advertising emoji directly.”</title>
    <link href="https://unsung.aresluna.org/im-obviously-taking-a-risk-here-by-advertising-emoji-directly" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/im-obviously-taking-a-risk-here-by-advertising-emoji-directly</id>
    <published>2026-03-06T02:14:56.829Z</published>
    <updated>2026-03-06T02:14:56.829Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>It’s hard to imagine it now, but during iPhone’s first year, no emoji were available at all. It took four years until 2011’s iOS 5 gave everyone an emoji keyboard.</p>
<p>But in between 2008 and 2011, there existed a peculiar interregnum where emoji were only available on Japanese iPhones. The situation had to be <a href="https://web.archive.org/web/20081208134836/http://support.apple.com/kb/TS2404" target="_blank">carefully explained and caveated</a>:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/1.1088w.avif" alt="" width="551" height="700">
      </picture></figure>
<p>Eventually, an enterprising developer <a href="http://legacyblog.steventroughtonsmith.com/2008/11/how-to-enable-emoji-systemwide.html" target="_blank">realized</a> that emoji outside Japan was as easy as toggling a UI-less preference with a great name <code>KeyboardEmojiEverywhere</code>, hiding inside the innards of the iPhone:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/2.1088w.avif" alt="" width="438" height="285">
      </picture></figure>
<p>Except, “easy” is in the eye of the beholder. This was still a few too many hoops to jump for an average iPhone user. So, developers figured out that there could be <a href="https://www.youtube.com/watch?v=szrsfeyLzyg" target="_blank">an app for that</a>: the above preference incantation wrapped inside an application with an easy UI, and put in the burgeoning App Store.</p>
<p>The interesting part is that Apple initially fought some of these efforts, by rejecting a <a href="https://arstechnica.com/gadgets/2009/02/freemoji-access-emoji-for-free/" target="_blank">Freemoji</a> app and likely a few others. (Not sure if this was about emoji specifically, or more principally about losing control.) </p>
<p>The developers had to get sneaky, and started hiding emoji enablers inside other apps. A $0.99 “RSS reader for a Chinese Macintosh news site” called <a href="https://arstechnica.com/gadgets/2009/01/how-to-enable-emoji-icons-for-iphones-via-cheap-app/" target="_blank">FrostyPlace</a> unlocked emoji by “simply pok[ing] around in it for a minute or so by tapping in and out of an article and playing with the two buttons at the bottom of its screen. That part is important, so be sure to do some genuine tapping.”</p>
<p>Then there was the free Spell Number (<a href="https://web.archive.org/web/20100208230948/http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284858425&amp;mt=8" target="_blank">you can still see its old App Store page</a>), where punching in a certain secret number would give you the same.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/im-obviously-taking-a-risk-here-by-advertising-emoji-directly/3.1088w.avif" alt="" width="320" height="480">
      </picture></figure>
<p>The author called it an “easter egg” and even wrote candidly at the end of <a href="https://web.archive.org/web/20090208131549/http://waterworld.com.hk/en/spell_number_easter_egg" target="_blank">instructions</a> that “you can also delete Spell Number if you don’t want it, the setting will still be here.” (The number also had to <a href="https://web.archive.org/web/20090703165309/http://www.waterworld.com.hk/en/spell-numbers-new-code" target="_blank">change</a> from 9876543.21 to <a href="https://www.google.com/search?q=%2291929394.59%22" target="_blank">91929394.59</a> at some point, perhaps to evade… something?)</p>
<p>Eventually, Apple seemingly gave up – <a href="https://arstechnica.com/gadgets/2009/02/typing-genius-defies-apple-introduces-emoji-support/" target="_blank">Ars Technica has a fun interview from 2009</a> from someone who renamed their app from Typing Genius to “Typing Genius – Get Emoji” and got away with it:</p>
<blockquote><p>Ars: As the screenshot at the start of this post shows, you haven’t been shy about advertising the Emoji support over at App Store. Are you worried that adding Emoji to your application might have negative consequences? Are you worried about Apple pulling it from App Store?</p>
<p>Fung: I’m obviously taking a risk here by advertising Emoji directly on iTunes. That being said, I’m not the first. Worst case scenario, I’ll update the application with Emoji support removed. I’m hoping that Apple will turn a blind eye to this because I can’t see any harm done in allowing users to use Emoji. </p></blockquote>
<p>Not quite “I am ready to do some time for the good cause,” but close enough. </p>
<p>Yet, it still took until 2011 for emoji support to be universally available with iOS 5, and even then you had to <a href="https://www.youtube.com/watch?v=45N0AGPWJWo" target="_blank">enable the keyboard in settings</a>.</p>
<p>I like this little story of a mysterious latent cool new thing hiding inside your device, a thing that you could unlock only if you followed some seemingly nefarious instructions that never fully made sense but that <em>actually worked</em>. </p>
<p>An interesting tidbit: At least early on in 2008, for emoji to work both the sender and the <em>recipient</em> had to follow the instructions. So the toggle wasn’t just about adding a keyboard, but also enabling the decoding and rendering. (And complicating things further, iPhone’s Japanese keyboard had emoticons, and that keyboard was widely available without any hacks. The difference between emoji and emoticons was not obvious to many people, leading to a lot of extra confusion.)</p>
<p>Lastly, a fun sidebar: I asked about all this an old internet buddy, <a href="https://mastodon.online/@stroughtonsmith@mastodon.social/" target="_blank">Steven Troughton-Smith</a>, whom I remembered back from my <a href="https://guidebookgallery.org/" target="_blank">GUIdebook</a> days, and who still routinely posts fun hacks and discoveries about Apple platforms on Mastodon. I thought “Steven might remember that story; he seems like the kind of person who’d at least know how to find an answer.” Turns out, my hunch was better than I thought: Steven <em>was</em> the enterprising developer who actually <a href="http://legacyblog.steventroughtonsmith.com/2008/11/how-to-enable-emoji-systemwide.html" target="_blank">discovered</a> how to give emoji to any iPhone, all the way back in 2008.</p><p><a href="https://unsung.aresluna.org/tags/hacks/">#hacks</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/ios/">#ios</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>A more eager typeahead in Chrome</title>
    <link href="https://unsung.aresluna.org/a-more-eager-typeahead-in-chrome" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-more-eager-typeahead-in-chrome</id>
    <published>2026-03-05T15:17:40.762Z</published>
    <updated>2026-03-05T15:17:40.762Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I just stumbled upon a nice little power-user innovation in Chrome’s Web Inspector.</p>
<p>In Safari, and previously in Chrome, when editing CSS properties, you’d get a usual editing typeahead for the property name, and then the same on the other side for the property value.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/a-more-eager-typeahead-in-chrome/1-thumbnail.avif" width="463" height="222" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-more-eager-typeahead-in-chrome/1.1600w.mp4"></video></figure>
<p>In newer versions of Chrome, the typeahead menu works as before on the right side. However, the menu on the left side <em>also includes the right side.</em></p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/a-more-eager-typeahead-in-chrome/2-thumbnail.avif" width="463" height="342" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-more-eager-typeahead-in-chrome/2.1600w.mp4"></video></figure>
<p>I think this is really clever in this context – not just to speed you up, but also to aid understanding. Just like the inert mouse up and down <a href="https://unsung.aresluna.org/not-a-mountain-but-not-a-molehill-either/">in the previous post</a> could serve as a safe “peek” into the values, this new interaction can quickly allow you to explore the CSS space if you are curious, or if you only lightly remember part of the name, or even just one of the values.</p>
<p>This blog is authored in Apple Notes, and some time ago Notes added quick linking via typing <code>&gt;&gt;</code>, and that has a similar effect: The interactions are so nimble and precise that it is very easy to link to something, but a nice side effect is that it also feels very welcoming just to type a few letters to remind yourself of a title of an article, and then cancel out.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-more-eager-typeahead-in-chrome/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-more-eager-typeahead-in-chrome/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-more-eager-typeahead-in-chrome/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-more-eager-typeahead-in-chrome/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-more-eager-typeahead-in-chrome/3.1088w.avif" alt="" width="592" height="344">
      </picture></figure>
<p>The downside of the Chrome change is, well, more stuff matching, but I think the audience for this UI is going to be okay with that.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/text-editing/">#text editing</a></p>]]></content>
  </entry>
  <entry>
    <title>Not a mountain – but not a molehill, either</title>
    <link href="https://unsung.aresluna.org/not-a-mountain-but-not-a-molehill-either" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/not-a-mountain-but-not-a-molehill-either</id>
    <published>2026-03-04T04:30:07.409Z</published>
    <updated>2026-03-04T04:30:07.409Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I know we’re probably collectively a bit tired talking about macOS Tahoe, but I just noticed something that I think is a good example of how small details can ladder up to bigger things.</p>
<p>This is macOS Sequoia (the pre-Tahoe release) and a typical pop-up button:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/not-a-mountain-but-not-a-molehill-either/1-thumbnail.avif" width="800" height="515" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/not-a-mountain-but-not-a-molehill-either/1.1600w.mp4"></video></figure>
<p>One clever thing macOS has been doing since basically the dawn of GUIs is that upon clicking on a button like this, the currently selected row will be in the same place as before you clicked. (As opposed to, for example, the entire menu appearing below like it would from a top menu bar.)</p>
<p>This has interesting and often underappreciated consequences. It allows you to orient yourself quicker since you don’t have to find the selected option<em> again</em>. And, it saves you movement overall: the next or previous option will always be at the absolutely shortest possible distance. (Of course, the approach also has some challenges,for example if the button is positioned close to the top or bottom of the screen.)</p>
<p>There’s another clever thing that happens throughout macOS: All the menus work using a classic click-to-open and click-to-select sequence, but they are also usable via the slightly more advanced, but faster mousedown-drag-mouseup gesture.</p>
<p>These building blocks work together and mean that selecting the next option can be as simple as a little flick of a mouse.</p>
<p>Now, check out macOS Tahoe (current release):</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/not-a-mountain-but-not-a-molehill-either/2-thumbnail.avif" width="800" height="460" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/not-a-mountain-but-not-a-molehill-either/2.1600w.mp4"></video></figure>
<p>You will notice that iCloud Drive, upon clicking, is now misaligned both horizontally and vertically. </p>
<p>On the surface, this feels just like a visual blemish – slighly embarrassing, but without much consequence. But check out what happens if you hold your mouse button at a certain position, and then release it without moving:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/not-a-mountain-but-not-a-molehill-either/3-thumbnail.avif" width="800" height="460" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/not-a-mountain-but-not-a-molehill-either/3.1600w.mp4"></video></figure>
<p>The stability of macOS’s interface and the thoughtful set of aforementioned rules allowed for an emergent fast behaviour: mouse down and up meant you could “peek” into a menu safely, or you could change your mind right after seeing what’s inside. In a bigger sense, it created a certain <em>trust</em> between you and the operating system: it’s worth learning those gestures, as they will be rewarded.</p>
<p>In Tahoe, some of that learned behaviour – by the way, I see it in <em>all</em> of these buttons, not just this one – will now work against you. Now, you can accidentally change an option without intending to do so.</p>
<p>Is it a big deal? No, not really. This likely – hopefully! – simply fell through the cracks in a rush to get Liquid Glass out the door, rather than no one being there to care, or no one understanding that all these gestures add up in aggregate, creating a GUI that feels fast, trustworthy, and catering to your motor memory in a way that elevates your experiences with the interface in the long run.</p>
<p>But I’d feel better if it wasn’t almost half a year since the release, and if we hadn’t already seen other <a href="https://unsung.aresluna.org/trust-your-fingers/">things</a> exactly <a href="https://unsung.aresluna.org/problem-solved-right-well-not-exactly/">like it</a>.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>“Which is definitely not good to do to it.”</title>
    <link href="https://unsung.aresluna.org/which-is-definitely-not-good-to-do-to-it" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/which-is-definitely-not-good-to-do-to-it</id>
    <published>2026-03-04T01:51:58.449Z</published>
    <updated>2026-03-04T01:51:58.449Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The year is 1981. Your IBM PC is equipped with a tragic speaker that <a href="https://www.youtube.com/watch?v=uJ4q9IEAdME" target="_blank">sounds awful</a> for anything except occasional beeps. (Those beeps sound awful, too.)</p>
<p>You can’t afford a sound card and besides, sound cards for your PC have not been invented yet. You can’t even afford a floppy drive, so you’re one of the rare people who actually uses an audio cassette player as a storage device – a technique usually reserved for more primitive machines that have half the bits your new PC does.</p>
<p>But there’s a silver lining. Your cassette player has a little relay that controls its motor. You can engage and disengage the relay at will. </p>
<p>So, someone figured out that toggling the relay kind of sounds like a metronome. Like percussion. It’s a hack, but in the sonic landscape inhabited solely by your sorry speaker, it’s <a href="https://youtu.be/G_8CXyF5M1Q?si=zGyo0_z6zxecpt1n&amp;t=446" target="_blank">a breath of fresh air</a> (scroll to 7:26 if you don’t land there automatically):</p>
<figure>
        <a href="https://youtu.be/G_8CXyF5M1Q?si=zGyo0_z6zxecpt1n&amp;t=446" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/which-is-definitely-not-good-to-do-to-it/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/which-is-definitely-not-good-to-do-to-it/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/which-is-definitely-not-good-to-do-to-it/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/which-is-definitely-not-good-to-do-to-it/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/which-is-definitely-not-good-to-do-to-it/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The year is 2026. Your computer itself is the size of an audio cassette, fits in your pocket, has better storage, graphics, sound, pretty much <em>everything</em> compared to a 1981 PC. It even has a special haptic motor. Except, that motor can only be controlled by native apps, and there is no official API to do it from a browser.</p>
<p>But there’s a silver lining. Tapping any checkbox on a site generates a haptic pulse. And that apparently works even if the checkbox is hidden and <em>if the</em> <em>computer is doing the tapping.</em></p>
<p>So, someone figured out a way to use that to build <a href="https://haptics.lochie.me/" target="_blank">a library that gives websites powers to provide haptic feedback</a>. It’s a hack, but damn if it’s not one someone took to its logical conclusion.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/which-is-definitely-not-good-to-do-to-it/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/which-is-definitely-not-good-to-do-to-it/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/which-is-definitely-not-good-to-do-to-it/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/which-is-definitely-not-good-to-do-to-it/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/which-is-definitely-not-good-to-do-to-it/1.1088w.avif" alt="" width="615" height="627">
      </picture></figure>
<p>I love these kinds of hacks, and I wonder what’s going to happen to this one. Will it fly under a radar, or will some websites start abusing it? If so, will Safari clamp it down, or will it actually give people a proper API for haptics?</p><p><a href="https://unsung.aresluna.org/tags/hacks/">#hacks</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/sound-design/">#sound design</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Podcasts are a radical gift.”</title>
    <link href="https://unsung.aresluna.org/podcasts-are-a-radical-gift" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/podcasts-are-a-radical-gift</id>
    <published>2026-03-03T13:50:58.027Z</published>
    <updated>2026-03-03T13:50:58.027Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This blog is about craft, but sometimes the answer to craft is not skill or taste or awareness or effort, but it’s creating conditions for craft to flourish. Workday <a href="https://www.businessinsider.com/everyone-hates-workday-human-resources-customer-service-software-fortune-500-2024-5" target="_blank">looks like Workday</a>, and your banking app looks like your banking app, not because there aren’t enough designers and engineers around that know how to do it better. </p>
<p><a href="https://anildash.com/2026/02/28/apple-video-podcast-power/" target="_blank">This is a thoughtful post by Anil Dash</a> about Apple’s recent announcement of introducing video podcasting, warning how the conditions set up right now will lead to enshittification, and proposing changes: </p>
<blockquote><p>This will also start to impact content. You <em>don’t</em> hear podcasters saying “unalive” or censoring normal words because there is no algorithm that skews the distribution of their content. The promotional graphics for their shows are often downright boring, and don’t feature the hosts making weird faces like on YouTube thumbnails, because they haven’t been optimized to within an inch of their lives in hopes of getting 12-year-olds to click on them instead of Mr. Beast — because they’re not trying to chase algorithmic amplification.</p></blockquote>
<p>It’s worth reading even if you don’t care much about podcasts.</p><p><a href="https://unsung.aresluna.org/tags/enshittification/">#enshittification</a></p>]]></content>
  </entry>
  <entry>
    <title>Lock Scroll With a Vengeance</title>
    <link href="https://unsung.aresluna.org/lock-scroll-with-a-vengeance" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/lock-scroll-with-a-vengeance</id>
    <published>2026-03-03T03:26:42.098Z</published>
    <updated>2026-03-03T03:26:42.098Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>One of the most mysterious keys on the PC keyboard has always been Scroll Lock, joining Caps Lock and Num Lock to create the instantly recognizable LED triumvirate:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/1.1088w.avif" alt="" width="800" height="338">
      </picture></figure>
<p>Scroll Lock was reportedly specifically added for spreadsheets, and it solved a very specific problem: before mice and trackpads, and before fast graphic cards, moving through a spreadsheet was a nightmare. Just like Caps Lock flipped the meaning of letter keys, and Num Lock that of the numeric keypad keys, Scroll Lock attempted to fix scrolling by changing the nature of the arrow keys.</p>
<p>This is normal arrow key usage in <a href="https://en.wikipedia.org/wiki/Lotus_1-2-3" target="_blank">Lotus 1-2-3</a>, doing what you’d expect, if likely a bit slower:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/2-thumbnail.avif" width="800" height="499" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/2.1600w.mp4"></video></figure>
<p>And this is Lotus 1-2-3 with Scroll Lock enabled. Here, the arrows do not move the cursor, but move the <em>spreadsheet:</em></p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/3-thumbnail.avif" width="800" height="499" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/3.1600w.mp4"></video></figure>
<p>(You can <a href="https://www.pcjs.org/software/pcx86/app/lotus/123/1a/" target="_blank">play with it yourself</a>!)</p>
<p>In time, scrollbars helped with the problem, then <a href="https://en.wikipedia.org/wiki/IntelliMouse" target="_blank">mice with wheels</a> solved it in one direction, and then trackpads in both. (Although even though my 2025 Windows laptop doesn’t have a Scroll Lock key, its onscreen keyboard does, <em>and the key still works in Excel</em>.)</p>
<p>But, I grew to believe that UI problems never fully die, and often come back dressed up in new clothes.</p>
<p>This is the TV app on my Apple TV, doing movement as you’d expect: </p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/4-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/4.1600w.mp4"></video></figure>
<p>But Netflix a while back picked a different approach – scrolling almost as if Scroll Lock was on:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/5-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/5.1600w.mp4"></video></figure>
<p>More recently, I saw that approach spread to HBO Max and YouTube apps as well:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/6-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/6.1600w.mp4"></video></figure>

<figure>
        <video poster="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/7-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/lock-scroll-with-a-vengeance/7.1600w.mp4"></video></figure>
<p>Is this good? To me personally, the Scroll Lock-esque approach feels strange and claustrophobic. I see the (hypothetical) value of keeping the selection in one place, but the downsides are more pronounced: things feel lopsided, going back in this universe is flying blind, and the system creates strange situations at the edges, where Scroll Lock struggled as well. </p>
<p>And yet, given I just dated myself by reminiscing Lotus 1-2-3, I’m curious how it feels to others.</p><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a></p>]]></content>
  </entry>
  <entry>
    <title>“Your wife’s new legal name is TAARGÜS TAARGÜS.”</title>
    <link href="https://unsung.aresluna.org/your-wifes-new-legal-name-is-taargus-taargus" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/your-wifes-new-legal-name-is-taargus-taargus</id>
    <published>2026-03-03T01:20:04.374Z</published>
    <updated>2026-03-03T01:20:04.374Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I realized recently that I conflated two similar user-interface comedy skits.</p>
<p><a href="https://www.youtube.com/watch?v=lDUvykJVmMU" target="_blank">This one</a> is from Sean Wing from 2023:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=lDUvykJVmMU" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>And <a href="https://youtu.be/sTOQNnwc_Z0?si=Ce-HeXJ0vy_SwhHv" target="_blank">this older one</a> is from Tim and Eric Awesome Show, Great Job!, from 2009:</p>
<figure>
        <a href="https://youtu.be/sTOQNnwc_Z0?si=Ce-HeXJ0vy_SwhHv" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt2.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt2.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt2.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt2.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt2.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>Speaking of Tim and Eric, <a href="https://youtu.be/puVYtkh-LO4?si=2k24_2ZBTiO6Bwdq" target="_blank">this one</a> was also funny and ostensibly on topic for this blog!</p>
<figure>
        <a href="https://youtu.be/puVYtkh-LO4?si=2k24_2ZBTiO6Bwdq" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt3.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt3.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt3.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt3.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/your-wifes-new-legal-name-is-taargus-taargus/yt3.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>(And re: <a href="https://unsung.aresluna.org/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/">previous post</a> – I had to cut a new version of University font with the Ü glyph just for TAARGÜS in the title.)</p><p><a href="https://unsung.aresluna.org/tags/humor/">#humor</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Every time there’s a massive technological shift, intellectual property rights suddenly and very conveniently become a blind spot.”</title>
    <link href="https://unsung.aresluna.org/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot</id>
    <published>2026-03-03T01:01:49.037Z</published>
    <updated>2026-03-03T01:01:49.037Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>From May last year, a <a href="https://www.youtube.com/watch?v=altfwRMXG4A" target="_blank">21-minute video by Linus Boman</a> about font piracy, specifically during the era of personal computing and early internet: </p>
<figure>
        <a href="https://www.youtube.com/watch?v=altfwRMXG4A" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The nuances of what separates font piracy from non-pirated revivals or general inspiration are too much even for me, but I liked how the video moved on from the obvious and cheap “haha, you wouldn’t pirate a font” story to cover a few of the more complex issues with panache.</p>
<p>My small contribution to the discourse is that I just <a href="https://archive.org/details/typeface-analogue-booklet" target="_blank">scanned an interesting booklet from 1979</a> called Typeface Analogue, which catalogs various names different phototypesetting manufacturers used for their “replica” fonts – a sort of a translation table between once-relevant parallel type ecosystems.</p>
<p>Some are pretty uninspired: CS for Century Schoolbook, OP for Optima, Eurostyle for Eurostile, and so on. Others are more interesting: a version of Palatino called Patina, American Classic becoming Colonial, or Futura renamed to Twentieth Century. Absolute fav? Helvetica becoming <a href="https://archive.org/details/megaron-by-varityper" target="_blank">Megaron</a>.</p>
<p>The display fonts you see on this blog are my vector conversion and slight improvement (kerning pairs!) over a bitmap <a href="https://en.wikipedia.org/wiki/GEOS_(16-bit_operating_system)" target="_blank">PC/GEOS</a> font called University, which itself was inspired by the original Macintosh’s Geneva. Inspired or downright stolen? You decide:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/every-time-theres-a-massive-technological-shift-intellectual-property-rights-suddenly-and-very-conveniently-become-a-blind-spot/1.1088w.avif" alt="" width="800" height="538">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/piracy/">#piracy</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Deterministic vs. idempotent</title>
    <link href="https://unsung.aresluna.org/deterministic-vs-idempotent" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/deterministic-vs-idempotent</id>
    <published>2026-03-02T21:08:53.198Z</published>
    <updated>2026-03-02T21:08:53.198Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Those terms confused me back in the day, and occasionally they still do, so I thought it might be nice to write it all out. This is how I understand them:</p>
<ul>
        <li><em>deterministic:</em> whenever you do something, it gives you identical results as any previous or next time you do it</li>
        <li><em>idempotent:</em> if you do something twice, or thrice, or more times, it will be the same as doing it once</li>
      </ul>
<p>Or, in short:</p>
<ul>
        <li><em>deterministic:</em> same every first time</li>
        <li><em>idempotent:</em> same every next time</li>
      </ul>
<p>This might be confusing. Outside of LLMs, computers are supposed to be deterministic, no? They’re famously <a href="https://en.wikipedia.org/wiki/Pseudorandom_number_generator" target="_blank">bad at random numbers</a>; if you memorize a pattern, <a href="https://strategywiki.org/wiki/Pac-Man/Walkthrough" target="_blank">you can beat Pac-Man every single time</a>.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/1.1088w.avif" alt="" width="448" height="496">
      </picture></figure>
<p>But “deterministic” in UI design might mean something more specific. Let’s take pressing ⌘B to bold, for example:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/2-thumbnail.avif" width="540" height="130" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/2.1600w.mp4"></video></figure>
<p>Every time you press ⌘B on an identical selection, it will behave the same. But, pressing ⌘B doesn’t guarantee something will get bold. If it already <em>is </em>bold, the command will reverse its meaning. In this sense, ⌘B is non-deterministic.</p>
<p>It’s not hard to imagine a determistic version of bolding. Make ⌘B bold the text, and make another shortcut – say, ⌘U – unbold it. This way, you can always press either and be absolutely confident you will get a predetermined result without worrying about anything else. It’s a boon for motor memory, but it is more complex to explain, and it adds more UI surface.</p>
<p>There is also another, more interesting way: you can make ⌘B always bold first, and unbold second. This way, your fingers can remember ⌘B is for bolding, and ⌘BB is for unbolding. But this also gets tricky: for already fully bolded text, it might seem the feature is broken, because the first keystroke does nothing!</p>
<p>Only the second of these three approaches is idempotent,meaning you can invoke it many times and it will always give the same result:</p>
<ul>
        <li>⌘B toggles bolding from current state: non-deterministic, non-idempotent</li>
        <li>⌘B bolds, ⌘U unbolds: deterministic, idempotent</li>
        <li>⌘B toggles bolding, always starts from bold: deterministic, non-idempotent</li>
      </ul>
<p>One of my favorite idempotent concepts is the Clear key present on many calculators, and still on some larger Mac keyboards.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/3.1088w.avif" alt="" width="408" height="691">
      </picture></figure>
<p>The idea behind Clear is simple. Let’s say you’re a professional keypad user – maybe an accountant? – typing in numbers for hours a day. You just made a mistake. Pressing Backspace will remove the last digit, but are you sure you only made a mistake on that last digit? What if your fingers brushed another key and you typed in two digits by accident? </p>
<p>Instead of using the non-idempotent Backspace key where you’d have to look at the screen to confirm, it’s easier just to press the idempotent Clear which will <em>always</em> remove the entire number, and then start from scratch without even having to look anywhere (as gamers would say, “no scope!”). </p>
<p>And, for people who are moving fast, it feels safe just to press the shortcut or a button instinctively, for ease of their mind, even if nothing has to be done. Some people might <em>choose</em> to press it a few times, just in case. The Esc key often has that property – isn’t it just nice to slam Esc many times? – and Jeff Jarvis <a href="https://medium.com/change-objects/goodbye-ctrl-s-8f424e463dbe" target="_blank">in his 2014 essay</a> talked about another shortcut that felt that way:</p>
<blockquote><p>Since I don’t need ⌘S anymore, I can now appreciate how much it had become a part of my ritual of writing and even of thinking. I used to hit ⌘S not just as data insurance — hell, I’d often hit it after having not made a single change in my text since the last time I’d hit it. I hit ⌘S as a break, a psychic, semiotic semicolon. It gave me a moment to search for the right word, to plan the structure of where I would go next, to commit to what I’d written, or to wonder whether I had the courage to erase what I’d written and try again.</p></blockquote>
<p>(In Figma, where ⌘S wasn’t necessary, we used to show this – but we only showed it once every fortnight, since some people would press the shortcut instinctively like Jarvis, and find the message distracting and maybe even patronizing.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/4.1088w.avif" alt="" width="378" height="84">
      </picture></figure>
<p>All of these options have pros and cons. The beauty of determinism and idempotence is that they free you from paying attention. I always get a bit nervous when someone tells me that in their country, you can press the elevator button again to <em>unset it. </em>Even if you don’t make a button a toggle, visually disabling it or showing a message (“Nothing to delete!”) when it has nothing to do could feel like a friendly gesture toward newcomers, but its non-idempotence will grate people who know what they’re doing. Determinism and idempotence are good for motor memory to develop, but – just like the above bolding example – <a href="https://www.reddit.com/r/iphone/comments/1am0ppp/where_even_is_the_backspace_on_the_iphone/" target="_blank">might</a> be <a href="https://www.reddit.com/r/iphone/comments/1h68o65/apple_finally_gets_backspace_button_in_calculator/" target="_blank">initially</a> more <a href="https://9to5mac.com/2025/08/12/ios-26-iphone-calculator-clear-button/" target="_blank">confusing</a>. </p>
<p>The approaches can coexist; browsers give you ⌘⌥←→ to move between tabs (non-deterministic, non-idempotent) and ⌘1/2/3 to switch to a specific tab (deterministic, idempotent). Some places even offer a choice. In macOS, you can say whether you want clicking on a scrollbar chute to be deterministic or not:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/deterministic-vs-idempotent/5.1088w.avif" alt="" width="473" height="183">
      </picture></figure>
<p>…although usual choice-giving caveats should apply.</p>
<p>I think it’s good to think about those things, especially for interfaces used professionally. Magical things happen if you can trust your fingers and sometimes, if you worry too much about novice users, that might make it hard for pro users to emerge.</p><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a></p>]]></content>
  </entry>
  <entry>
    <title>“A day some have predicted and many have feared”</title>
    <link href="https://unsung.aresluna.org/a-day-some-have-predicted-and-many-have-feared" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-day-some-have-predicted-and-many-have-feared</id>
    <published>2026-03-01T20:30:49.485Z</published>
    <updated>2026-03-01T20:30:49.485Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>As a former ISP employee I occasionally like dipping my toes into some networking stuff, and this <a href="https://www.youtube.com/watch?v=4r5IStRaG4E" target="_blank">25-minute video from The Serial Port</a> is a good retelling of the day in 2014 when one of internet’s important routing tables crossed a threshold of 512K, which caused all sorts of trouble:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=4r5IStRaG4E" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-day-some-have-predicted-and-many-have-feared/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-day-some-have-predicted-and-many-have-feared/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/a-day-some-have-predicted-and-many-have-feared/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/a-day-some-have-predicted-and-many-have-feared/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/a-day-some-have-predicted-and-many-have-feared/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>What I appreciate about The Serial Port is that they always seem to actually test the vintage hardware or rebuild the old software they’re commenting on, and this time was no exception: they grabbed a classic unsung hero of ISPs, a Cisco Catalyst 6500-series router, and then recreated “The 512K Day” in their studio.</p>
<p>This was a nice comment under the video:</p>
<blockquote><p>Have absolutely no knowledge about networking, but watched this video as if a thriller movie. Thanks for opening my world of tech to networking.</p></blockquote>
<p>Yeah, the video is kind of nerdy and intense, but maybe you’ll enjoy it; even a classic aging piece of hardware with an arbitrary ticking-bomb limit deserves some respect. </p>
<p>Also, the funniest comment:</p>
<blockquote><p>I had a 2.4k day a couple days ago when I realized <a href="https://www.farming-simulator.com/" target="_blank">Farm Sim 22</a> only allows a max of 2400 bales. Couldn’t load into my saved game. Had to go into items.xml and temp remove a hundred bales.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Designed to be loveable by managers”</title>
    <link href="https://unsung.aresluna.org/designed-to-be-loveable-by-managers" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/designed-to-be-loveable-by-managers</id>
    <published>2026-02-28T20:31:34.859Z</published>
    <updated>2026-02-28T20:31:34.859Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I read Erika Hall’s <a href="https://www.mulebooks.com/just-enough-research" target="_blank">Just Enough Research</a>. I’m not going review the entire book as it feels a bit off-topic for this blog, but the chapter about surveys had me nodding my head so much I’d love to excerpt a few things:</p>
<blockquote><p>The questions can be asked in person or over the phone, or distributed on paper or collected online. The proliferation of online survey platforms has made it possible for anyone to create a survey in minutes.</p>
<p>This is not a good thing.</p>
<p>Surveys are the most dangerous research tool — misunderstood and misused. They frequently blend qualitative and quantitative questions; at their worst, surveys combine the potential pitfalls of both. […]</p>
<p>If you ever think to yourself, “Well, a survey isn’t <em>really</em> the right way to make this critical decision, but the CEO really wants to run one. What’s the worst that can happen?”</p>
<p>Brexit.</p></blockquote>
<p>Hall highlights that surveys are much harder to debug than other methods:</p>
<blockquote><p>It’s much harder to write a good survey than to conduct good qualitative user research—something like the difference between building an instrument for remote sensing and sticking your head out the window to see what the weather is like. Given a decently representative (and properly screened) research participant, you could sit down, shut up, turn on the recorder, and get useful data just by letting them talk. But if you write bad survey questions, you get bad data at scale with no chance of recovery. It doesn’t matter how many answers you get if they don’t provide a useful representation of reality. […] Surveys are the most difficult research method of all.</p>
<p>[…] Bad code will have bugs. A bad interface design will fail a usability test. A bad user interview is as obvious as it is uncomfortable. […] A bad survey won’t tell you it’s bad.</p></blockquote>
<p>And that they might be seductive because they feel like hard data:</p>
<blockquote><p>Designers often find themselves up against the idea that survey data is better and more reliable than qualitative research just because the number of people it is possible to survey is so much larger than the number of people you can realistically observe or interview. [… But] unless you are very careful with how you sample, you can end up with a lot of bad, biased data that is totally meaningless and opaque.</p></blockquote>
<p>There’s also this hilarious bit:</p>
<blockquote><p>Managers love NPS because it was designed to be loveable by managers. It’s simple and concrete and involves fancy consultant math, which makes it seems special. But is this metric as broadly applicable and powerful as it claims to be?</p>
<p>Nah.</p>
<p>NPS is not a research tool. I shouldn’t even be talking about NPS in a research book.</p></blockquote>
<p>The <a href="https://www.mulebooks.com/just-enough-research" target="_blank">entire book</a> is worth a read, with a lot more to offer than the pithy quotes I excerpted above. I really liked its pragmatic approach to research that understands the realities of the industry.</p><p><a href="https://unsung.aresluna.org/tags/book/">#book</a> <a href="https://unsung.aresluna.org/tags/research/">#research</a></p>]]></content>
  </entry>
  <entry>
    <title>Tales of direct manipulation, pt. 1</title>
    <link href="https://unsung.aresluna.org/tales-of-direct-manipulation-pt-1" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/tales-of-direct-manipulation-pt-1</id>
    <published>2026-02-28T20:15:29.377Z</published>
    <updated>2026-02-28T20:15:29.377Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Mac allows you to assign keyboard shorcuts to menu items, but the interface is clunky – you have to select the app even if you just came from it, and then type in the menu item name by hand without any assistance:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/1.1088w.avif" alt="" width="744" height="700">
      </picture></figure>
<p>Other tools, like Keyboard Maestro, do something similar. You either have to type it again, or you can point to it, but in a replica of the menu of the app shown in a very different style and orientation:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/2.1088w.avif" alt="" width="800" height="663">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/3.1088w.avif" alt="" width="587" height="619">
      </picture></figure>
<p>But this week I learned of another app, KeyCue, that approaches this differently. You simply point to the menu item and hold the desired key for a while:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/4-thumbnail.avif" width="800" height="592" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/tales-of-direct-manipulation-pt-1/4.1600w.mp4"></video></figure>
<p>Okay, this is not a universal endorsement. The feature works clunkily, and KeyCue as a whole is way too comfortable adding itself to login items without asking.</p>
<p>But as far as singular interactions go, this is great and eye-opening. It made me realize that the previous things I’ve shown – System Settings, Keyboard Maestro –  are really not GUIs, and they don’t practice direct manipulation. They’re still partially command line interfaces dressed up in GUI clothing.</p>
<p>We kind of lightly made fun of Jony Ive going angelic on “staying true to the material” and things being “<a href="https://www.youtube.com/watch?v=eCSX3pWFKYc" target="_blank">beautifully, unapologetically plastic</a>.” And there is, of course, value in command line and those kinds of approaches. But this part of KeyCue at least is unapologetically a graphical user interface, and it is nice to still be surprised in this space.</p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a></p>]]></content>
  </entry>
  <entry>
    <title>“Simultaneously old-fashioned and futuristic at the same time”</title>
    <link href="https://unsung.aresluna.org/simultaneously-old-fashioned-and-futuristic-at-the-same-time" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/simultaneously-old-fashioned-and-futuristic-at-the-same-time</id>
    <published>2026-02-28T05:50:43.093Z</published>
    <updated>2026-02-28T05:50:43.093Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Before computer graphics, movies relied on matte paintings to extend or flesh out the background. This is perhaps my favourite matte painting, from <a href="https://beforesandafters.com/2020/07/03/die-hard-2-the-story-behind-that-famous-final-matte-painting-pullback/" target="_blank">the end credits of Die Hard 2</a>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/1.1088w.avif" alt="" width="800" height="581">
      </picture></figure>
<p>Turns out, videogames do something similar, except the result is called a <a href="https://en.wikipedia.org/wiki/Skybox_(video_games)" target="_blank">skybox</a>, since it has to encompass the player from all sides. It’s another way to use cheap trickery to pretend the world is larger than it is. </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/2.1088w.avif" alt="" width="800" height="597">
      </picture></figure>
<p>This <a href="https://www.youtube.com/watch?v=NhIvqkibC4o" target="_blank">9-minute video by 3kliksphilip</a> shows a few more advanced skybox tricks from Counter Strike games using the Source engine:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=NhIvqkibC4o" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/simultaneously-old-fashioned-and-futuristic-at-the-same-time/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I particularly liked two discoveries:</p>
<ul class="long-list">
        <li>In real world, you wouldn’t style backfacing parts, because the player will never be allowed to see from the other side. Here, you don’t even have to <em>render</em> them.</li>
        <li>Modern skyboxes have layers and layers of deceptions: more realistic 3D buildings closer to you, and completely flat bitmaps far away. It almost feels like each skybox contains the history of skybox technology that preceded it.</li>
      </ul>
<p>On the other hand, seeing clouds as flat bitmaps was really disappointing.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Our programs are fun to use.”</title>
    <link href="https://unsung.aresluna.org/our-programs-are-fun-to-use" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/our-programs-are-fun-to-use</id>
    <published>2026-02-26T17:04:52.298Z</published>
    <updated>2026-02-26T17:04:52.298Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Beagle Bros was a 1980s software company making apps for Apple II that is still remembered fondly for their personality.</p>
<p>The company had a hobbyist slant, selling various small tools and collections with fun names like Beagle Bag (in the “Indoor Sports” collection) and DOS Boss and Utility City – similar perhaps to <a href="https://en.wikipedia.org/wiki/Norton_Utilities" target="_blank">Norton Utilities</a> on the PC side, but with a lot more fun and charisma. This is one of their loading screens, also showing both their recognizable logo and their endearing quirkiness:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/1-thumbnail.avif" width="800" height="560" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/1.1600w.mp4"></video></figure>
<p>The fun and well-photographed <a href="https://archive.org/details/softalkv4n02oct1983/page/66/mode/2up" target="_blank">interview in Softalk</a> in 1983 starts like this:</p>
<blockquote><p>How do you understand a man who has three clocks on his wall, showing the time in three different cities-San Diego, Fresno, and Seattle-all, of course, showing the same time (″If anything changes in those cities, we’ll know about it”)?</p></blockquote>
<p>…and has images like these:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/2.1088w.avif" alt="" width="715" height="700">
      </picture></figure>
<p>Beagle Bros <a href="https://beagle.applearchives.com/catalogs/" target="_blank">catalogs and manuals</a> were filled with old-timey woodcut <a href="https://beagle.applearchives.com/graphics/" target="_blank">illustrations</a> repurposed to tell jokes:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/3.1088w.avif" alt="" width="800" height="547">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/4.1088w.avif" alt="" width="638" height="384">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/5.1088w.avif" alt="" width="466" height="700">
      </picture></figure>
<p>(I find the anachronistic combination of hedcuts and dot matrix printer typography particularly fascinating.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/6.1088w.avif" alt="" width="448" height="700">
      </picture></figure>
<p>Some of their <a href="https://en.wikipedia.org/wiki/Beagle_Bros#Software" target="_blank">software</a> was more serious; Beagle Bros released many useful tools and even text editing and presentation apps. They also made practical <a href="https://beagle.applearchives.com/posters/" target="_blank">posters</a>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/7.1088w.avif" alt="" width="450" height="700">
      </picture></figure>
<p>But other stuff…? It was just goofing off:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/8.1088w.avif" alt="" width="800" height="548">
      </picture></figure>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/9.1088w.avif" alt="" width="800" height="608">
      </picture></figure>
<p>How does this relate to craft and quality? </p>
<p>There is this interesting question about how much product and marketing and vibes and lorecorrelate. Did we forgive Sierra On-Line the numerous flaws of their games because we liked the company? Do we love <a href="https://panic.com/" target="_blank">Panic</a> because we like what they do, or because of <em>how</em> they do it? Did Google put doodles on its homepage to distract people from more nefarious things, or because it just felt like a fun way to celebrate things? Is there such a thing as pure selflessness? What is the nature of free will?</p>
<p>Those are, perhaps, topics for future posts.</p>
<p>But Beagle Bros must have been doing something right if there is still a living, elaborate <a href="https://beagle.applearchives.com/" target="_blank">catalog of their works online</a>, 40+ years later. <a href="https://blog.codinghorror.com/our-programs-are-fun-to-use/" target="_blank">Jeff Atwood also argued in 2015</a> that it was more than just fun – or that “fun” itself can give back in great ways:</p>
<blockquote><p>Here were a bunch of goofballs writing terrible AppleSoft BASIC code like me, but doing it for a living – and clearly having fun in the process. Apparently, the best way to create fun programs for users is to make sure you <a href="https://blog.codinghorror.com/remember-this-stuff-is-supposed-to-be-fun/" target="_blank">had fun writing them</a> in the first place.</p>
<p>But more than that, they taught me <em>how much more fun it was to learn by playing with an interactive, dynamic program</em> instead of passively reading about concepts in a book. […]</p>
<p>One of the programs on these Beagle Bros floppies, and I can’t for the life of me remember which one, or in what context this happened, printed the following on the screen: “One day, all books will be interactive and animated.”</p>
<p>I thought, wow. That’s it. <em>That’s</em> what these floppies were trying to be! Interactive, animated textbooks that taught you about programming and the Apple II! Incredible.</p></blockquote>
<p>Steven Frank, the co-founder of Panic, <a href="https://web.archive.org/web/19990224220405/https://www.panic.com/goodies/" target="_blank">wrote this in 1999</a>, with similar themes:</p>
<blockquote><p>You never knew exactly what you were going to get. I remember one program listing printed on the side of a bird that, when run, produced a series of wild chirping noises from the Apple’s speaker. And this was from a program that was only five to ten lines long. As a neophyte BASIC programmer myself, I was stunned and amazed. How could you make something this cool with this small amount of code? […]</p>
<p>Beagle Bros’ tools were fantastic. They literally let you do the (allegedly) impossible, like change the names of operating system commands. And they always packed the disks full with extra stuff. Demos of their other products, and strange graphics hacks that existed for no reason other than the fact that they were cool, and because there was spare room on the disk. Beagle Bros. had a lot to do with why I ever wanted to learn programming in the first place. […]</p>
<p>I’ll never forget the book. […] The book was a huge compilation of all around interesting stuff. Weird Apple II tricks that were pointless, but endlessly fascinating. Like the fact that there were extra offscreen pixels of lo-res graphics memory that you could write to, that never got displayed. Or how to put “impossible” inverted or flashing characters into your disk directory listing. Or how to modify system error messages. Not very useful, but really fun to know and really, really cool to mess with. My dad was convinced I was going to somehow break the computer with all this hacking, but a simple reboot always fixed everything.</p></blockquote>
<p>(I swear I did think of Panic above as a spiritual successor to Beagle Bros without knowing that their work literally inspired one of the Panic’s founders!)</p>
<p>Frank’s essay <a href="https://stevenf.com/beagle/legacy.html" target="_blank">provoked more emails</a>, and this excerpt caught my attention:</p>
<blockquote><p>The subtlety: They had utilities which would produced formatted Basic listings and they would give example output of these utlities in their ads and catalogs. It was quite a while before I realized that most of those examples were not program excerpts, but complete programs which of course contained the Beagle Bros signature weirdness. And then there were the seemingly innocent hex dumps. My favorite was from the cover of one of their catalogs, which had a classic picture of this fellow sitting in a chair. On the floor next to him is a handbag with a piece of tractor paper sticking out. On the paper is a hex dump: 48 45 4C 50 21 20 and so on, which are ASCII codes that spell out the message: “HELP! GET ME OUT! I’M TRAPPED IN HERE!----SOPHIE”</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/10.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/10.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/10.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/10.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/our-programs-are-fun-to-use/10.1088w.avif" alt="" width="440" height="700">
      </picture></figure>
<p>Toward the end of the prolific 1980s, Beagle Beos tried to strike it big <a href="https://www.callapple.org/magazines-4/what-happened-to-beagle-bros/" target="_blank">by making an integrated office suite</a>:</p>
<blockquote><p>After the work the company had done on AppleWorks 3.0, Simonsen felt ready to jump into the Macintosh market with a “Mac AppleWorks” of their own – they called it Beagle Works. Unfortunately, other companies – giants in the Mac market such as Microsoft, Claris, and Symantec – had the same idea. Their resources were far greater than Beagle Bros had imagined, and the race was costly.</p></blockquote>
<p>The gamble killed the company. It’s likely that the changing software market would anyway. </p>
<p>But the years before seem to still inspire some people. Check out the <a href="https://beagle.applearchives.com/" target="_blank">Beagle Bros Repository</a> – the homepage is a bit confusing (I think it prominently shows last-updated or last-added things for some reason?), but just use the nav at the top. Maybe it will inspire you, too.</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a> <a href="https://unsung.aresluna.org/tags/toolmaking/">#toolmaking</a></p>]]></content>
  </entry>
  <entry>
    <title>“Some are papercuts, others a throbbing migraine.”</title>
    <link href="https://unsung.aresluna.org/some-are-papercuts-others-a-throbbing-migraine" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/some-are-papercuts-others-a-throbbing-migraine</id>
    <published>2026-02-25T16:32:45.612Z</published>
    <updated>2026-02-25T16:32:45.612Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://pxlnv.com/blog/on-software-quality/" target="_blank">thoughtful essay by Nick Heer</a> as a sidebar to <a href="https://sixcolors.com/post/2026/02/2025reportcard/" target="_blank">the annual Apple/Six Colors report card</a>, in which he proposes this simple framework:</p>
<blockquote><p>In short, the way I think about software quality is the amount of meaningful problems. […] </p>
<p>There are problems in Finder — <a href="https://lapcatsoftware.com/articles/2026/2/4.html" target="_blank">resizing columns</a>, renaming or deleting files synced with a FileProvider-based app, and different views not reflecting immediate reality. There are problems with <a href="https://noheger.at/blog/2026/02/12/resizing-windows-on-macos-tahoe-the-saga-continues/" target="_blank">resizing windows</a>. AirPlay randomly drops its connection. AirDrop and other “continuity” services do not always work or, in an interesting twist I experienced a couple days ago, work fine but display an error anyway. The AirPlay and AirDrop menus shuffle options <em>just</em> in time for you to tap the wrong one. […]</p>
<p>These are the products and features I actually use. There are plenty others I do not. I assume syncing my music collection over iCloud <a href="https://mjtsai.com/blog/2023/03/10/music-to-no-ones-ears/" target="_blank">remains untrustworthy</a>. Shortcuts seems largely forgotten. Meanwhile, any app augmented by one of Apple’s paid services — Fitness, News, TV — has turned into an upselling experience.</p></blockquote>
<p>As I’m reading this and thinking about my own Apple usage patterns and a similar litany of problems, I keep returning to Apple TV, which feels by far like the most stable and least troubled platform. I wish I had a better explanation for it: Is Apple magically really good at TV interfaces? Are their benefitting from it being a “hobby project”? But I think the Occam’s Razor here is this: tvOS is just a lot <em>simpler</em>. </p>
<p>And just like that, a thought appears: Is what we’re seeing overall is really just Apple losing the battle with complexity?</p>
<p>Apple won once, in the late 1990s, when on the hardware side all the Performas and Newtons and LaserWriters <a href="https://youtu.be/GnO7D5UaDig?si=3wddyrSH2yfjucWD&amp;t=3023" target="_blank">were cut ruthlessly</a>, and on the software front Mac OS X pushed Classic away as the operating system. The situation was different then, however, because there was no other choice. Today, Apple <em>seems</em> successful on paper, so the pressure needs to come from inside, from someone high up enough to recognize that what Apple is doing vis-a-vis software quality is not sustainable and hasn’t been for some time now. That the bill already came due on all of the decisions where systems thinking and deep testing and focus and preventative maintenance and paying off design debt have been deprioritized in favour of another shiny launch event that stretches the teams and platforms even thinner.</p>
<p>When thinking about complexity, a different go-to framework I have is “can I explain a situation in a short paragraph?” This can help separate <a href="https://unsung.aresluna.org/the-autocorrect-battle-of-wills/">regular bugs</a> (where the explanation is typically: I am doing the thing that used to work and it’s no longer working, so something broke), from bigger problems that require some serious long-term system-thinking approach. Off the top of my head, there are many things I can no longer explain:</p>
<ul>
        <li>I cannot explain Apple’s widget strategy</li>
        <li>I cannot explain what is going on with the Fn/Globe key</li>
        <li>I cannot explain the long-term thinking surrounding icons in Tahoe menus</li>
      </ul>
<p>Of course, it’s not <em>me</em> who should be explaining those things. And I haven’t done this exercise before so I don’t know for sure if things are getting worse here. It feels like it, though. I wonder if Apple just hit a limit of some sort of being able to deal with complex things, and first course of action should be: don’t throw even more complex things on your plate.</p>
<p>A <a href="https://leancrew.com/all-this/2026/02/another-apple-icon-regression/" target="_blank">good thought from Dr. Drang</a>, too:</p>
<blockquote><p>It’s probably impossible to tell the upper echelon of Apple that it’s <a href="https://www.apple.com/newsroom/2026/01/apple-reports-first-quarter-results/" target="_blank">breaking revenue records</a> in spite of its software design, not because of it. I hope the next regime knows better.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/nick-heer/">#nick heer</a></p>]]></content>
  </entry>
  <entry>
    <title>“Some rather obscure and complex mathematical process”</title>
    <link href="https://unsung.aresluna.org/some-rather-obscure-and-complex-mathematical-process" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/some-rather-obscure-and-complex-mathematical-process</id>
    <published>2026-02-25T16:02:39.179Z</published>
    <updated>2026-02-25T16:02:39.179Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>When you start a new game in SimCity 2000 (<a href="https://emulate-in-browser.macintoshrepository.org/?macmodel=3&amp;disk1=MacOS753.dsk&amp;disk2=14840_SimCity-2000-Collection.dsk" target="_blank">you can try it in the browser yourself</a>), as the city is generated, you see a few messages fly by: Creating Hills, Tracing Rivers, Smoothing. Among them, for a bit, one can see “Reticulating Splines”:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/1.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>If it was not obvious from seeing Smoothing followed by More Smoothing and then Yet More Smoothing, the phrase is a joke. From <a href="http://web.archive.org/web/20030513014538/http://patcoston.com/co/text/spline.htm" target="_blank">The Official SimCity 2000 Planning Commission Handbook</a>:</p>
<blockquote><p>“Reticulating splines” is a giant pulling of our legs. Will and some others made up the phrase because they thought it looks and sounds as if it means something. It might: the word “reticulate” means to divide something so that it looks like, or appears to be, a net or a network generating, perhaps, from a single point; a “spline” can be an irregular curve or the approximation of a curve. Individually the terms have meaning. Together – in the case of SimCity 2000 – they don’t. It’s just a prank and a joke.</p></blockquote>
<p>In some versions of the game, there was also a seductive woman’s voice <a href="http://web.archive.org/web/20070203174157/http://patcoston.com/co/common/529.wav" target="_blank">saying the phrase out loud</a>, which presumably made it even more memorable.</p>
<p>The phrase moved to other Maxis games, notably The Sims…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/2.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>…and subsequently Minecraft…</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/3.1088w.avif" alt="" width="800" height="420">
      </picture></figure>
<p>…and then <a href="https://sims.fandom.com/wiki/Reticulating_splines/Usage_outside_of_Maxis_games" target="_blank">tons of other places</a>.</p>
<p>I’ve heard the argument that it wasn’t just Reticulating Splines – that Will Wright’s joke was the beginning of the habit of putting “cute” loading messages in apps, including actual not-game and definitely-not-cute applications. I am 100% sure there are some earlier examples of “funny” loading or error states, but I also see how this one attained a certain critical mass and influence.</p>
<p>I hate these cute loading strings with passion. I think I’m in the minority. It’s a topic for a future time, but it was fun at least to trace some part of its history, sifting through hundreds of pages earnestly explaining the concept of “reticulating splines” to people. Whether they’re in on the joke, I am not sure.</p>
<p>Also, okay. Fair enough. I chuckled just now when I saw this:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/some-rather-obscure-and-complex-mathematical-process/4.1088w.avif" alt="" width="800" height="452">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
  <entry>
    <title>“It’s not so simple to celebrate a phrase.”</title>
    <link href="https://unsung.aresluna.org/its-not-so-simple-to-celebrate-a-phrase" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/its-not-so-simple-to-celebrate-a-phrase</id>
    <published>2026-02-24T18:28:03.423Z</published>
    <updated>2026-02-24T18:28:03.423Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This was a fun <a href="https://www.youtube.com/watch?v=xGOKEAVmQ-g" target="_blank">15-minute architectural video from Stewart Hicks</a> (absolutely worth a follow otherwise) that mapped precisely into the same kind of tension and internal debate I sometimes feel when talking about minimalism in UX design: Minimalism is good! Until it’s not!</p>
<figure>
        <a href="https://www.youtube.com/watch?v=xGOKEAVmQ-g" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-not-so-simple-to-celebrate-a-phrase/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-not-so-simple-to-celebrate-a-phrase/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/its-not-so-simple-to-celebrate-a-phrase/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/its-not-so-simple-to-celebrate-a-phrase/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/its-not-so-simple-to-celebrate-a-phrase/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>One interesting lesson here is that the famous “less is more” was actually – surprise! – perverted from the original poem, where it meant “less technical perfection means more emotional impact.”</p>
<p>I wasn’t fully sure why Hicks decided to incorporate a commentary to his own story this way – maybe he was afraid that the sarcasm of “steel wanting to share its joy” and “lessness” and “simplificity” wouldn’t land well? Or perhaps it was just the introduction that didn’t quite work for me, as it confused the entire joke.</p>
<p>But it was fun to watch it twice anyway. Those stories are never easy. I am not ready to draw too many parallels between architecture and UX design, even if Hicks lightly does so at the end. There’s no gentrification and displacement when Liquid Glass takes over Aqua, although I think a lot of people would love to see a Apple’s recent design decisions meeting the business end of a wrecking ball.</p>
<p>My favourite recent saying to replace “less is more” is this, by Paul Valéry (another poet!):</p>
<blockquote><p>Everything simple is false. Everything complex is unusable.</p></blockquote>
<p>You can see it as unsolvable, cynical, maybe even nihilistic. I do too, on a dark day. But more often, I see it as a great challenge. “Less is more” has this simplistic seductiveness that feels naïve. “More” is not an option, but often in my work on complex systems “less” is neither, and a lot of UX design is finding the perfect shade of gray.</p><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Accidental UI calming</title>
    <link href="https://unsung.aresluna.org/accidental-ui-calming" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/accidental-ui-calming</id>
    <published>2026-02-24T15:26:40.860Z</published>
    <updated>2026-02-24T15:26:40.860Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I keep thinking about this very good <a href="https://www.youtube.com/watch?v=bglWCuCMSWc" target="_blank">11-minute Not Just Bikes video about traffic calming</a>. In it, a simple argument is made: the posted speed limit of any given street or road doesn’t really matter. What matters is how the street <em>feels</em>. Generously wide and separated lanes, sparse traffic lights, and the road being straight past the horizon will make you unconsciously speed up. Reducing the posted speed limit or adding flashing YOUR SPEED signs won’t help:</p>
<blockquote><p>The truth is that many drivers will not slow down because of signs or speed limits. They’ll slow down either because they don’t feel safe, or because they’re afraid of damaging their car.</p></blockquote>
<p>The only answer is redesigning the street for the desired speed limit – narrowing the lanes or joining them, creating choke points and speed bumps, adding posts and planting trees close to the road, and even adding visual cues like “<a href="https://multisenal.com/en/did-you-know-about/dragons-teeth-the-new-road-markings-in-traffic-safety/" target="_blank">dragon’s teeth</a>.” </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/accidental-ui-calming/1.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<blockquote><p>One of the great thing about driving in the Netherlands is that it’s rarely necessary to look at the speed limit. The road design takes care of that for you.</p></blockquote>
<p>There is an app I use a lot called Forklift, a suped up Finder, with one of its functions being syncing files to a remote server.</p>
<p>In its version 3, the syncing window looked like this:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/accidental-ui-calming/2.1088w.avif" alt="" width="800" height="459">
      </picture></figure>
<p>This is a pretty straightforward and dependable function – and I’ve depended on it for years.</p>
<p>I recently updated to version 4 to check it out, particularly since it promised faster syncing. But I was thrown aback by how it randomly deteriorated:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/accidental-ui-calming/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/accidental-ui-calming/3.1088w.avif" alt="" width="800" height="460">
      </picture></figure>
<p>It’s not that there seem to be some UI challenges: the new icons make it harder to understand hierarchy, and one of the switches starts with “Don’t” in contravence of rules of avoiding double negatives.</p>
<p>No, the worst part is this:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/accidental-ui-calming/4-thumbnail.avif" width="800" height="435" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/accidental-ui-calming/4.1600w.mp4"></video></figure>
<p>This is a new temporary state that meant to help me understand the details of what’s changing. </p>
<p>On the surface, it’s a thoughtful thing. But it’s done in the worst possible way for this kind of a power-user interface: It’s very slow to invoke and slow to cancel. I often activate it by accident – it makes large swaths of UI a minefield where you can no longer rest your cursor safely. It also changes the hierarchy of the output in a way that’s confusing – and it even animates the text <em>wrapping</em> in a distracting way. Then, if you press Esc instinctively to get rid of whatever happens, the window closes altogether.</p>
<p>It’s a “delightful,” luscious transition that is completely out of place. I think this is how many people misunderstand craft – that it’s only about “high polish” without any thought underneath. Here, the effort was spent on executing something that couldn’t be saved this way and needed a more serious rethink. It seems like its creators forgot who’s using the app and for what, and embarked on <em>accidental UI calming.</em></p>
<p>There are other challenges along the same lines, both downgrades from version 3:</p>
<ul>
        <li>when the app analyzes the differences, I can no longer press the Sync button and walk away</li>
        <li>even when the button becomes active, I can no longer press Enter to activate it – I have to use the mouse</li>
      </ul>
<figure>
        <video poster="https://unsung.aresluna.org/_media/accidental-ui-calming/5-thumbnail.avif" width="800" height="435" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/accidental-ui-calming/5.1600w.mp4"></video></figure>
<p>In version 3, I could invoke Sync, immediately press Enter, and get on my merry way, with syncing continuing in the background. It was exactly what I wanted. Version 4 slows me down by requiring me to pay constant attention to the interface: it matters where I rest my mouse, it matters when I click the button, it matters what input device I use to commit.</p>
<p>It’s okay to think of <a href="https://unsung.aresluna.org/a-hand-wave-toward-something-ineffable/">friction</a> and sometimes transitions are indeed very helpful for UI calming to avoid drastic movements or accidental activations. But here, this isn’t great at all; the creators of Forklift promised me faster syncing and achieved the opposite.</p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“So long I’m showing it sideways”</title>
    <link href="https://unsung.aresluna.org/so-long-im-showing-it-sideways" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/so-long-im-showing-it-sideways</id>
    <published>2026-02-23T20:17:34.030Z</published>
    <updated>2026-02-23T20:17:34.030Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This from <a href="https://sixcolors.com/post/2026/02/why-your-macs-phone-app-cant-hear-you/" target="_blank">a blog post by my friend Glenn Fleishman about audio/&#8203;video settings</a> in macOS just made me laugh:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-long-im-showing-it-sideways/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-long-im-showing-it-sideways/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-long-im-showing-it-sideways/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-long-im-showing-it-sideways/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/so-long-im-showing-it-sideways/1.1088w.avif" alt="" width="719" height="313">
      </picture></figure>
<p>It’s doubly funny if you are aware of Fleishman’s extensive experience in printing.</p>
<p>Also, this:</p>
<blockquote><p>I guess this is how I keep humble. Despite decades of using a Mac, I can still miss a Video menu in an audio app.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/humor/">#humor</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>Safari release notes</title>
    <link href="https://unsung.aresluna.org/safari-release-notes" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/safari-release-notes</id>
    <published>2026-02-23T18:37:02.994Z</published>
    <updated>2026-02-23T18:37:02.994Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I thought <a href="https://developer.apple.com/documentation/safari-release-notes/safari-26_4-release-notes" target="_blank">Safari’s release notes</a> are pretty good – exhaustive, direct, something you won’t ever read for pleasure, but something you can actually learn a lot from even if you are just scanning.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/safari-release-notes/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/safari-release-notes/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/safari-release-notes/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/safari-release-notes/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/safari-release-notes/1.1088w.avif" alt="" width="543" height="700">
      </picture></figure>
<p>I wish either <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/will-change" target="_blank">MDN</a> or <a href="https://caniuse.com/will-change" target="_blank">Can I use…</a> integrated them in some way (and, of course Chrome’s and Firefox’s as well), so that looking up a certain feature or property – for example, <code>will-change</code> – would show you the recent changes in browsers in reverse chronological order, which could help you understand the details of the feature evolving, and help with debugging.</p><p><a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a> <a href="https://unsung.aresluna.org/tags/release-notes/">#release notes</a></p>]]></content>
  </entry>
  <entry>
    <title>“It’s very small, but still leaves room for creativity.”</title>
    <link href="https://unsung.aresluna.org/its-very-small-but-still-leaves-room-for-creativity" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/its-very-small-but-still-leaves-room-for-creativity</id>
    <published>2026-02-23T15:07:41.423Z</published>
    <updated>2026-02-23T15:07:41.423Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A really interesting <a href="https://www.youtube.com/watch?v=qht68vFaa1M" target="_blank">28-minute video</a> by daivuk about making a first-person shooter game <a href="https://daivuk.itch.io/quod" target="_blank">QUOD</a> that fit in just 64 kilobytes:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=qht68vFaa1M" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I found watching it strangely enthralling and even nerve racking. The creator keeps adding stuff that seemingly has no chance of fitting into such a small space – textures! sounds effects! music! his own language! – and somehow finds a way to squeeze them all in.</p>
<p>This is inspiring, but also practically useful: even though you and I are maybe never likely to need such high optimization, some of these techniques alone could be useful in some tight quarters like a load-bearing CSS file, or embedded software.</p>
<p>As an example, the author wrote his own “<a href="https://en.wikipedia.org/wiki/Music_tracker" target="_blank">music tracker</a>,” which is a clever way to reduce the weight of music: instead of the tune being one big audio file, only the instruments are sampled, and then arranged in repeating patterns.</p>
<p>Except in his case, there were no instruments… just audio effects already existing in the game. And audio effects themselves were generated in a similar way, by combining smaller waves and effects.</p>
<p>The same was done for textures: the creator wrote a bespoke text editor that saves each texture as smaller pieces and combination instructions – a sort of a “PDF” of a texture rather than a more costly scan of the printed page – and re-generates it on entry.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/1.1088w.avif" alt="" width="800" height="416">
      </picture></figure>
<p>Lastly, this debug view of “cost” was really interesting. (Good debug views, in my opinion, are generally underrated.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/its-very-small-but-still-leaves-room-for-creativity/2.1088w.avif" alt="" width="800" height="416">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/hacks/">#hacks</a> <a href="https://unsung.aresluna.org/tags/toolmaking/">#toolmaking</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Living in the Upside Down</title>
    <link href="https://unsung.aresluna.org/living-in-the-upside-down" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/living-in-the-upside-down</id>
    <published>2026-02-22T18:12:49.810Z</published>
    <updated>2026-02-22T18:12:49.810Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>As you progress in your UI design career, you learn that there are quite a few unsolvable challenges:</p>
<ul class="long-list">
        <li>do you write My Items or Your Items in UI?</li>
        <li>do you put hand cursors over buttons?</li>
        <li>for a boolean item (especially in the menu), do you talk about the present state or the future state?</li>
        <li>do you try to solve for change blindness or change aversion?</li>
      </ul>
<p>I was reminded of one of those today: how do you sort items in a bottom-aligned menu?</p>
<p>One school of thought is to keep it in the same order as you would a regular top-aligned menu:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/living-in-the-upside-down/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/living-in-the-upside-down/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/living-in-the-upside-down/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/living-in-the-upside-down/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/living-in-the-upside-down/1.1088w.avif" alt="" width="260" height="357">
      </picture></figure>
<p>On the positive side, this allows to build consistent understanding of how menus are structured: the most important thing is at the top, Quit is always at the bottom. But the downsides are obvious, too – now the most important item is furthest away from where you cursor started, and you have to awkwardly <a href="https://www.alandix.com/academic/papers/scrollbar/" target="_blank">cross all the other items</a> on the way to it.</p>
<p>iOS’s springboard went, literally, the other way:</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/living-in-the-upside-down/2-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/living-in-the-upside-down/2-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/living-in-the-upside-down/2-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/living-in-the-upside-down/2-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/living-in-the-upside-down/3-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/living-in-the-upside-down/3-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/living-in-the-upside-down/3-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/living-in-the-upside-down/3-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>Here, the bottom aligned menu reverses its item order. This tripped me up today. The dock in macOS was actually more defensible upside down because there, every menu was always going the same way. Here, the inconsistency starts rearing its ugly head.</p>
<p>Of course, the best way to not face an impossible choice is to avoid it altogether. Not sure how one could accomplish it here, though. Placing the menus consistently below would make some of them scrollable, or basically invisible for bottommost icons. You could also slide the entire screen up to make room for the menu, but that would probably feel disorienting.</p>
<p>So, I can’t say this is a <em>wrong</em> solution. The inconsistency might only bother people who use this often, and maybe no one uses this often? Or, perhaps, it was really important to allow to resize widgets and make that item as easy to tap as possible? But still, I think I would have done it the other way – align as needed, but items always in the same order.</p><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“Please star to express your interest.”</title>
    <link href="https://unsung.aresluna.org/please-star-to-express-your-interest" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/please-star-to-express-your-interest</id>
    <published>2026-02-22T17:11:26.098Z</published>
    <updated>2026-02-22T17:11:26.098Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>An interesting crowdsourcing effort from <a href="https://mimestream.com/" target="_blank">Mimestream</a> that asks users who want snoozing to <s>pick up a phone and dial their representative</s> put pressure on Gmail to add that feature to the API.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/please-star-to-express-your-interest/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/please-star-to-express-your-interest/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/please-star-to-express-your-interest/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/please-star-to-express-your-interest/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/please-star-to-express-your-interest/1.1088w.avif" alt="" width="800" height="553">
      </picture></figure>
<p>I wonder how much of a chance of succeeding this has. <a href="https://issuetracker.google.com/issues/109952618" target="_blank">The issue</a> has been open since 2018, and was reopened in 2023. It has over 5,100 stars. Those dates seem old and the numbers seem huge, but I don’t have a full frame of reference. Casual search shows there are only <a href="https://issuetracker.google.com/issues?q=status:open%20votecount%3E5000" target="_blank">two more bugs that have been starred by more people</a>.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/process/">#process</a></p>]]></content>
  </entry>
  <entry>
    <title>Sins of our Finders, pt. 5</title>
    <link href="https://unsung.aresluna.org/sins-of-our-finders-pt-5" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/sins-of-our-finders-pt-5</id>
    <published>2026-02-21T21:32:32.275Z</published>
    <updated>2026-02-21T21:32:32.275Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I feel macOS these days starts feeling like Windows in the 1990s where occasionally some core component of it breaks, and a reboot is necessary to restore it to full functionality again.</p>
<p>But even with that in mind: this happened literally right after the reboot, with nothing much happening and no other signs of the system in distress.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-5/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-5/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-5/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-5/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-5/1.1088w.avif" alt="" width="372" height="340">
      </picture></figure>
<p>It’s hard for me to even understand what would make this kind of thing pop up. Trash feels like one of the core tenets of a GUI – like undo, or copy/&#8203;paste, or windows gaining focus. You don’t expect it to just… stop working, especially with a circular error message like the above.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/errors/">#errors</a> <a href="https://unsung.aresluna.org/tags/finder/">#finder</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/sins-of-our-finders/">#sins of our finders</a></p>]]></content>
  </entry>
  <entry>
    <title>“Just a little detail that wouldn’t sell anything”</title>
    <link href="https://unsung.aresluna.org/just-a-little-detail-that-wouldnt-sell-anything" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/just-a-little-detail-that-wouldnt-sell-anything</id>
    <published>2026-02-21T17:58:45.224Z</published>
    <updated>2026-02-21T17:58:45.224Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The breathing light – officially “Sleep Indicator Light” – debuted in the iconic <a href="https://en.wikipedia.org/wiki/IBook" target="_blank">iBook G3</a> in 1999.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/1-thumbnail.avif" width="800" height="248" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/1.1600w.mp4"></video></figure>
<p>It was originally placed in the hinge, but soon was moved to the other side for laptops, and eventually put in desktop computers too: Power Mac, the Cube, and the iMac.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/2.1088w.avif" alt="" width="800" height="601">
      </picture></figure>
<p>The green LED was replaced by a white one, but “pulsating light indicates that the computer is sleeping” buried the nicest part of it – the animation was <a href="https://patents.google.com/patent/US6658577B2/en" target="_blank">designed</a> to mimic human breathing at 12 breaths per minute, and feel comforting and soothing:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/3-thumbnail.avif" width="800" height="447" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/3.1600w.mp4"></video></figure>
<p>Living through that era, it was interesting to see improvements to this small detail.</p>
<p>The iMac G5 gained a light sensor under the edge of the display in part so that the sleep indicator light wouldn’t be too bright in a dark room (and for older iMacs, the light would just get dimmer during the night based on the internal clock).</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/4.1088w.avif" alt="" width="583" height="700">
      </picture></figure>
<p>In later MacBooks, the light didn’t even have an opening. The aluminum was <a href="https://patents.google.com/patent/US7880131" target="_blank">thinned and perforated</a> so it felt like the sleep light was shining <em>through</em> the metal:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/5-thumbnail.avif" width="800" height="433" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/5.1600w.mp4"></video></figure>
<p>And, for a while, Apple promoted <a href="https://en.wikipedia.org/wiki/Apple_Display_Connector" target="_blank">their own display connector</a> that bundled data and power – but also bundled a bit of data, which allowed to do <a href="https://www.reddit.com/r/apple/comments/8s8ee4/comment/e0ycaxl/" target="_blank">this</a>:</p>
<blockquote><p>Back when I had a Powermac G4 plugged into an Apple Cinema Display, I noticed something that was never advertised. When the Mac went to sleep, the pulsing sleep light came on, of course, but the sleep light on the display did too... in sync with the light on the Mac. I’ve tested that so many times, and it was always the same; in sync.</p>
<p>Just a little detail that wouldn’t sell anything, but just because.</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/6.1088w.avif" alt="" width="800" height="334">
      </picture></figure>
<p>Even years later, some <a href="https://github.com/aej-comp/mac-sleep-indicator" target="_blank">people</a> tried to <a href="https://avital.ca/notes/a-closer-look-at-apples-breathing-light" target="_blank">recreate it</a> on <a href="https://www.youtube.com/watch?v=TjzFo63svmM" target="_blank">their own</a>:</p>
<blockquote><p>To do this I shifted the first gaussian curve to that its domain starts at 0 and remains positive. Since the time domain is 5 seconds total and the I:E ratio is known, it was trivial to pick the split point and therefore the mean. By manipulating sigma I was able to get the desired up-take and fall-off curves; by manipulating factor “c” I was able to control for peak intensity.</p></blockquote>
<figure>
        <video poster="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/7-thumbnail.avif" width="800" height="408" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/7.1600w.mp4"></video></figure>
<p>But at that point, in the first half of 2010s, the breathing light was gone, victim to the same forces that removed the battery indicator and the illuminated logo on the lid.</p>
<p>I know each person would find themselves elsewhere on the line from “the light was overkill to begin with” to “I wished to see what they would do <em>after </em>they introduced that invisible metal variant.” </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/8.1088w.avif" alt="" width="800" height="447">
      </picture></figure>
<p>I know where I would place myself.</p>
<p>This blog is all about celebrating functional and meaningful details, and there were practical reasons for the light to be there. This was in the era where laptops often died in their sleep – so knowing your computer was actually sleeping safe and sound was important – and the first appearance of the light after closing the lid meant that the hard drives were <a href="https://datarecovery.com/rd/what-are-hard-drive-head-parking-ramps/" target="_blank">parked</a> and the laptop could be moved safely. </p>
<p>The breathing itself, however, was purely a humanistic touch, and I miss that quirkiness of this little feature. If a <a href="https://unsung.aresluna.org/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/">save icon can survive</a>, surely so could the breathing light.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/just-a-little-detail-that-wouldnt-sell-anything/9.1088w.avif" alt="" width="467" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/hardware/">#hardware</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a></p>]]></content>
  </entry>
  <entry>
    <title>Got your back, pt. 3</title>
    <link href="https://unsung.aresluna.org/got-your-back-pt-3" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/got-your-back-pt-3</id>
    <published>2026-02-21T02:28:35.173Z</published>
    <updated>2026-02-21T02:28:35.173Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A nice moment spotted in Slack:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/got-your-back-pt-3/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/got-your-back-pt-3/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/got-your-back-pt-3/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/got-your-back-pt-3/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/got-your-back-pt-3/1.1088w.avif" alt="" width="689" height="54">
      </picture></figure>
<p>By definition security and usability coexist wearily, so it was nice someone thought about allowing me to do this at an opportune time, rather than at a random moment that might be extremely untimely or stressful.</p><p><a href="https://unsung.aresluna.org/tags/got-your-back/">#got your back</a> <a href="https://unsung.aresluna.org/tags/security/">#security</a></p>]]></content>
  </entry>
  <entry>
    <title>I’m with stupid →</title>
    <link href="https://unsung.aresluna.org/im-with-stupid" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/im-with-stupid-</id>
    <published>2026-02-21T02:22:46.627Z</published>
    <updated>2026-02-21T02:22:46.627Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I think a lot about bugs or design decisions that make software appear dumb.</p>
<p>At some point in my career I started fitting everything against two principles: “don’t make your app treat your user as if they’re dumb” and “don’t make your app itself feel dumb.”</p>
<p>To wit:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-with-stupid/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-with-stupid/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-with-stupid/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-with-stupid/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/im-with-stupid/1.1088w.avif" alt="" width="576" height="700">
      </picture></figure>
<p>This is, very obviously, my website. I have made it from scratch. I have visited it a million times. And yet, at some point my friend Noah shared a link of it with me, so now Safari occasionally announces that with glee when I check it out. </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-with-stupid/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-with-stupid/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-with-stupid/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-with-stupid/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/im-with-stupid/2.1088w.avif" alt="" width="755" height="700">
      </picture></figure>
<p>Me having visited something many times should outweigh someone sharing it with me <em>once</em>.</p>
<p>There is a close box here, although you have to hover over the bar to see it. (And, after closing, it seems to come back after a few days!) I can also right click and choose Remove which does… absolutely nothing.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-with-stupid/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-with-stupid/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-with-stupid/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-with-stupid/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/im-with-stupid/3.1088w.avif" alt="" width="175" height="99">
      </picture></figure>
<p>I believe this whole feature is called Shared With You. Elsewhere, on occasion, I find it useful. But its tentacle right here makes Safari appear just… kinda obtuse. </p>
<p>Also, speaking of obtuse: Can you spot a grave typographical mistake I made on this screenshot? (I already fixed it in production.)</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a></p>]]></content>
  </entry>
  <entry>
    <title>“I trust in TextEdit.”</title>
    <link href="https://unsung.aresluna.org/i-trust-in-textedit" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/i-trust-in-textedit</id>
    <published>2026-02-19T20:56:37.691Z</published>
    <updated>2026-02-19T20:56:37.691Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A pair of essays has been rattling in my head for a while.</p>
<p>First is <a href="https://www.newyorker.com/culture/infinite-scroll/textedit-and-the-relief-of-simple-software" target="_blank">Kyle Chayka from October</a>, in “TextEdit and the relief of simple software”:</p>
<blockquote><p>Over the past few years, I’ve found myself relying on TextEdit more as every other app has grown more complicated, adding cloud uploads, collaborative editing, and now generative A.I. TextEdit is not connected to the internet, like Google Docs. It is not part of a larger suite of workplace software, like Microsoft Word. You can write in TextEdit, and you can format your writing with a bare minimum of fonts and styling. […]</p>
<p>I trust in TextEdit. It doesn’t redesign its interface without warning, the way Spotify does; it doesn’t hawk new features, and it doesn’t demand I update the app every other week, as Google Chrome does.</p></blockquote>
<p><a href="https://daringfireball.net/linked/2026/01/26/chayka-textedit" target="_blank">John Gruber at Daring Fireball</a> responded to it in January:</p>
<blockquote><p>But I get the feeling that Chayka would be better served switching from TextEdit to Apple Notes for most of these things he’s creating. Saving a whole pile of notes to yourself as text files on your desktop, with no organization into sub-folders, isn’t wrong. The whole point of “just put it on the desktop” is to absolve yourself of thinking about where to file something properly. That’s friction, and if you face a bit of friction every time you want to jot something down, it increases the likelihood that <em>you won’t jot it down</em> because you didn’t want to deal with the friction.</p></blockquote>
<p>Part of me agrees with this vehemently – for casual text wrangling, Notes is by far the best iteration of what both the old Stickies app and TextEdit attempted.</p>
<p>But Notes are still evolving. The UI keeps changing. I’ve had a note shared by a friend hanging alongside my own notes for years, without me asking for it. I remember the moment when tags were introduced, and suddenly copy/&#8203;paste from Slack started populating things in the sidebar. Then there was this scary asterisked dialog that slid so well into planned obsolescence worries that it felt like a self-own:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-trust-in-textedit/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-trust-in-textedit/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-trust-in-textedit/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-trust-in-textedit/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-trust-in-textedit/1.1088w.avif" alt="" width="457" height="440">
      </picture></figure>
<p>And the attendant warning, ostensibly well-intentioned, adorned my notes for months, just because I had an older Mac Mini I barely touch doing menial things in a dusty closet:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-trust-in-textedit/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-trust-in-textedit/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-trust-in-textedit/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-trust-in-textedit/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-trust-in-textedit/2.1088w.avif" alt="" width="453" height="58">
      </picture></figure>
<p>On top of that, the last version of Apple Notes on my macOS occasionally breaks copy/&#8203;paste (!), which led to some writing loss on my part. (If you cut from one note intending to paste in another, and realize nothing was saved in the clipboard, you lost the text forever.)</p>
<p>These are not show stoppers. But they too are friction that has to be juxtaposed with what Gruber lists in his essay. They’re also friction of the unexpected, new, stochastic flavour. TextEdit’s challenges, on the other hand, are known knowns. In this context, TextEdit is in that rare – and maybe increasingly treasured – place where it no longer gets updates, but it doesn’t feel abandoned, or falling apart, or at the risk of outright cancellation. (I think on the inside of tech companies this is called being “maintenanced” – not actually staffed to be improved, but still eligible for breaking bug fixes and security updates.)</p>
<p>A user named Millie <a href="https://infosec.exchange/@millie/115719943870742405" target="_blank">captured this feeling recently on Mastodon</a>:</p>
<blockquote><p>We need to normalize declaring software as finished. Not everything needs continuous updates to function. In fact, a minority of software needs this. Most software works as it is written. The code does not run out of date. I want more projects that are actually just finished, without the need to be continuously mutated and complexified ad infinitum.</p></blockquote>
<p>And I saw another person, JP, <a href="https://mastodon.social/@jplebreton/115874048484663841" target="_blank">sharing a similar sentiment</a>:</p>
<blockquote><p>Personally I would be very happy to live in a postcapitalist world where it was 100% FINE that desktop operating systems had “stopped evolving” because they were good enough to meet basically everyones’ needs, and there was no stock price to crash from an old monopoly having clawed its way to the top with nowhere else to go. “Let [certain] software be finished” has always felt to me like oblique pining for humanity to outgrow our current political-economic system.</p></blockquote>
<p>Even on my <a href="https://unsung.aresluna.org/favourite-well-made-apps-and-sites/">crowdsourced list of well-made apps and sites</a>, someone mentioned <a href="https://bear.app/" target="_blank">Bear</a> – interestingly enough another note-taking app – this way:</p>
<blockquote><p>The fact that in the 10+ years I’ve been using it, there’s only been a single major overhaul update is a feature, not a bug to me.</p></blockquote>
<p>I have seen this sentiment grow in recent years, as AI is seemingly shoved into every crevice of everything whether or not it even had crevices to begin with. Liquid Glass on the Mac side and incessant ads plus <a href="https://unsung.aresluna.org/one-of-the-smaller-but-downright-disturbing-issues-with-dark-mode/">bugs</a> on the Windows side add to the malaise.</p>
<p>But I’ve also been in technology so long that even outside of <a href="https://unsung.aresluna.org/battered-bedraggled-inexplicably-enthusiastic-about-a-bargain-flight-to-bermuda/">tensions of capitalism</a>, it’s hard for me to imagine <em>software not changing</em>. Code <em>does</em> run out of date even if you <a href="https://unsung.aresluna.org/the-reason-this-never-caused-a-problem-before-was-pure-luck/">try very hard</a>. So I don’t know yet how to square all this. </p>
<p>Bear is not finished/“maintenanced,” but it seems to not be changing the same way some other software is changing, either. I’m excited reading <a href="https://blog.bear.app/" target="_blank">its blog</a> – even if there are features or updates that do not pertain to me, they don’t bother me, and make me excited for others benefitting. Its innovation feels considered, not reckless.</p>
<p>In a week I’m <a href="https://unsung.aresluna.org/tactical-version-history/">praising products I didn’t expect to praise</a>, I feel similarly about Lightroom Classic. When Adobe in 2017 forked Lightroom Classic out of the newly-refreshed Lightroom, a lot of us got worried about the “Classic” tag having “dead man’s walking” connotations. But nine years later, and Lightroom Classic is still being lightly updated with fixes, camera presets, and – occasionally – feature changes that largely feel welcome. Lightroom Classic appears, to once again use industry jargon, “stable.”</p>
<p>Maybe the answers are somewhere in this post: celebrate and fund “maintenanced” apps, fork apps into “stable” and “modern” paths, or encourage and practice slow, considered growth. I bet there are other approaches and altogether new ideas to try, too. (There used to be a tradition, when software was physical, to list all the new stuff at the back of the box. What if we started writing out the things we <em>didn’t</em> add?) But I like at least talking about it to begin with. There are apps in my life I want to feel like TextEdit, there are apps that I want to feel like Notes, and there are ones I’m happy to put on the cutting edge/&#8203;beta/canary path, where bugs are a promise, and motor memory a distant dream. </p>
<p>I yearn for a software ecosystem that allows all of these types of apps to blossom.</p><p><a href="https://unsung.aresluna.org/tags/adobe/">#adobe</a> <a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/bear/">#bear</a> <a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a> <a href="https://unsung.aresluna.org/tags/text-editing/">#text editing</a></p>]]></content>
  </entry>
  <entry>
    <title>“One of the smaller but downright disturbing issues with dark mode”</title>
    <link href="https://unsung.aresluna.org/one-of-the-smaller-but-downright-disturbing-issues-with-dark-mode" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/one-of-the-smaller-but-downright-disturbing-issues-with-dark-mode</id>
    <published>2026-02-19T20:25:39.188Z</published>
    <updated>2026-02-19T20:25:39.188Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>As a Mac user I naturally focus on that platform, but Windows 11 has had its own share of problems – and that list has grown so vast it’s hard to know where to start. </p>
<p>So let’s pick it up at random, with a <a href="https://www.osnews.com/story/143318/you-can-actually-stop-windows-explorer-from-flashbanging-you-in-dark-mode/" target="_blank">post by Thom Holwerda</a> with a great title “You can actually stop Windows Explorer from flashbanging you in dark mode”:</p>
<blockquote><p>One of the most annoying things I encountered while trying out Windows 11 a few months ago was the utterly broken dark mode; broken since its inception nine years ago, but <a href="https://www.osnews.com/story/143126/after-nine-years-of-being-broken-windows-dark-mode-is-now-less-broken/" target="_blank">finally getting some fixes</a>. One of the smaller but downright disturbing issues with dark mode on Windows 11 is that when Explorer is in dark mode, it will flash bright white whenever you open a new window or a new tab. It’s like the operating system is throwing flashbangs at you every time you need to do some file management.</p></blockquote>
<p>I find the videogame-inspired nickname darkly – I’m sorry! – funny, but the problem is real. It looks like this (video via <a href="http://windowscentral.com" target="_blank">windowscentral.com</a>): </p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/one-of-the-smaller-but-downright-disturbing-issues-with-dark-mode/1-thumbnail.avif" width="800" height="452" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/one-of-the-smaller-but-downright-disturbing-issues-with-dark-mode/1.1600w.mp4"></video></figure>
<p>It’s not a problem unique to Windows 11 – just the other night I saw this on Wikipedia on my iPhone, exacerbated by the delayed reaction of Liquid Glass buttons spastically adapting to the changing background:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/one-of-the-smaller-but-downright-disturbing-issues-with-dark-mode/2-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/one-of-the-smaller-but-downright-disturbing-issues-with-dark-mode/2-framed.1600w.webm"></video></figure>
<p>But there is something about this that feels a notch more important than other visual and layout issues.</p>
<p>I think this is because dark mode is a <em>contract</em> – we’ll lower the brightness, and we’ll let your eyes rest. There’s a physiological part to it: a sudden flash of light when your eyes are not expecting to it can be actually physically painful. I think it’s worth thinking about it and futureproofing and <a href="https://unsung.aresluna.org/repeat-until-smooth/">sanding</a> dark-mode views especially at their edges: loading states, error messages, signing in and logging off areas. The “flashbang” analogy is very apt, and especially so on bigger screens.</p><p><a href="https://unsung.aresluna.org/tags/colors/">#colors</a> <a href="https://unsung.aresluna.org/tags/dark-mode/">#dark mode</a> <a href="https://unsung.aresluna.org/tags/ergonomics/">#ergonomics</a> <a href="https://unsung.aresluna.org/tags/loading-states/">#loading states</a> <a href="https://unsung.aresluna.org/tags/windows/">#windows</a></p>]]></content>
  </entry>
  <entry>
    <title>Tactical version history</title>
    <link href="https://unsung.aresluna.org/tactical-version-history" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/tactical-version-history</id>
    <published>2026-02-19T16:29:20.003Z</published>
    <updated>2026-02-19T16:29:20.003Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have been enthralled with this tiny feature in Google Sheets called “Show edit history,” which premiered in 2019:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/tactical-version-history/1-thumbnail.avif" width="746" height="610" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/tactical-version-history/1.1600w.mp4"></video></figure>
<p>Mind you, it’s not <em>unconditional</em> love. The execution feels a bit clunky, showing the edit values in a pop-up rather than in situ, with formatting that feels too heavy, and an awkward “No more edit history” state rather than just disabling the button.</p>
<p>But! Just its very presence here is delightful. Version history is often this huge, comprehensive, perhaps disorienting mode you enter that by design deals with the entire file. It always feels like a longer trip:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-version-history/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tactical-version-history/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-version-history/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tactical-version-history/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tactical-version-history/2.1088w.avif" alt="" width="800" height="375">
      </picture></figure>
<p>But edit history reimagines the feature from the perspective of the cell. You can just <em>peek inside</em>, quickly and effortlessly. Right click menu, a few arrows, I learned what I needed, and I barely even moved my hand. It’s a perfect example of the rule “to make something feel faster, make it smaller.” It’s like picking your newspaper at your doorstep in your pajamas rather than having to dress up to go to the newspaper store.</p>
<p>(…he said, dating himself and perhaps also thinking of The Sopranos for some reason.)</p>
<p>This kind of reimagining of something that already exists (see: <a href="https://unsung.aresluna.org/an-email-to-the-wrong-larry/">undo send</a> in Gmail) can be really hard, and I don’t even imagine Google Sheets was the first with this idea – but for me seeing this remix was eye-opening, and it inspires me to this day.</p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“They even thanked the coders for giving them such a difficult challenge.”</title>
    <link href="https://unsung.aresluna.org/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge</id>
    <published>2026-02-19T16:06:24.516Z</published>
    <updated>2026-02-19T16:06:24.516Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://www.youtube.com/watch?v=4GYSeXLr5sY" target="_blank">12-minute video from Tech Rules</a> about how the 2000 PlayStation game Spyro: Year of the Dragon dealt with software piracy:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=4GYSeXLr5sY" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The <a href="https://www.gamedeveloper.com/business/keeping-the-pirates-at-bay" target="_blank">video extends upon a 2001 Game Developer article</a> by Gavin Dodd, but Tech Rules adds a good intro about PlayStation’s <a href="https://en.wikipedia.org/wiki/Modchip" target="_blank">modchips</a>, and then actually shows the piracy protection in action.</p>
<p>I’m not going to spoil the surprise. Am I fully supportive of the approach? Not sure. PlayStation’s region protection complicates my feelings, and any sort of <a href="https://en.wikipedia.org/wiki/Digital_rights_management" target="_blank">DRM</a>-esque approach eventually backfires when it comes to software preservation. But you can’t deny what Spyro developers did is a really fascinating and weird approach.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/they-even-thanked-the-coders-for-giving-them-such-a-difficult-challenge/1.1088w.avif" alt="" width="800" height="535">
      </picture></figure>
<p>The quote in the title of this post refers to the hackers who eventually <em>did</em> conquer the Spyro’s copy protection system. I guess – and I apologize in advance – game recognize game.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/piracy/">#piracy</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“So, I made another tool.”</title>
    <link href="https://unsung.aresluna.org/so-i-made-another-tool" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/so-i-made-another-tool</id>
    <published>2026-02-18T16:09:38.607Z</published>
    <updated>2026-02-18T16:09:38.607Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Palette cycling is an interesting technique borne out of limitations of old graphic cards. Today, any pixel can have any color it wants. In the 1970s and 1980s, you were limited to just a few fixed colors: as few as 2 for monochrome displays, or 4, or 8, or – if you were lucky – 16. Some of those fixed palettes, like <a href="https://en.wikipedia.org/wiki/Color_Graphics_Adapter#Output_capabilities" target="_blank">CGA</a>’s, became iconic:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/so-i-made-another-tool/1.1088w.avif" alt="" width="800" height="500">
      </picture></figure>
<p>But there was an interesting hybrid period in between then and now where you still were only allowed 4 or 8 or 16 or 256 color choices in total, but you could assign any of these at will from a much bigger palette.</p>
<p>So, as an example, each one of these three is made out of 16 colors, but each one is 16 <em>different</em> colors:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/so-i-made-another-tool/2.1088w.avif" alt="" width="800" height="500">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/so-i-made-another-tool/3.1088w.avif" alt="" width="800" height="500">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/so-i-made-another-tool/4.1088w.avif" alt="" width="800" height="500">
      </picture></figure>
<p>Moving pixels was slow. But palette swaps were so fast and easy, that it led to a technique known as <a href="https://en.wikipedia.org/wiki/Color_cycling" target="_blank">palette cycling</a>. This is probably the best-known example, from an Atari ST program called <a href="https://www.youtube.com/watch?v=os2UOVG2SCA" target="_blank">NEOchrome</a>.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/so-i-made-another-tool/5.1088w.avif" alt="" width="800" height="500">
      </picture></figure>
<p>Despite so much apparent movement, <em>no pixels are changing location</em>, as that’d be prohibitively slow in 1985. Only the palette is changing. If you watch the same animation with the UI visible, you can clearly see which colors are “static,” and which are moving around:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/so-i-made-another-tool/6.1088w.avif" alt="" width="800" height="500">
      </picture></figure>
<p>But this was 1985, so why I am mentioning it 40 years later?</p>
<p>I like looking at old computers for a few reasons. Some of these seeminly-ancient techniques are inspiring and remind me that the limitations are often in the eye of the beholder. Seeing someone really good pushing a platform to its limits is just a good thing to load into your neurons – this could be you next time! And, believe it or not, some tips and tricks can still be relevant.</p>
<p>For example, <a href="https://www.youtube.com/watch?v=VyB5cvA6f78" target="_blank">this is a 9-minute video</a> by Steffest from just earlier this year that walks through a modern attempt to make a palette cycling animation, including starting on an iPad:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=VyB5cvA6f78" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/so-i-made-another-tool/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/so-i-made-another-tool/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>The end result goes much harder than I expected. It was interesting to see again the technique of dithering to simulate transparency (<a href="https://unsung.aresluna.org/ugly-in-a-way-thats-pretty/">we’ve seen it before</a>, but this one is more advanced). But what particularly stood out to me here was the artist making his own little tools to aid in the creative process; I’ve always loved the notion that a computer is really just meant to be an <em>accelerant</em>, making it easy for you to avoid drudgery.</p><p><a href="https://unsung.aresluna.org/tags/colors/">#colors</a> <a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/toolmaking/">#toolmaking</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Repeat until smooth”</title>
    <link href="https://unsung.aresluna.org/repeat-until-smooth" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/repeat-until-smooth</id>
    <published>2026-02-18T06:50:08.841Z</published>
    <updated>2026-02-18T06:50:08.841Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://blog.jim-nielsen.com/2024/sanding-ui/" target="_blank">nice 2024 essay by Jim Nielsen</a> about the process of “sanding” user interfaces he’s working on:</p>
<blockquote><p>One of the ways I like to do development is to build something, click around <em>a ton</em>, make tweaks, click around more, more tweaks, more clicks, etc., until I finally consider it done.</p>
<p>The <em>clicking around a ton</em> is the important part. If it’s a page transition, that means going back and forth a ton. Click, back button. Click, right-click context menu, “Back”. Click, in-app navigation to go back (if there is one). Click, keyboard shortcut to go back. Over and over and over. You get the idea.</p>
<p>It’s kind of a QA tactic in a sense, just click around and try to break stuff. But I like to think of it as being more akin to woodworking. You have a plank of wood and you run it through the belt sander to get all the big, coarse stuff smoothed down. Then you pull out the hand sander, sand a spot, run your hand over it, feel for splinters, sand it some more, over and over until you’re satisfied with the result.</p></blockquote>
<p>This is a clever metaphor and I wish I thought of this before. What follows is a specific story of finding a few dead pixels in between related interface elements, which is an absolutely perfect example of something with non-linear frustration: It might not register at all on the first try, but it will bother you 1,000-fold on the 20th go.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/repeat-until-smooth/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/repeat-until-smooth/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/repeat-until-smooth/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/repeat-until-smooth/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/repeat-until-smooth/1.1088w.avif" alt="" width="344" height="270">
      </picture></figure>
<p>I was just on Internet Archive earlier today, uploading some documents I scanned this weekend. Their UI is… how would I put this… let’s just say Internet Archive makes Teams feel like Linear. (I love Internet Archive and their work and mission, but let’s be honest here.)</p>
<p>Yet, I found something marvelous. Whoever put the upload form UI together knew there will be people like me who’ll be filling out 20 of these forms one right after another. So they made sure every pixel in their form is clickable to edit the nearest field. And I mean, <em>every pixel.</em></p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/repeat-until-smooth/2-thumbnail.avif" width="629" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/repeat-until-smooth/2.1600w.mp4"></video></figure>
<p>Whoever you are, you have my nod of recognition. In at least this one respect, it’s clear someone spent a lot of time with the sander.</p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/process/">#process</a></p>]]></content>
  </entry>
  <entry>
    <title>Mailbag: URLs as UI</title>
    <link href="https://unsung.aresluna.org/mailbag-urls-as-ui" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/mailbag-urls-as-ui</id>
    <published>2026-02-18T03:27:07.868Z</published>
    <updated>2026-02-18T03:27:07.868Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>My <a href="https://unsung.aresluna.org/unsung-heroes-flickrs-urls-scheme/">post about Flickr URLs</a> gathered some interesting responses (especially <a href="https://mastodon.online/@mwichary/116077721519930917" target="_blank">on Mastodon</a>, thank you all!), so I thought I’d do what podcasts call a “mailbag episode”!</p>
<p>Some people pointed out other good examples for inspiration. Chris Silverman:</p>
<blockquote><p>The idea of URLs as user interface elements is such a good take. I’ve seen some people use URLs as design/&#8203;communications elements as well, like Jessica Hische:</p>
<ul>
        <li><code>www.jessicahische.is/thinkingthoughts</code></li>
        <li><code>www.jessicahische.is/working</code></li>
        <li><code>jessicahische.is/anoversharer</code></li>
      </ul>
<p>I love that approach. Modern browsers and preview cards often obscure URLs, but people still see these things; printed materials, links in emails, etc.</p></blockquote>
<p>Matt Goldman:</p>
<blockquote><p>I really like letterboxd’s urls these days:</p>
<ul>
        <li>all the films in my diary in 2024? <code>letterboxd.com/robotmlg/diary/films/for/2024/</code></li>
        <li>movies I’ve tagged as seeing at Film Forum? <code>letterboxd.com/robotmlg/tag/film-forum/films/</code></li>
        <li>five star reviews that I wrote in 2021? <code>letterboxd.com/robotmlg/reviews/films/for/2021/rated/5/</code></li>
      </ul></blockquote>
<p>Both <a href="https://mastodon.online/@everyplace@mastodon.social/116077764280668887" target="_blank">Erin Sparling</a> and <a href="https://mastodon.online/@nelson@tech.lgbt/116081151016740373" target="_blank">Nelson Miner</a> highlighted how much the craft of Flickr URLs related to the craft of its API:</p>
<blockquote><p>Literally used to talk about how good this URL scheme was in class, it was so informative. The Flickr API still informs everything I do these days, URLs included.</p></blockquote>
<p>There was some discussion about the pattern I suggested. Which one should it be?</p>
<ul>
        <li><code>flickr.com/mwichary/sets/72177720330077904/alishan-forest-railway</code></li>
        <li><code>flickr.com/mwichary/sets/alishan-forest-railway-72177720330077904</code></li>
        <li><code>flickr.com/mwichary/sets/alishan-forest-railway/72177720330077904</code></li>
      </ul>
<p>I will admit: I don’t know. Each has pros and cons – some are better for autocomplete, others better for conveying hierarchy or surviving “removing from the end.”</p>
<p>This note arrived via email:</p>
<blockquote><p>Hey, <code>www</code> is not redundant. In services like NextDNS it allows blocking only main site, without subdomains. So it gives more control and cost nothing :)</p></blockquote>
<p>To which my answer is: I don’t think you’ll get to great user experience by prioritizing corner cases like this one.</p>
<p>Jim Nielsen <a href="https://blog.jim-nielsen.com/2023/examples-of-great-urls/" target="_blank">shared some of his favourites</a>, and Søren Birkemeyer suggested more evergreen reading on the subject, with more inspiration inside:</p>
<ul>
        <li><a href="https://warpspire.com/posts/url-design/" target="_blank">URL design</a> by Kyle Aster</li>
        <li><a href="https://www.hanselman.com/blog/urls-are-ui" target="_blank">URLs are UI</a> by Scott Hanselman</li>
        <li><a href="https://alexpounds.com/blog/2018/12/29/four-cool-urls" target="_blank">Four cool URLs</a> by Alex Pounds</li>
      </ul>
<p>The middle one caught my attention because it talks about URLs that are not just user readable, but also user <em>guessable</em>. I think that’s a perfect word for something I tried to capture in my post: if a user successfully guesses a URL from your scheme, then you know you have something good on your hands.</p>
<p>Lastly, a few people mentioned the late 1990s classic written by a relatively unknown dude going by “Tim BL,” called <a href="https://www.w3.org/Provider/Style/URI" target="_blank">Cool URIs don’t change</a>. </p>
<blockquote><p>Historical note: At the end of the 20th century when this was written, “cool” was an epithet of approval particularly among young, indicating trendiness, quality, or appropriateness. In the rush to stake [out] DNS territory involved[, ] the choice of domain name and URI path were sometimes directed more toward apparent “coolness” than toward usefulness or longevity. This note is an attempt to redirect the energy behind the quest for coolness.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>“These platforms are ad-heavy to the detriment and frustration of users, yet they remain successful and growing.”</title>
    <link href="https://unsung.aresluna.org/these-platforms-are-ad-heavy-to-the-detriment-and-frustration-of-users-yet-they-remain-successful-and-growing" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/these-platforms-are-ad-heavy-to-the-detriment-and-frustration-of-users-yet-they-remain-successful-and-growing</id>
    <published>2026-02-17T17:45:06.278Z</published>
    <updated>2026-02-17T17:45:06.278Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A good batch of history and observations by <a href="https://pxlnv.com/linklog/ads-in-ai/" target="_blank">Nick Heer at Pixel Envy about ads coming to AI chatbots</a>:</p>
<blockquote><p>It is incredible how far we have come for these barely-distinguished placements to be called “visually separated”. Google’s ads, for example, used to have a <a href="https://searchengineland.com/search-ad-labeling-history-google-bing-254332" target="_blank">coloured background</a>, eventually fading to white. The “sponsored link” text turned into a little yellow “Ad” badge, eventually becoming today’s little bold “Ad” text. Apple, too, has made its App Store ads <a href="https://9to5mac.com/2026/01/16/iphone-apple-app-store-search-results-ads-new-design/" target="_blank">blend into normal results</a>. In OpenAI’s case, they have opted to delineate ads by using a grey background and labelling them “Sponsored”.</p>
<p>Now OpenAI has something different to optimize for. We can all pretend that free market forces will punish the company if it does not move carefully, or it inserts too many ads, or if organic results start to feel influenced by ad buyers. But we have already seen how this works with Google search, in Instagram, in YouTube, and elsewhere. These platforms are ad-heavy to the detriment and frustration of users, yet they remain successful and growing. No matter what you think of OpenAI’s goals already, ads are going to fundamentally change ChatGPT and the company as a whole.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/ai/">#ai</a> <a href="https://unsung.aresluna.org/tags/enshittification/">#enshittification</a> <a href="https://unsung.aresluna.org/tags/nick-heer/">#nick heer</a></p>]]></content>
  </entry>
  <entry>
    <title>Trust your fingers</title>
    <link href="https://unsung.aresluna.org/trust-your-fingers" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/trust-your-fingers</id>
    <published>2026-02-17T17:25:21.686Z</published>
    <updated>2026-02-17T17:25:21.686Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>For a few months now, when re-running search queries in Bluesky’s iOS app, I ended up occasionally arriving on the wrong search, and it happened enough that I started suspecting something’s afoot. (Ahand?) </p>
<p>So I opened the app on my Mac via iPhone Mirroring, and started clicking testing carefully. This is what I saw:</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/trust-your-fingers/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/trust-your-fingers/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/trust-your-fingers/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/trust-your-fingers/1.1088w.avif" alt="" width="357" height="700">
        </picture></figure>
<p>Turns out there <em>was</em> something wrong there – the touch targets are so vertically lopsided you’ll often end up tapping the item below by accident.</p>
<p>I reported the bug to Bluesky, and a few days later <a href="https://noheger.at/blog/2026/02/12/resizing-windows-on-macos-tahoe-the-saga-continues/" target="_blank">I saw Norbert Heger doing a similar thing vis-a-vis the macOS Tahoe rounded corner bug</a> (<a href="https://unsung.aresluna.org/a-gesture-that-feels-unnatural-and-unintuitive/">previously</a>):</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/trust-your-fingers/2-thumbnail.avif" width="800" height="684" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/trust-your-fingers/2.1600w.mp4"></video></figure>
<p>Heger’s method is automated and a lot smarter than mine, but I enjoyed seeing these parallel efforts.</p>
<p>What’s the lesson here? I think it’s this: Trust your fingers, and occassionally speak for them as they can’t speak for themselves.</p><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>Make yourself at home</title>
    <link href="https://unsung.aresluna.org/make-yourself-at-home" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/make-yourself-at-home</id>
    <published>2026-02-16T13:54:34.653Z</published>
    <updated>2026-02-16T13:54:34.653Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This is a nice way iOS Safari behaves the moment you tap one of the font size buttons – it immediately ejects all the other chrome:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/make-yourself-at-home/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/make-yourself-at-home/1-framed.1600w.webm"></video></figure>
<p>After Liquid Glass specifically, we seem to be going through an interesting re-evaluation of whether “the content is the king; it should feel expansive and UI should get out of the way at all costs,” so seductive as a principle, is ultimately the right approach. Liquid Glass-sporting operating systems have so many contrast and blending and distraction issues that I wonder if they alone are radicalizing people, making them appreciate traditional rigid toolbars with solid backgrounds and fortified borders.</p>
<p>But here? Here letting contents shine and putting the UI atop feels like the absolutely right thing to do, since you are redesigning your reading experience.</p>
<p>Contrast this with Books:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/make-yourself-at-home/2-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/make-yourself-at-home/2-framed.1600w.webm"></video></figure>
<p>It’s not even that the crossfaded transitions feel awkward. It’s mostly that the interface takes up so much room that the content preview slice becomes almost claustrophobic. And it’s even weirder when you tap the Customize button, and whatever was visible gets inexplicably replaced by a pop-up with… largely the same content anyway. </p>
<p>How will the entire page feel? For that you have to use your imagination – or keep tapping back and forth.</p><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>“The reason this never caused a problem before was pure luck.”</title>
    <link href="https://unsung.aresluna.org/the-reason-this-never-caused-a-problem-before-was-pure-luck" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-reason-this-never-caused-a-problem-before-was-pure-luck</id>
    <published>2026-02-16T05:11:47.512Z</published>
    <updated>2026-02-16T05:11:47.512Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>An interesting <a href="https://www.youtube.com/watch?v=poEo0GrQTtQ" target="_blank">14-minute video about a bug in Grand Theft Auto: San Andreas</a>:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=poEo0GrQTtQ" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-reason-this-never-caused-a-problem-before-was-pure-luck/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-reason-this-never-caused-a-problem-before-was-pure-luck/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-reason-this-never-caused-a-problem-before-was-pure-luck/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-reason-this-never-caused-a-problem-before-was-pure-luck/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/the-reason-this-never-caused-a-problem-before-was-pure-luck/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>San Andreas was released in 2004, but the game started breaking only after Windows got updated… in 2024. Turns out the bug was sort of a ticking time bomb just waiting for the right set of conditions. We covered <a href="https://mastodon.gamedev.place/@TomF/115589875974658415" target="_blank">one similar bug before, in Half-Life 2</a> – but this investigation goes deeper, and shines a light on the difficulty of making Windows, whose backwards compatibility comes at a price.</p><p><a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Unsung heroes: Flickr’s URLs scheme</title>
    <link href="https://unsung.aresluna.org/unsung-heroes-flickrs-urls-scheme" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/unsung-heroes-flickrs-urls-scheme</id>
    <published>2026-02-16T01:12:28.048Z</published>
    <updated>2026-02-16T01:12:28.048Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Half of my education in URLs as user interface came from Flickr in the late 2000s. Its URLs looked like this:</p>
<p><code>flickr.com/photos/mwichary/favorites</code><br>
<code>flickr.com/photos/mwichary/sets</code><br>
<code>flickr.com/photos/mwichary/sets/72177720330077904</code><br>
<code>flickr.com/photos/mwichary/54896695834</code><br>
<code>flickr.com/photos/mwichary/54896695834/in/set-72177720330077904</code></p>
<p>This was incredible and a breath of fresh air. No redundant <code>www.</code> in front or awkward <code>.php</code> at the end. No parameters with their unpleasant <code>?&amp;=</code> syntax. No <code>%</code> signs partying with hex codes. When you shared these URLs with others, you didn’t have to retouch or delete anything. When Chrome’s address bar started autocompleting them, you knew exactly where you were going.</p>
<p>This might seem silly. The <em>user interface</em> <em>of URLs</em>? Who types in or edits URLs by hand? But keyboards are still the most efficient entry device. If a place you’re going is where you’ve already been, typing a few letters might get you there much faster than waiting for pages to load, clicking, and so on. It might get you there even faster than sifting through bookmarks. Or, if where you’re going is up in hierarchy, well-designed URL will allow you to drag to select and then backspace a few things from the end.</p>
<p>Flickr allowed to do all that, and all without a touch of a Shift key, too.</p>
<p>Any URL being easily editable required for it to be easily <em>readable</em>, too. Flickr’s were. The link names were so simple that seeing the menu…</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-heroes-flickrs-urls-scheme/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/unsung-heroes-flickrs-urls-scheme/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-heroes-flickrs-urls-scheme/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/unsung-heroes-flickrs-urls-scheme/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/unsung-heroes-flickrs-urls-scheme/1.1088w.avif" alt="" width="381" height="469">
      </picture></figure>
<p>…told you exactly what the URLs for each item were.</p>
<p>In the years since, the rich text dreams didn’t materialize. We’ve continued to see and use naked URLs everywhere. And this is where we get to one other benefit of Flickr URLs: they were short. They could be placed in an email or in Markdown. Scratch that, they could be placed in a <em>sentence.</em> And they would never get truncated today on Slack with that frustrating middle ellipsis (which occasionally leads to someone copying the shortened and now-malformed URL and sharing it further!).</p>
<p>It was a beautiful and predictable scheme. Once you knew how it worked, you could <em>guess</em> other URLs. If I were typing an email or authoring a blog post and I happened to have a link to your photo in Flickr, I could also easily include a link to your Flickr homepage just by editing the URL, without having to jump back to the browser to verify. </p>
<p>Flickr is still around and most of the URLs above will work. In 2026, I can think of a few improvements. I would get rid of <code>/photos</code>, since Flickr is already about photos. I would also try to add a human-readable slug at the end, because…<br>
<code>flickr.com/mwichary/sets/72177720330077904-alishan-forest-railway</code><br>
…feels easier to recall than…<br>
<code>flickr.com/photos/mwichary/sets/72177720330077904</code></p>
<p>(Alternatively, I would consider getting rid of numerical ids altogether and relying on name alone. Internet Archive does it at e.g. <code>archive.org/details/leroy-lettering-sets</code>, but that has some serious limitations that are not hard to imagine.)</p>
<p>But this is the benefit of hindsight and the benefit of things I learned since. And I started learning and caring right here, with Flickr, in 2007. Back then, by default, URLs would look like this:</p>
<p><code>www.flickr.com/Photos.aspx?photo_id=54896695834&amp;user_id=mwichary&amp;type=gallery</code></p>
<p>Flickr’s didn’t, because someone gave a damn. The fact they did was inspiring; most of the URLs in things I created since owe something to that person. (Please let me know who that was, if you know! My grapevine says it’s <a href="https://en.wikipedia.org/wiki/Cal_Henderson" target="_blank">Cal Henderson</a>, but I would love a confirmation.)</p><p><a href="https://unsung.aresluna.org/tags/popular/">#popular</a> <a href="https://unsung.aresluna.org/tags/unsung-heroes/">#unsung heroes</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>“A design variation that doesn’t make sense”</title>
    <link href="https://unsung.aresluna.org/a-design-variation-that-doesnt-make-sense" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-design-variation-that-doesnt-make-sense</id>
    <published>2026-02-15T00:34:40.106Z</published>
    <updated>2026-02-15T00:34:40.106Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://ishadeed.com/article/too-early-breakpoint/" target="_blank">good quick essay by Ahmad Shadeed about a mistake</a> I bet I committed myself, too – switching to a full-width style too soon with responsive design, which makes pages look strange:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/a-design-variation-that-doesnt-make-sense/1-thumbnail.avif" width="800" height="529" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-design-variation-that-doesnt-make-sense/1.1600w.mp4"></video></figure>
<p>Shadeed argues that this ugly responsive interregnum happens a lot more than people might assume, as part of natural window management on larger screens. If you un-maximize the window, use one of the many split-screen features, or something like link preview, it might push the browser into a width slice you might have thought was not actually realistically occupied.</p>
<p>Also, what caught my attention at the bottom of the post was this smart visualization. I wish the responsive design features in my browser’s web inspector did this kind of thing automatically:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/a-design-variation-that-doesnt-make-sense/2-thumbnail.avif" width="800" height="570" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-design-variation-that-doesnt-make-sense/2.1600w.mp4"></video></figure><p><a href="https://unsung.aresluna.org/tags/frontend/">#frontend</a></p>]]></content>
  </entry>
  <entry>
    <title>Book review: The iOS App Icon Book/The macOS App Icon Book</title>
    <link href="https://unsung.aresluna.org/book-review-the-ios-app-icon-book-the-macos-app-icon-book" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/book-review-the-ios-app-icon-book-the-macos-app-icon-book</id>
    <published>2026-02-14T05:36:02.878Z</published>
    <updated>2026-02-14T05:36:02.878Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>★★★★★ (as books) <br>
★★★★☆ (for the purposes of this blog)</p>
<p>I still remember Mac OS X <a href="https://guidebookgallery.org/screenshots/macosxdp3" target="_blank">arriving on the scene</a> with icons that felt infinite in every possible way: in size, in color palette, in dimensionality. We got used to them over the last quarter century, but Michael Flarup’s books rekindled that feeling for me; the icons presented here are lavish, larger than life, and basically pixel-less.</p>
<p>I do not generally like coffee-table books. <a href="https://flarup.shop/" target="_blank">But I really liked these</a>. The iOS App Icon Book came out in 2022, and the macOS App Icon Book followed two years later. They’re “almost-coffee-table” – which is a compliment! – extremely well-made but portable, and with soul, and thoughtful details, and inspiring evidence of being labours of love.</p>
<p>Each one has an almost-absurd amount of icons (I counted almost 1,200 in one book, and consequently didn’t even attempt counting in the other), but it’s not just the quantity that impresses. The icons are laid out carefully on gorgeous color-coordinated spreads. Many appear in variations so you compare their evolution over the years. Each one is big enough and printed so well you can study it in detail, and I have not noticed one technical flaw in their reproduction.</p>
<p>In addition to beautiful collections of beautiful icons, the book also veers a bit into history, and design advice, and adds ~10 interviews with icon designers each. Those are welcome additions that elevate the books from a boring coffee-table existence, but those are also its weakest parts – although “weakest” in a comparative sense. The things missing for me in the book are: more work in progress and rejected efforts, more specific advice and hard-learned lessons rather than general-interest interviews, a bit more about recognition of icons when reproduced small on screens, and some harder/&#8203;cerebral conversations about iconography and its place in the universe.</p>
<p>On the other hand, I know that of all icons it’sapp icons that get to be least concerned with semantics and semiotics, as they’re maybe the closest to just pure art and graphic design. I can understand how talking through it all would be an extremely hard task; all of the fantastic icon designers I know personally would struggle with explaining why their output is better than others. It’s possible the extra “left-brain” stuff I want from these books would also make them less desirable for those who just seek visual or artistic inspiration.</p>
<p>Both books are otherwise basically a love letter to app iconography, and awash in memorable details: delightful covers, colour-coordinated ribbon bookmarks, beautiful ex librissen, and a product index <em>and</em> an artist index. </p>
<p>The price – $84 without shipping (they’re printed in Denmark, so for once Europe gets an advantage) – might be a bit of a showstopper. The books are well-made, but you are definitely paying a premium for a short/&#8203;bespoke print run. The volumes complement each other well on a shelf, but you’ll do no wrong with <a href="https://flarup.shop/" target="_blank">getting either one</a> if two is too much for your budget. (There is also a half-price PDF version, if that’s of interest to you, but I cannot vouch for that.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-the-ios-app-icon-book-the-macos-app-icon-book/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-the-ios-app-icon-book-the-macos-app-icon-book/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-the-ios-app-icon-book-the-macos-app-icon-book/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-the-ios-app-icon-book-the-macos-app-icon-book/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/book-review-the-ios-app-icon-book-the-macos-app-icon-book/1.1088w.avif" alt="" width="480" height="480">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-the-ios-app-icon-book-the-macos-app-icon-book/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-the-ios-app-icon-book-the-macos-app-icon-book/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-the-ios-app-icon-book-the-macos-app-icon-book/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-the-ios-app-icon-book-the-macos-app-icon-book/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/book-review-the-ios-app-icon-book-the-macos-app-icon-book/2.1088w.avif" alt="" width="480" height="480">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/book/">#book</a> <a href="https://unsung.aresluna.org/tags/book-review/">#book review</a> <a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a> <a href="https://unsung.aresluna.org/tags/review/">#review</a></p>]]></content>
  </entry>
  <entry>
    <title>“We internalize so much by doing things slower and making mistakes.”</title>
    <link href="https://unsung.aresluna.org/we-internalize-so-much-by-doing-things-slower-and-making-mistakes" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/we-internalize-so-much-by-doing-things-slower-and-making-mistakes</id>
    <published>2026-02-14T00:49:23.214Z</published>
    <updated>2026-02-14T00:49:23.214Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Another <a href="https://rogerwong.me/2026/02/how-ai-assistance-impacts-the-formation-of-coding-skills" target="_blank">good post from Roger Wong</a> thinking through Anthropic’s findings on how offloading coding effort leads to understanding less:</p>
<blockquote><p>So the AI group didn’t finish meaningfully faster, but they understood meaningfully less. And the biggest gap was in debugging—the ability to recognize when code is wrong and figure out why. That’s the exact skill you need most when your job is to oversee AI-generated output.</p></blockquote>
<p>Inside it, a quote from the Anthropic post that resonated with me:</p>
<blockquote><p>Cognitive effort—and even getting painfully stuck—is likely important for fostering mastery.</p></blockquote>
<p>I wonder if part of the appeal of AI tools is the promise of “exercise without exercise,” like the <a href="https://en.wikipedia.org/wiki/Vibrating_belt_machine" target="_blank">vibrating belt machines</a> of the 1950s. </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-internalize-so-much-by-doing-things-slower-and-making-mistakes/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-internalize-so-much-by-doing-things-slower-and-making-mistakes/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/we-internalize-so-much-by-doing-things-slower-and-making-mistakes/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/we-internalize-so-much-by-doing-things-slower-and-making-mistakes/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/we-internalize-so-much-by-doing-things-slower-and-making-mistakes/1.1088w.avif" alt="" width="551" height="700">
      </picture></figure>
<p>Elsewhere, I found an <a href="https://kristiedegaris.substack.com/p/the-writing-factory" target="_blank">essay about the craft of writing</a> by Kristie de Garis:</p>
<blockquote><p>Writing at speed privileges what arrives first. The obvious phrasing, the familiar structure, a thought that you heard somewhere before.</p></blockquote>
<p>Also this:</p>
<blockquote><p>A book is not retrieved fully formed from memory, or pulled up in a full bucket from some deep creative well in your body. </p></blockquote>
<p>The old saying goes “everyone dreams about having written a book, not about writing one.” Now we’re building software that allows people to “have written a book” and “have designed something.”</p>
<p>I am open (I think!) to the idea that the nature of the effort will change as tools change. But I can’t see mastery arriving without effort. And I’m worried people will start mistaking prompting mastery for material mastery.</p><p><a href="https://unsung.aresluna.org/tags/ai/">#ai</a> <a href="https://unsung.aresluna.org/tags/craft/">#craft</a> <a href="https://unsung.aresluna.org/tags/process/">#process</a></p>]]></content>
  </entry>
  <entry>
    <title>“The killer app is making calls.”</title>
    <link href="https://unsung.aresluna.org/the-killer-app-is-making-calls" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-killer-app-is-making-calls</id>
    <published>2026-02-13T08:14:59.731Z</published>
    <updated>2026-02-13T08:14:59.731Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I was randomly checking the Wikipedia entry for <a href="https://en.wikipedia.org/wiki/Killer_application" target="_blank">killer apps</a> – apps that were so good that they single-handedly made people buy a particular hardware platform just to run them (Wii Sports for Nintendo Wii, Super Mario 64 for Nintendo 64, and so on).</p>
<p>There are some interesting nuggets in there I didn’t know, like Sibelius (music software) being a system seller for the British computer Acorn Archimedes, Xevious doing the same for Famicom (I had no idea <a href="https://en.wikipedia.org/wiki/Xevious" target="_blank">Xevious</a>, as beautiful as it is, was so huge!), and Steve Jobs focusing so much on making calls on the first iPhone. How quickly we started taking visual voicemail for granted…</p>
<p>But I was surprised not to see killer apps for Fortnite, Minecraft, Roblox, or even Mac OS X. Does the concept of killer apps not work anymore? Is iMessage a killer app for those who want blue bubbles, but it’s much harder for us to know that? </p>
<p>(I’m also curious about a parallel list of botched updates: Digg in 2010, Sonos in 2024, the “simplified” iMovie ’08 and Final Cut Pro X, Liquid Glass, as some of them ended up being anti-killer apps. I don’t immediately see anything like this online, but it could be an interesting series of posts to analyze those more carefully, going past schadenfreude or ridicule.)</p>
<p>Also, it made me think of one of my favourite ads. It’s for VisiCalc, the first computer spreadsheet, and the first-ever killer app. The ad was unassuming, small, in a corner of a 1979 computer magazine. But, in hindsight, what a prescient and brilliant question: How did you ever do without it?</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-killer-app-is-making-calls/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-killer-app-is-making-calls/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-killer-app-is-making-calls/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-killer-app-is-making-calls/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-killer-app-is-making-calls/1.1088w.avif" alt="" width="494" height="700">
      </picture></figure>
<p>We take spreadsheets for granted, too, but chills. Literal chills.</p><p><a href="https://unsung.aresluna.org/tags/history/">#history</a></p>]]></content>
  </entry>
  <entry>
    <title>“Problem solved, right? Well, not exactly.”</title>
    <link href="https://unsung.aresluna.org/problem-solved-right-well-not-exactly" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/problem-solved-right-well-not-exactly</id>
    <published>2026-02-12T19:24:38.084Z</published>
    <updated>2026-02-12T19:24:38.084Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I was embarrassed for Apple when I saw the recent bug fix for columns introduce a new bug, explained <a href="https://lapcatsoftware.com/articles/2026/2/4.html" target="_blank">in this post by Jeff Johnson</a>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/problem-solved-right-well-not-exactly/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/problem-solved-right-well-not-exactly/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/problem-solved-right-well-not-exactly/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/problem-solved-right-well-not-exactly/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/problem-solved-right-well-not-exactly/1.1088w.avif" alt="" width="800" height="466">
      </picture></figure>
<blockquote><p>Without the path bar, the columns are now taller, but the vertical scrollers remain the same height as before, leaving vertical gaps, a ridiculous amount of space between the bottom of the scrollers and the bottom of the columns, looking silly and amateurish.</p></blockquote>
<p>It’s impossible to talk about craft without talking about embarrassment, and pride, and shame, and lust, and a lot of other words – all tricky to describe, all fluffy. So, I tried to interrogate my feelings.</p>
<p>First, it was embarrassing that it broke. I’ve been there: you build a complex system, and forget about some lesser-known state. That’s why it’s important to invest in whatever it takes to shine a light on those states: quality assurance, automatic screenshotting, tests, and so on. Sometimes it’s simple hacks – like <a href="https://unsung.aresluna.org/testing-tip-always-show-scrollbars/">half of your team having scrollbars visible</a>. And when you notice a bug, you try not to just fix it, but to rebuild it to be stronger (“leave the campsite in a better place you found it”) – be it by fixing the cause and not just the symptom, adding unit tests, changing practices, and so on.</p>
<p>But it also felt embarrassing <em>how</em> it broke. It feels clear there’s some manual calculation going on somewhere, and someone forgot to add this new change to it. One of the tricks I learned over time is that <em>a well-designed system designs itself,</em> but it takes effort and imagination to make a system resilient in this way. Here, if there was some abstraction of “adding stuff to the bottom,” then you wouldn’t have to worry about adding extra math. The system would take care of itself in many of these corner cases you will forget about. </p>
<p>I don’t want to shame (see, that word again!) individual people at Apple because I don’t know if it’s the lack of talent, or the whole system being wired in a way that doesn’t reward forward thinking or the kind of <a href="https://unsung.aresluna.org/projects-just-drift-toward-chaos-unless-a-person-is-actively-holding-them-together/">invisible work</a> that needs to happen in those spaces. But the embarrassment should be there – if it doesn’t exist inside Apple, then that’s perhaps the sign of a real problem.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>Molly guard in reverse</title>
    <link href="https://unsung.aresluna.org/molly-guard-in-reverse" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/molly-guard-in-reverse</id>
    <published>2026-02-12T14:27:38.403Z</published>
    <updated>2026-02-12T14:27:38.403Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Old-school computing has a term “<a href="https://en.wiktionary.org/wiki/molly-guard" target="_blank">molly guard</a>”: it’s the little plastic safety cover you have to move out of the way before you press some button of significance. </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/1.1088w.avif" alt="" width="568" height="700">
      </picture></figure>
<p>Anecdotally, this is named after Molly, an engineer’s daughter who was invited to a datacenter and promptly pressed a big red button, as one would. </p>
<p>Then she did it again later the same day.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/2.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>You might recognize molly guards from any aerial combat movie you ever watched:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/3.1088w.avif" alt="" width="640" height="512">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/4.1088w.avif" alt="" width="800" height="480">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/5.1088w.avif" alt="" width="700" height="700">
      </picture></figure>
<p>And some vestigial forms of molly guards exist everywhere in civilian hardware, too: from recessed buttons, through plastic ridges around keys, to something like a SIM card ejection hole. </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/6.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/6.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/6.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/6.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/6.1088w.avif" alt="" width="466" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/7.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/7.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/7.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/7.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/7.1088w.avif" alt="" width="640" height="480">
      </picture></figure>
<p>Of course, molly guards happen in software, too: from the cheapest “are you sure?” dialogs (which sometimes move buttons around or disable keyboard activation to slow you down), through extra modifier keys (in Ctrl+Alt+Del, the Ctrl and Alt keys are the guards), to more elaborate interactions that introduce friction in places where it’s needed:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/8.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/8.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/8.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/8.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/8.1088w.avif" alt="" width="525" height="380">
      </picture></figure>
<p>But it’s also worth thinking of reverse molly guards: buttons that will <em>press themselves</em> if you don’t do anything after a while. </p>
<p>I see them sometimes, and always consider them very thoughtful. This is the first example that comes to my mind:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/9.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/9.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/9.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/9.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/9.1088w.avif" alt="" width="529" height="286">
      </picture></figure>
<p>Here’s what became a standard mobile pattern:</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/10-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/10-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/10-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/10-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/11-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/11-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/11-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/11-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>These feel important to remember, particularly if your computer is about to embark on a long process to do something complex – like an OS update or a long render. </p>
<p>There is no worse feeling than waking up, walking up to the machine that was supposed to work through the night, and seeing it did absolutely nothing, stupidly waiting for hours for a response to a question that didn’t even matter. </p>
<p>It’s good to think about designing and signposting those flows so people know when they can walk away with confidence, and I sometimes think a reverse molly guard could serve an important purpose: in a well-designed flow, once you see it, you know things will now proceed to completion.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/12.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/12.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/12.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/molly-guard-in-reverse/12.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/molly-guard-in-reverse/12.1088w.avif" alt="" width="670" height="454">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>How to make sure a designer never files a bug again</title>
    <link href="https://unsung.aresluna.org/how-to-make-sure-a-designer-never-files-a-bug-again" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/how-to-make-sure-a-designer-never-files-a-bug-again</id>
    <published>2026-02-12T01:07:01.557Z</published>
    <updated>2026-02-12T01:07:01.557Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<ul class="long-list">
        <li>The UI for filing bugs is inscrutable and has too many hoops to jump through.</li>
        <li>No one does anything unless every field has been filed meticulously and there is a clear repro.</li>
        <li>The designer is ridiculed if the thing isn’t actually a bug, is a duplicate, or if it was filed in the wrong place.</li>
        <li>Front-end bugs are automatically “minor” or “nice to have”s without listening (as there is no loss of functionality, and no data loss).</li>
        <li>The designer is always responsible for stating how it <em>should</em> work, without being able to say “I am not sure why, but this started feeling off and it’s in an important place. Can we investigate?”</li>
        <li>“This is as designed” is an automatic conversation ender.</li>
        <li>The tiniest of external reports, social posts, or blog posts, immediately are prioritized higher than in-house experience.</li>
        <li>Once every few years, a designer gets 20+ demotivating automated emails saying 20+ bugs they filed over the years have been closed automatically during a purge, without any word of explanation.</li>
        <li>Simple human touches like “thanks for filing!” or “nice catch!” never enter the picture.</li>
        <li>Engineers never file design bugs themselves.</li>
      </ul>
<p>If you’re an engineer, I can sense you might be getting frustrated, as most bullet points I listed look like extra work. I agree with you. It is. This post is as much about process, as it is about culture and the incentives it establishes. The best places I’ve worked were filled with shared trust and treated bugs as a joined responsibility of everyone, rather than a black-and-white division into “filers“ and “fixers,” with the ultimate end goal always being user’s experience – nothing else.</p>
<p>I also understand this dives right into an age-old tension between manufacture and craft. Bug-fixing processes have to be well-oiled bureaucracies with very specific rules so that they don’t turn into a pile of vibes and Brownian motions. But design (and, by extension, a lot of front-end) doesn’t work like that. Design needs room for taste, for careful exceptions, for escalation of immesurable things, and for a certain flexibility in even the basic definitions.</p>
<p>If it’s a tiny, but embarrassing bug, or a flow killer, or a thing that bothers your most valuable group of users, or something appearing in a well-trafficked place – it is no longer tiny. If it’s working as intended, but <em>it feels buggy to the user</em> – it ought to be a bug. If it’s a long-standing bug, it should be considered as <a href="https://unsung.aresluna.org/the-autocorrect-battle-of-wills/">cumulative damage already done</a>, not “oh, this has been like this for a long time, no one cares.” If there’s a shaky repro, but the bug feels important, you need to work from principles or analyze the code. If it’s something no one mentioned externally (ergo: why fix it?), consider a lot of bugs rankle but never get reported, particularly if your company doesn’t project an external presence of caring about feedback and acting upon it. <em>cough cough</em> Apple <em>cough cough cough cough cough dies coughing</em></p>
<p>Of course, designers have responsibilities in the process also, among them mutual respect and understanding of engineering, clarity of communication (particularly about things that are hard to reason about mathematically), seeing patterns that could be grouped into bigger bug bundles to make fixing more efficient, (occasionally!) helping figure out a fix if the obvious fix isn’t available, and shared understanding with their team about what actually matters. There is always a thousand details that could be better, but for every thousand only a hundred might actually be worthwhile. Flooding the bug process with irrelevant minutiae that won’t realistically ever be fixed is not very helpful.</p>
<p>This is the only way I know of to capture the full spectrum of bugs that ruin software – from front-end to back-end, from visual/&#8203;interactive quality to works-or-not functionality, from what can be measured to what never will be. And this is not just about designers, of course. It’s not even about any non-engineering function. Design serves everyone; if your bug-filing UI or your process or your definitions are not well-designed or -balanced, I strongly believe you’re also hurting engineers on your team. And you’re <em>definitely</em> hurting your users.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/culture/">#culture</a> <a href="https://unsung.aresluna.org/tags/process/">#process</a></p>]]></content>
  </entry>
  <entry>
    <title>“It’s just a nice thing to have, you know.”</title>
    <link href="https://unsung.aresluna.org/its-just-a-nice-thing-to-have-you-know" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/its-just-a-nice-thing-to-have-you-know</id>
    <published>2026-02-11T16:30:35.019Z</published>
    <updated>2026-02-11T16:30:35.019Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>An <a href="https://www.youtube.com/watch?v=51-wk_F0SfE" target="_blank">8-minute video by Bread on Penguins</a> about some fun uses of terminal:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=51-wk_F0SfE" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-just-a-nice-thing-to-have-you-know/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-just-a-nice-thing-to-have-you-know/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/its-just-a-nice-thing-to-have-you-know/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/its-just-a-nice-thing-to-have-you-know/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/its-just-a-nice-thing-to-have-you-know/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I am pretty sure this is nothing new for heavy command-line gurus (and heavy Raycast users, and so on), but I found it delightful to see someone so excited about creative uses of the terminal, and it made me realize how much time I <em>do</em> waste going through the browser, then Google Search, then scrolling. I am sure tightening some of these loops would feel great.</p>
<p>There is also something interesting in the argument about terminal being the ultimate “reading mode” of any website, chiefly because <em>it cannot be anything else.</em></p>
<p>Mostly, this and <a href="https://unsung.aresluna.org/we-can-go-deeper-by-patterning-inside-of-our-pattern/">Strudel before</a> make me excited to see some new (to me) stuff happening with text-based user interfaces.</p><p><a href="https://unsung.aresluna.org/tags/command-line/">#command line</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Hello... I am right here!!!”</title>
    <link href="https://unsung.aresluna.org/hello-i-am-right-here" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/hello-i-am-right-here</id>
    <published>2026-02-11T16:30:20.378Z</published>
    <updated>2026-02-11T16:30:20.378Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I liked <a href="https://mastodon.social/@marioguzman/116038968482061040" target="_blank">this little microinteraction by Mario Guzmán explored on Masto</a> – it felt like a clever idea to help you locate a tiny widget on what might be a huge screen or two:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/hello-i-am-right-here/1-thumbnail.avif" width="800" height="569" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/hello-i-am-right-here/1.1600w.mp4"></video></figure>
<p>But it also made me think. I still strongly associate macOS shake with “wrong password,” meaning “you’re doing something wrong” – something the system has been teaching us ever since the late 1980s NeXT computer, whose windowing manager it inherited. Am I careful about the motion vocabulary and the semantics of shake, or am I simply overthinking it? Sometimes it is hard to tell.</p>
<p>(By the way, is it okay for me to link to random work by strangers, or is it weird? Don’t be afraid to let me know. One thing I want to practice on this blog is various ways to be a critic, in the sort of Roger Ebert sense.)</p><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“4 billion unique (and sometimes very memorable) sentences”</title>
    <link href="https://unsung.aresluna.org/4-billion-unique-and-sometimes-very-memorable-sentences" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/4-billion-unique-and-sometimes-very-memorable-sentences</id>
    <published>2026-02-11T03:32:02.260Z</published>
    <updated>2026-02-11T03:32:02.260Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I spotted this interesting thing at work today, and was curious about that phrase at the end:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4-billion-unique-and-sometimes-very-memorable-sentences/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4-billion-unique-and-sometimes-very-memorable-sentences/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/4-billion-unique-and-sometimes-very-memorable-sentences/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/4-billion-unique-and-sometimes-very-memorable-sentences/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/4-billion-unique-and-sometimes-very-memorable-sentences/1.1088w.avif" alt="" width="618" height="374">
      </picture></figure>
<p>Turns out, it is basically a unique human-readable encoding of a 32-bit digit, I’d guess particularly for ease of voice/&#8203;phone support communication. (Otherwise I imagine copy/&#8203;paste would work well?)</p>
<p>Asana <a href="https://asana.com/inside-asana/6-sad-squid-snuggle-softly" target="_blank">has been doing it since at least 2011</a>:</p>
<blockquote><p>What is novel in Asana is the form these IDs take. In most other applications, a customer-facing ID is usually a long jumble of numbers and/or letters. There are lots of small, subtle drawbacks to representing a number to a human this way, and so for the sake of curiosity—and to add a little levity to an otherwise frustrating situation—we tried something different.</p>
<p>Imagine representing 32 bits of information (numbers up to 4 billion) as a sentence instead of a jumble of digits. One possible sentence structure can be: count + adjective + plural noun + verb + adverb, e.g. “6 sad squid snuggle softly.”</p></blockquote>
<p>I am very curious what data gets encoded this way since 32 bits is not really a lot. That detail, however, is not covered in the post.</p><p><a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a></p>]]></content>
  </entry>
  <entry>
    <title>“Projects just drift toward chaos unless a person is actively holding them together.”</title>
    <link href="https://unsung.aresluna.org/projects-just-drift-toward-chaos-unless-a-person-is-actively-holding-them-together" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/projects-just-drift-toward-chaos-unless-a-person-is-actively-holding-them-together</id>
    <published>2026-02-11T03:31:00.062Z</published>
    <updated>2026-02-11T03:31:00.062Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Complementing <a href="https://unsung.aresluna.org/maintenance-in-this-larger-sense-has-nothing-optional-about-it/">my previous post</a>, a lot of great thoughts in this <a href="https://hvpandya.com/invisible-work" target="_blank">post about invisible work</a> from Hardik Pandya:</p>
<blockquote><p>When the project succeeded, her work had dissolved into the project’s infrastructure. The doc was just “the doc.” The tracker was just “the tracker.” The alignment was just how things were. People forgot it had ever been otherwise. That’s the thing about good coordination. I’ve realized that when it works, it disappears. You can’t see it precisely because it worked.</p></blockquote>
<p>Even though Pandya didn’t call that out, it’s worth highlighting that his “founder friend” example wasn’t a woman by pure chance; often the invisible work becomes the second shift of women in the workplace. And then:</p>
<blockquote><p>The problem is that recognition follows narrative. When a project succeeds, credit flows to the people whose contributions are easy to describe. The person who presented to the board. The person whose name is on the launch email. The person who shipped the final feature. These contributions are real, I’m not diminishing them. But they’re not more real than the work that made them possible. They’re just easier to point at. Easier to put in a slide. And I think that’s where the unfairness starts, slowly, without people really noticing.</p></blockquote>
<p>However, I disagreed with these parts:</p>
<blockquote><p>There’s no framework that fixes this. You can’t design a rubric that captures “held the project together.” </p></blockquote>
<p>Wait, why not? This is a similar challenge to quantifying design contributions (some of which might not clearly map to KPIs or sometimes even OKRs). You can’t measure being in the flow, true user satisfaction and frustration, or world-class-adjacency of taste. But it doesn’t mean you cannot design a system or a rubric that recognizes and talks about them.</p><p><a href="https://unsung.aresluna.org/tags/culture/">#culture</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a></p>]]></content>
  </entry>
  <entry>
    <title>“Maintenance in this larger sense has nothing optional about it.”</title>
    <link href="https://unsung.aresluna.org/maintenance-in-this-larger-sense-has-nothing-optional-about-it" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/maintenance-in-this-larger-sense-has-nothing-optional-about-it</id>
    <published>2026-02-10T16:03:49.452Z</published>
    <updated>2026-02-10T16:03:49.452Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I learned from Diana Berlin’s always excellent newsletter<a href="https://diagonal.substack.com/p/well-now-its-your-beloved-trash-heap" target="_blank"> Diagonal</a> that Stewart Brand <a href="https://press.stripe.com/maintenance-part-one" target="_blank">has a new book out</a>, and it’s about maintenance, <em>and</em> it’s published by Stripe Press. From <a href="https://books.worksinprogress.co/book/maintenance-of-everything/addenda/page/introduction" target="_blank">the introduction</a>:</p>
<blockquote><p>This book, I’m pretty sure, is the first to look at maintenance in general. It asks: What can be learned if you think about all the varieties of maintenance at the same time? I doubt if there are any non-trivial “laws” of maintenance to be discovered. All I can offer here is to muse across a representative sample of maintenance domains and see what emerges.</p></blockquote>
<p>Very excited to give it a go, somewhat worried about “Part One” appearing in the title, disappointed in Stripe not caring enough to ask one woman for a blurb.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/maintenance-in-this-larger-sense-has-nothing-optional-about-it/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/maintenance-in-this-larger-sense-has-nothing-optional-about-it/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/maintenance-in-this-larger-sense-has-nothing-optional-about-it/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/maintenance-in-this-larger-sense-has-nothing-optional-about-it/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/maintenance-in-this-larger-sense-has-nothing-optional-about-it/1.1088w.avif" alt="" width="468" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/book/">#book</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a></p>]]></content>
  </entry>
  <entry>
    <title>“This sounds completely impractical and we love it.”</title>
    <link href="https://unsung.aresluna.org/this-sounds-completely-impractical-and-we-love-it" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/this-sounds-completely-impractical-and-we-love-it</id>
    <published>2026-02-10T03:25:15.503Z</published>
    <updated>2026-02-10T03:25:15.503Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/1.1088w.avif" alt="" width="800" height="400">
      </picture></figure>
<p>This is incredible – <a href="https://yarnspinner.dev/blog/hint-line-93/" target="_blank">a story of a museum exhibit</a> that replicated an experience of being a tech support person for a videogame company some time in the early 1990s:</p>
<blockquote><p>You knew hint lines existed, right? 1-900 numbers, long-distance charges, hoping whoever answers actually knows what they’re talking about. They had incomplete documentation, contradictory notes, whatever the previous shift scribbled down. Nintendo’s <a href="https://www.youtube.com/watch?v=vKAf8eXuh9s" target="_blank">Power Line</a> is probably the most famous example. There’s a few <a href="https://www.youtube.com/watch?v=QZroKmkVGxk" target="_blank">great videos floating around about them</a>.</p></blockquote>
<p>The team invented a few new games (“We weren’t just making a game about hint lines. We were making the games that would’ve required hint lines to exist in the first place”), a few personas, and put together a <a href="https://compendium.hintline93.com/" target="_blank">300-page realistic binder</a>:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/2-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/2.1600w.mp4"></video></figure>
<p>The entire story is so worth a read.</p>
<blockquote><p>Looking back, we think ACMI said yes because we pitched infrastructure, not nostalgia. If you’re old enough, you probably remember that hint lines existed. We wanted people to experience what it was like to be part of that system. <br>
[…]<br>
Next time you tab over to a wiki page or watch a YouTube guide, spare a thought for hint line counselors of the early 1990s, armed with incomplete documentation, good intentions, and hope that the person on the other end was asking about a game they’d actually played. They were unsung heroes of gaming’s most chaotic era, and now, for a few minutes at least, you can experience their particular brand of helpful desperation firsthand.</p></blockquote>
<p>The exhibit is still available at ACMI in Melbourne until March this year, “along with a life-size usable corporate cubicle (with a dead plant!) and matching hardware straight from the ’90s.”</p>
<p>You can also <a href="https://hintline93.acmi.net.au/" target="_blank">play it online</a>, although the team warns: “Online is not the intended experience. Flipping through the physical artifact is half the fun.”</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/this-sounds-completely-impractical-and-we-love-it/3.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>This, by the way, is why ACMI is <a href="https://aresluna.org/fav-tech-museums/#acmi" target="_blank">one of my fav tech museums</a>.</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a> <a href="https://unsung.aresluna.org/tags/museum/">#museum</a></p>]]></content>
  </entry>
  <entry>
    <title>“See the picture of some guy in place of the X button?”</title>
    <link href="https://unsung.aresluna.org/see-the-picture-of-some-guy-in-place-of-the-x-button" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/see-the-picture-of-some-guy-in-place-of-the-x-button</id>
    <published>2026-02-10T02:56:19.572Z</published>
    <updated>2026-02-10T02:56:19.572Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In 2009, there was <a href="https://techcrunch.com/2009/08/05/chromes-new-feature-click-the-ui-designer-to-close-the-window/" target="_blank">a strange one-off build of Chromium</a> with a guy’s face in place of the close box:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/see-the-picture-of-some-guy-in-place-of-the-x-button/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/see-the-picture-of-some-guy-in-place-of-the-x-button/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/see-the-picture-of-some-guy-in-place-of-the-x-button/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/see-the-picture-of-some-guy-in-place-of-the-x-button/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/see-the-picture-of-some-guy-in-place-of-the-x-button/1.1088w.avif" alt="" width="800" height="672">
      </picture></figure>
<p>If I remember the story correctly, this was neither a bug, nor an Easter egg, but instead a joke’y punishment for not delivering the correct asset on time.</p><p><a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/humor/">#humor</a></p>]]></content>
  </entry>
  <entry>
    <title>“These small, repeated experiences shape us more than we like to admit.”</title>
    <link href="https://unsung.aresluna.org/these-small-repeated-experiences-shape-us-more-than-we-like-to-admit" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/these-small-repeated-experiences-shape-us-more-than-we-like-to-admit</id>
    <published>2026-02-09T17:19:57.783Z</published>
    <updated>2026-02-09T17:19:57.783Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Many people already linked to <a href="https://www.terrygodier.com/phantom-obligation" target="_blank">Terry Godier’s thoughtful essay</a> about email and RSS and the dangers of skeuomorphism by default:</p>
<blockquote><p>Email is where the metaphor made its jump from atoms to bits. “Inbox” was borrowed legitimacy. It sounded like that wooden tray, so it inherited its psychology. But the wooden tray had a constraint: physical space. A desk could only hold so much. The digital inbox had no bottom. Still, mostly real obligations. Humans writing to you, expecting responses.</p></blockquote>
<p>This all resonated me, although only to a point. I long stopped paying attention to those unread counters in Gmail and even though I know they exist, they feel wholly meaningless. And I personally would prefer my RSS reader to work <em>more </em>like email, because worrying that I cannot catch up if I wait too long and old entries get recycled is actually adding stress for me. </p>
<p>But I’m thankful for someone else pushing back on the barrage of red dots and fake urgency, and just <em>thinking about it all</em> is worthwhile. I’m very open to the idea of building something that eschews numbers to begin with, and for trying different operating models. (I deleted Threads from my phone after it was pushing me toward the algorithmic timeline filled with outrage, which was detrimental to my mental health.) I could even imagine choosing different RSS feeds to have different rules – this one “cannot miss,” the other one “casual.”</p>
<p>I also want to talk about the essay’s presentation.</p>
<p>The site makes heavy use of scroll effects. Okay, heavy <em>subdued</em> use, but like most of these, this is presentational rather than semantic. In this story at least, it feels a bit more thoughtful and it does feel like it enhances the experience and atmosphere, starting with the ticking number at the very top.</p>
<p>Yet, there are challenges. First, it does seem like there’s a lot of subtle movement going on and at some point that becomes a distraction. Also, I don’t know if it’s a bug or a particular stylistic choice, but things do not reveal themselves until they are almost off the screen. As an example, this is not a screenshot in the middle of animation – this is the page in a resting state, where the bottom is impossible to read:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/these-small-repeated-experiences-shape-us-more-than-we-like-to-admit/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/these-small-repeated-experiences-shape-us-more-than-we-like-to-admit/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/these-small-repeated-experiences-shape-us-more-than-we-like-to-admit/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/these-small-repeated-experiences-shape-us-more-than-we-like-to-admit/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/these-small-repeated-experiences-shape-us-more-than-we-like-to-admit/1.1088w.avif" alt="" width="517" height="700">
      </picture></figure>
<p>This property, combined with the fact that all these are always reversible (something that even the recent <a href="https://dbushell.com/2026/01/09/death-to-scroll-fade" target="_blank">Death to Scroll Fade</a> page that ridiculed these avoided) makes the essay fiddly and harder to read than it needs to be.</p>
<p>To author’s credit, there is an alternative static version provided and linked to at the very top. But that version is also styled differently, and has more of a “terminal” look.</p>
<p>Thinking out loud and building a set of principles out of these observations, I would personally do it this way:</p>
<ul class="long-list">
        <li>a static version should be stylistically indistinguishable from the dynamic version</li>
        <li>ideally, there would be an easily accessible switch between motion/no-motion, similarly to how some sites allow you to switch to dark/&#8203;light theme regardless of where you are in the story</li>
        <li>if the user specifies “<a href="https://css-tricks.com/almanac/rules/m/media/prefers-reduced-motion/" target="_blank">prefer reduced motion</a>” in accessibility settings, a static version should kick in automatically</li>
        <li>make the text effects finish as they scroll in, continuing the momentum on their own – don’t make them stop in the middle</li>
        <li>unless the animation is particularly important or gimmicky (by the way: I love a good gimmick!), going back and forward again should not replay it</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/attention/">#attention</a> <a href="https://unsung.aresluna.org/tags/skeuomorphism/">#skeuomorphism</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>“You’d get knuckle pain if you typed too much.”</title>
    <link href="https://unsung.aresluna.org/youd-get-knuckle-pain-if-you-typed-too-much" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/youd-get-knuckle-pain-if-you-typed-too-much</id>
    <published>2026-02-08T19:11:23.020Z</published>
    <updated>2026-02-08T19:11:23.020Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I’m slightly suspicious of <a href="https://catonmat.net/why-unix-commands-are-short" target="_blank">this story</a> (and <a href="https://www.youtube.com/watch?v=h5-DRLfzqD0" target="_blank">the video inside</a>) that Unix commands were made so short (<code>cp</code> instead of <code>copy</code>, <code>mv</code> instead of <code>move</code>, <code>ls</code> instead of <code>list</code>, and so on) because the console keyboard had really unpleasant keys.</p>
<figure>
        <a href="https://www.youtube.com/watch?v=h5-DRLfzqD0" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I imagine it must be a confluence of many things, not just this one. Shorter means faster even with amazing keyboards. Shorter also means the commands travel quicker over the slow modems of the era. The downsides were limited: the early nerdy user base of Unix could handle the extra confusion.</p>
<p>On the other hand – no pun intended – I typed on the keyboard on the picture and I can confirm it is absolutely, positively atrocious, with the tallest keys you have possibly seen:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/1.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/youd-get-knuckle-pain-if-you-typed-too-much/2.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>At any rate, it’s a good a reminder of the power of motor memory, and the difficulty of change management. Even the worst keyboards imaginable are so much better now, and the modems so much faster. And yet, the short and confusing commands remain to this day.</p><p><a href="https://unsung.aresluna.org/tags/command-line/">#command line</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Battered, bedraggled, inexplicably enthusiastic about a bargain flight to Bermuda”</title>
    <link href="https://unsung.aresluna.org/battered-bedraggled-inexplicably-enthusiastic-about-a-bargain-flight-to-bermuda" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/battered-bedraggled-inexplicably-enthusiastic-about-a-bargain-flight-to-bermuda</id>
    <published>2026-02-07T18:03:56.367Z</published>
    <updated>2026-02-07T18:03:56.367Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I <a href="https://mastodon.online/@mwichary/115877369194217136" target="_blank">thought about it on Masto</a> in January (the responses are interesting if you want to read), but recently Robin Sloan <a href="https://www.robinsloan.com/lab/greenfield/" target="_blank">eludicated it a lot better</a>:</p>
<blockquote><p>What makes the AI chatbots and agents feel light and clean, here and now in 2026? Is it an innate architectural resistance to advertising, to attention hacks, to adversarial crud? No — it’s that they are simply new! The language models in 2026 are Google in 1999, Twitter in 2009. Their vast conjoined industry of influence hasn’t yet arisen … though it is stirring.</p>
<p>And I believe their architecture makes them more susceptible to adversarial crud, not less. I suppose we’ll see.</p>
<p>It’s interesting and useful to imagine — really visualize — the chatbots and agents in ten years or twenty … barnacled with gunk … locked in a permanent cat-and-mouse game with their adversaries … just as a platform like Google is today. In 2036, you send your AI agent out into the internet, and it returns battered, bedraggled, inexplicably enthusiastic about a bargain flight to Bermuda.</p>
<p>This is no criticism — just an observation about the way things go.</p></blockquote>
<p>The AI community tends to say “this is the worst this will ever be” in response to criticism, but in a very learned sense, in many aspects it is also the <em>best</em> it will ever be.</p>
<p>Or maybe, to <a href="https://kottke.org/21/04/ted-chiang-fears-of-technology-are-fears-of-capitalism" target="_blank">steal words</a> from another person smarter than me, Ted Chiang:</p>
<blockquote><p>I tend to think that most fears about A.I. are best understood as fears about capitalism. And I think that this is actually true of most fears of technology, too. Most of our fears or anxieties about technology are best understood as fears or anxiety about how capitalism will use technology against us. And technology and capitalism have been so closely intertwined that it’s hard to distinguish the two.</p></blockquote>
<p>I remember <a href="https://scholarship.law.columbia.edu/books/176/" target="_blank">The Master Switch</a> being an excellent book that taught us how to spot and anticipate these patterns. It might be worth a re-read.</p><p><a href="https://unsung.aresluna.org/tags/ai/">#ai</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>“A demake of a remake of a demake of a game that is ostensibly a semi-sequel/semi-adaptation”</title>
    <link href="https://unsung.aresluna.org/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation</id>
    <published>2026-02-07T18:02:59.547Z</published>
    <updated>2026-02-07T18:02:59.547Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have zero nostalgia for Mario, and yet I was surprised how much I enjoyed <a href="https://www.youtube.com/watch?v=vwPmXVSaOPM" target="_blank">this 30-minute video by Sheddux</a>:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=vwPmXVSaOPM" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>It serves as a bit of design history and even critique of early Mario games, and then in the middle it turns into an analysis of the Mario port on Game &amp; Watch – an obsolete technology even in the 1980s, and something that could have been an easy cash grab, except <em>someone cared.</em></p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-demake-of-a-remake-of-a-demake-of-a-game-that-is-ostensibly-a-semi-sequel-semi-adaptation/1.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>Translating Mario’s mechanics to a much inferior tech is an interesting design challenge, plus there’s just this universal pleasure of seeing someone go extra. And the video has a nice ending message, too.</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/super-mario-bros/">#super mario bros</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>The dusty menus of the world’s most popular desktop browser</title>
    <link href="https://unsung.aresluna.org/the-dusty-menus-of-the-worlds-most-popular-desktop-browser" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-dusty-menus-of-the-worlds-most-popular-desktop-browser</id>
    <published>2026-02-07T01:49:30.130Z</published>
    <updated>2026-02-07T01:49:30.130Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This menu in Chrome feels like a surface running away from its creators:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-dusty-menus-of-the-worlds-most-popular-desktop-browser/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-dusty-menus-of-the-worlds-most-popular-desktop-browser/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-dusty-menus-of-the-worlds-most-popular-desktop-browser/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-dusty-menus-of-the-worlds-most-popular-desktop-browser/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-dusty-menus-of-the-worlds-most-popular-desktop-browser/1.1088w.avif" alt="" width="368" height="412">
      </picture></figure>
<p>I think cerebrally I understand the subtle difference between Show and Always Show, but is that difference worth it? Because at some point the repetitiveness and heaviness of that top section is casting a huge shadow over the rest of the menu. </p>
<p>I have an internal rule for adding a new menu item that happens to result in the longest string yet: think about the volume – the literal amount of pixels – you’re adding to the <em>whole surface.</em> Big menus are scarier, wide menus separate items from their shortcuts, submenus become harder to jump into, and so on. The economy of words can benefit in more ways than just the obvious ones.</p>
<p>But what made me a little nervous were the two grayed out options. What does it mean for something starting with Always Show to be grayed out here? What does it mean for something to be grayed out <em>and enabled?</em> My guess is that someone wired these without thinking too much about all the states, but it results in a stressful tension. Software should be making it very clear about what is under my control, and what is not.</p>
<p>Lastly, and this is almost funny: Full Screen is either 🌐F or ⌃⌘F, in all standard Mac apps. This alone is already confusing, as is Apple’s entire horrible Globe/Fn strategy (this is a story for another time), and I verified they both work independently in Chrome. How did they get conflated into one shortcut from hell is probably a really interesting bug somewhere – but also a sign no one is seemingly paying attention.</p><p><a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“A number of hidden problems in the naïve approach”</title>
    <link href="https://unsung.aresluna.org/a-number-of-hidden-problems-in-the-naive-approach" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-number-of-hidden-problems-in-the-naive-approach</id>
    <published>2026-02-07T01:27:08.644Z</published>
    <updated>2026-02-07T01:27:08.644Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://www.youtube.com/watch?v=vpSkBV5vydg" target="_blank">fantastic 37-minute video by Nic Barker</a> that explains ASCII, Unicode codepoints, and their relationship to UTF-8, UTF-16, and UTF-32.</p>
<p>I learned a lot, and I never thought I’d walk away from the video appreciating the <em>craft of text encoding</em>. Also, really good storytelling!</p>
<figure>
        <a href="https://www.youtube.com/watch?v=vpSkBV5vydg" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-number-of-hidden-problems-in-the-naive-approach/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-number-of-hidden-problems-in-the-naive-approach/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/a-number-of-hidden-problems-in-the-naive-approach/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/a-number-of-hidden-problems-in-the-naive-approach/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/a-number-of-hidden-problems-in-the-naive-approach/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure><p><a href="https://unsung.aresluna.org/tags/encoding/">#encoding</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“A collection of beautiful letters? A beautiful collection of letters? You decide.”</title>
    <link href="https://unsung.aresluna.org/a-collection-of-beautiful-letters-a-beautiful-collection-of-letters-you-decide" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-collection-of-beautiful-letters-a-beautiful-collection-of-letters-you-decide</id>
    <published>2026-02-06T02:31:18.881Z</published>
    <updated>2026-02-06T02:31:18.881Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This is neither <a href="https://unsung.aresluna.org/coding-typography-is-not-like-any-other-kind-of-typography/">the first</a> nor the last time I’m sharing David Jonathan Ross’s work; today I want to link to a <a href="https://glyphs.djr.com/" target="_blank">really fun glyph explorer</a> he put together recently:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/a-collection-of-beautiful-letters-a-beautiful-collection-of-letters-you-decide/1-thumbnail.avif" width="800" height="606" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-collection-of-beautiful-letters-a-beautiful-collection-of-letters-you-decide/1.1600w.mp4"></video></figure>
<p>That’s it. That’s the tweet. On this blog I generally want to capture the meaning of well-made things, deeper thinking, going beyond cheap sugary delight, the discomfort of rigor meeting joy and craft colliding with function, and the “why” of it all – and a lot of that is actually all here, too, as long as you keep clicking on things.</p>
<p>But: sometimes it’s also just so nice simply to look at beautiful letterforms for a while.</p>
<p>(Also available <a href="https://mastodon.online/@glyphoftheday@pixelfed.social" target="_blank">on Masto</a> and <a href="https://pixelfed.social/glyphoftheday" target="_blank">on Pixelfed</a>.)</p><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/david-jonathan-ross/">#david jonathan ross</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>“It’s a good idea though, and there aren’t even many of those in Tahoe.”</title>
    <link href="https://unsung.aresluna.org/its-a-good-idea-though-and-there-arent-even-many-of-those-in-tahoe" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/its-a-good-idea-though-and-there-arent-even-many-of-those-in-tahoe</id>
    <published>2026-02-05T05:47:32.825Z</published>
    <updated>2026-02-05T05:47:32.825Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A few thoughts after reading <a href="https://daringfireball.net/2026/01/resize_columns_to_fit_filenames" target="_blank">Gruber’s take on Finder and its new auto-sizing columns</a>:</p>
<p>1.<br>
Column view as a concept and when done well deserves to be in the UI hall of fame. It flew and still can fly high in the Finder, and it was the unsung hero of both the iPod and the iPhone. It’s really fun to fire up <a href="https://infinitemac.org/1988/NeXTStep%200.8" target="_blank">NeXTSTEP 0.8 in Infinite Mac</a> and see its first incarnation.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-a-good-idea-though-and-there-arent-even-many-of-those-in-tahoe/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-a-good-idea-though-and-there-arent-even-many-of-those-in-tahoe/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/its-a-good-idea-though-and-there-arent-even-many-of-those-in-tahoe/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/its-a-good-idea-though-and-there-arent-even-many-of-those-in-tahoe/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/its-a-good-idea-though-and-there-arent-even-many-of-those-in-tahoe/1.1088w.avif" alt="" width="800" height="597">
      </picture></figure>
<p>2.<br>
Apple decided not to ship the auto-sizing columns a few years ago, hiding it under a “defaults write” incantation as a sort of a beta, but then seemingly just launched it this year without any changes. There are some charitable explanations – perhaps the beta was hard crashing Finder and the released one no longer does? – but in the current zeitgeist I’m feeling that it’s something more like this: the people with taste who were stopping it from getting launched in the bad state were either sidelined or are no longer there.</p>
<p>3.<br>
And it is a bad state. It’s a first draft made public. Like anyone who deals with layouts learns over time, things like this one need careful min and max widths to have certain good pleasing and stable visual rhythm. They might even need a scale or a grid on top. And the fact that the width accommodates only visible objects doesn’t seem to make sense.The top hand doesn’t know what the bottom hand is doing, and it feels the feature is incompatible <em>with itself.</em></p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/its-a-good-idea-though-and-there-arent-even-many-of-those-in-tahoe/2-thumbnail.avif" width="800" height="429" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/its-a-good-idea-though-and-there-arent-even-many-of-those-in-tahoe/2.1600w.mp4"></video></figure>
<p>This feels like an old Unix windowing feature, a sketch of an idea for GUI nerds who get excited about just the cool concept alone, ignoring the execution. Although, to be fair – this is opt-in and buried as the last checkbox inside a pretty obscure window. This <em>might</em> still be GUI nerd territory.</p>
<p>4.<br>
So Apple really did think we’re going to love Liquid Glass, huh?</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/finder/">#finder</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/next/">#next</a></p>]]></content>
  </entry>
  <entry>
    <title>“The floppy disk icon relies on interface familiarity, not object familiarity.”</title>
    <link href="https://unsung.aresluna.org/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity</id>
    <published>2026-02-05T05:03:05.688Z</published>
    <updated>2026-02-05T05:03:05.688Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Just a few hours after <a href="https://unsung.aresluna.org/how-to-shoot-a-screen-using-a-board-of-keys/">writing about floppy disks</a>, I stumbled upon a bona fide floppy icon in the Bluesky’s iOS app, anno domini 2026:</p>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/1-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/1-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/1-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/1-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>I imagine this, in a nerdy view deep inside settings, might be more of a fun nod, but it made me curious – does Word still use a floppy icon?</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-floppy-disk-icon-relies-on-interface-familiarity-not-object-familiarity/2.1088w.avif" alt="" width="800" height="123">
      </picture></figure>
<p>Yes, it does! Right next to the icon-less AutoSave toggle, deep within a veritable kowloon walled city of interface elements.</p>
<p>And yet, maybe I should chill with the jokes – NN/Group <a href="https://www.nngroup.com/articles/floppy-disk-icon-understandability/" target="_blank">revisited the save icon in July of last year</a> and surprise! People still understand them.</p>
<blockquote><p>83% of participants associated the floppy disk icon with saving. […] Another 13% described this object literally with responses such as “disk,” “disc,” or “this is an SD card for storing information.” These responses were not coded as “save,” but still suggest familiarity with the image.</p></blockquote>
<p>What a fascinating journey! The icon didn’t change at all, but its perception went from being a literal representation of a familiar object, to a <a href="https://newsletter.shifthappens.site/archive/a-tale-of-three-skeuomorphs/" target="_blank">skeuomorph</a> once floppies were replaced by hard drives, to then a symbolic representation of physical media in general (a lot of people think it’s an SD card – or perhaps even that floppy disks and SD cards are one and the same), to increasingly just an abstract symbol that represents saving <em>as a concept,</em> registering similarly to the circular arrows for syncing, and an arrow pointing south for downloading.</p>
<p><a href="https://en.wikipedia.org/wiki/Nielsen_Norman_Group" target="_blank">NN/Group</a> is itself kind of a floppy disk, trying to walk a fine line between their legacy and reinventing themselves. They’re dismissed by many as old-school, academic, boring enterprise software aficionados, relics of a different era. I see some of that and often disagree with them, but I also sometimes appreciate their rigor, reliance on user studies, and outright dismissal of fashion in UI design. I want to revisit their site in more detail and see how I feel about it today, 30 years after Jakob Nielsen’s books rocked my world.</p><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/windows/">#windows</a></p>]]></content>
  </entry>
  <entry>
    <title>How to shoot a screen using a board of keys</title>
    <link href="https://unsung.aresluna.org/how-to-shoot-a-screen-using-a-board-of-keys" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/how-to-shoot-a-screen-using-a-board-of-keys</id>
    <published>2026-02-04T05:33:09.201Z</published>
    <updated>2026-02-04T05:33:09.201Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Everybody who routinely takes screenshots on a Mac knows very well the motor memory heaven and hell that are the screenshotting shortcuts: ⌘⇧3 to grab the whole screen, ⌘⇧4 to grab part of it, hold ⌃ ahead of time to put the result in the clipboard, press space at the right moment to select a window, hold ⌥ at a different time to remove a shadow, and so on. (Yes, there’s more.)</p>
<p>It’s strange to talk about those shortcuts, because the world is divided into two groups: people who have never used any of these because they are the scariest shortcuts that induce RSI if you just think about them, and people who have used them for so long that their fingers do all the work. Either group would struggle with writing the above paragraph – as did I, needing to watch my hands first, and then take notes.</p>
<p>But: why do the shortcuts start with 3? After all, ⌘⇧1 and ⌘⇧2 don’t seem to do anything.</p>
<p>That wasn’t always the case. Turns out that once upon a time Apple was trying to create a larger universe of nerdy shortcuts for your Mac. The effort is so old – they were introduced <a href="https://archive.org/details/apple-macintosh-ii-manual-1986-030-3080-A/page/191/mode/2up" target="_blank">in 1986</a> – that ⌘⇧1 was added as a quick shortcut to… eject the floppy disk. And, since you could also have an external floppy drive, ⌘⇧2 was assigned to eject that, and the shortcuts for screenshots followed in sequence: ⌘⇧3 to save the screen, and ⌘⇧4 to send it straight to your printer. (Even then, there was already Caps Lock thrown into the mix, too, switching between the entire screen and the current window.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/1.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>Early <a href="https://en.wikipedia.org/wiki/BASIC" target="_blank">BASIC programmers</a> knew to separate their line numbers by 10 because there will always be a line you want to insert in between, but keyboard shortcut designers do not have that luxury. </p>
<p>And so the nice system backfired immediately. Some Macs started coming with two built-in floppy drives, but still allowed you to plug in an external one. What would you press to eject <em>that?</em></p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/2.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>Well, of course it had to be ⌘⇧0, since ⌘⇧3 was already taken.</p>
<p>(In an absolutely delicious bit of rhyming, the 0 key itself is on the “wrong” side of most keyboards – <a href="https://www.apple.com/uk/shop/product/mxcl3mg/a/magic-keyboard-usb-c-hungarian" target="_blank">except Hungarian</a> – because it was added to keyboards before the 1 key was! It felt more natural to put it after 9 than right before 2.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/3.1088w.avif" alt="" width="620" height="349">
      </picture></figure>
<p>Things were quiet for a while. Floppies disappeared over time. Only in 2018, Apple evolved the old Grab app that it inherited from NeXT into a Screenshot app, and assigned it a new shortcut, ⌘⇧5. That was a nice improvement – video recording, a very helpful timer, a few smaller options, and a bit of a GUI thrown atop for convenience.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/4.1088w.avif" alt="" width="800" height="477">
      </picture></figure>
<p>There are a bunch of system and change management lessons in here, but I want to talk about something else I just learned about.</p>
<p><a href="https://flyingmeat.com/acorn/" target="_blank">Acorn 8</a>, a graphic app, has a delightful screenshotting feature parked under ⌘⇧7 that does something incredible: it takes a screenshot, but does so in a way where windows are separate layers, grouped by app. It’s amazing; you can re-compose stuff afterwards, reveal covered stuff, remove windows, even change the wallpaper. A mouse cursor arrives too in its own tiny layer, like a cherry on top.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/5-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/how-to-shoot-a-screen-using-a-board-of-keys/5.1600w.mp4"></video></figure>
<p>I’m sharing this both because I gather people who read this blog take a lot of screenshots – but also because <em>this </em>is software craft. I know “delightful” is (mis—? ab—?)used to refer to beautiful but slow transitions, and cute but distracting UI copy, but this is the stuff of true delight: using newly abundant technology to actually do something useful, and rewrite the rules of something that hasn’t been touched for ages, in a way that feels magical. There is still room for improvement – notably, you cannot just fire and forget a screenshot straight into your filesystem – but I find this kind of stuff inspiring.</p>
<p>I also know what you’re thinking: hey, what happened to ⌘⇧6? I’m not going to tell you. It’s probably not that hard to google it, but maybe you’ll enjoy trying to guess like I did. What was a feature of Macs that arrived after 2018 that Apple would want you to forget about even more so than the floppy disks?</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a></p>]]></content>
  </entry>
  <entry>
    <title>“Users were gleefully told to reload the game”</title>
    <link href="https://unsung.aresluna.org/users-were-gleefully-told-to-reload-the-game" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/users-were-gleefully-told-to-reload-the-game</id>
    <published>2026-02-04T04:40:40.472Z</published>
    <updated>2026-02-04T04:40:40.472Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This <a href="https://www.youtube.com/watch?v=QFe28MNCG7o" target="_blank">9-minute video</a> from the fun game show Lateral (with Tom Scott!) covers a particularly interesting bug in the 1984 game Karateka:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=QFe28MNCG7o" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/users-were-gleefully-told-to-reload-the-game/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/users-were-gleefully-told-to-reload-the-game/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/users-were-gleefully-told-to-reload-the-game/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/users-were-gleefully-told-to-reload-the-game/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/users-were-gleefully-told-to-reload-the-game/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>If you don’t want to watch the video and try to figure it out alongside contestants, <a href="https://tcrf.net/Karateka_(Apple_II)" target="_blank">you can read more about it here, and also see it in action</a>.</p>
<p>Karateka was made by Jordan Mechner and I bet his name will come up again.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/easter-eggs/">#easter eggs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Testing tip: Always show scrollbars</title>
    <link href="https://unsung.aresluna.org/testing-tip-always-show-scrollbars" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/testing-tip-always-show-scrollbars</id>
    <published>2026-02-02T21:04:38.132Z</published>
    <updated>2026-02-02T21:04:38.132Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Many designers and engineers have Apple products with their flawless and praise-worthy trackpads. By default on macOS, trackpad means only “shy” (iPhone-like) scrollbars are shown. Shy scrollbars become half-visible when two-finger scrolling, and only fully visible when hovering over them.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/1.1088w.avif" alt="" width="800" height="606">
      </picture></figure>
<p>To anyone working on front-end, I encourage you to toggle this setting to “Always,” and convince half of your team to do the same. Your macOS will now pretend you have a mouse connected, and show more traditional scrollbars, all the time.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/2.1088w.avif" alt="" width="295" height="84">
      </picture></figure>
<p>Why? Because you might already be accidentally generating spurious scrollbars without realizing. Here’s something I just spotted in Coda today:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/3-thumbnail.avif" width="388" height="270" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/testing-tip-always-show-scrollbars/3.1600w.mp4"></video></figure>
<p>This scrollbar serves no purpose, so it will become visual noise for a lot of your users. But when you yourself use “shy” scrollbars, you might not even realize.</p>
<p>Of course, the scrollbar is just a symptom of a bigger problem – an accidentally scrolling surface that <em>will</em> be janky to everyone regardless of their scrollbar visibility status.</p>
<p>Always-visible scrollbars make it easier to spot these, not to mention also being helpful in spotting:</p>
<ul class="long-list">
        <li>scrollbars mismatched in theme (e.g. light scrollbars on dark-theme surfaces) or accidentally left unstyled</li>
        <li>scrollbars not fully nestled into their correct edge, accidentally being offset from the top or the right</li>
        <li>using a wrong CSS setting for <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/overflow" target="_blank">overflow</a> (or not knowing about the -x and -y variants), and consequently showing both scrollbars when one will suffice</li>
        <li>the loading state or skeletons not anticipating a scrollbar appearing later</li>
        <li>that most frustrating occasional math/&#8203;measurement issue where the appearance of vertical scrollbar reduces the horizontal space, and as a result also makes a horizontal scrollbar appear (see also: <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/scrollbar-gutter" target="_blank">scrollbar-gutter</a>)</li>
      </ul><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a> <a href="https://unsung.aresluna.org/tags/tips/">#tips</a></p>]]></content>
  </entry>
  <entry>
    <title>“How do they spit in Korea?”</title>
    <link href="https://unsung.aresluna.org/how-do-they-spit-in-korea" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/how-do-they-spit-in-korea</id>
    <published>2026-02-02T05:30:08.767Z</published>
    <updated>2026-02-02T05:30:08.767Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>An entertaining <a href="https://www.youtube.com/watch?v=N5Fj3YVok6U" target="_blank">9-minute video by Shloop</a> that starts with a common mistake of typing in an English mode on a Korean keyboard, but then goes through a bunch of other fun and light input internationalization stories:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=N5Fj3YVok6U" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-do-they-spit-in-korea/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-do-they-spit-in-korea/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/how-do-they-spit-in-korea/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/how-do-they-spit-in-korea/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/how-do-they-spit-in-korea/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>This is the page for <a href="https://en.wikipedia.org/wiki/Non-English-based_programming_languages" target="_blank">non-English programming languages</a> that is shown at some point. Quite a bit of stuff in there.</p>
<p>Oh, also, in Polish (my native tongue), spitting is “tfu.”</p><p><a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/localization/">#localization</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Three iOS 26 transitions</title>
    <link href="https://unsung.aresluna.org/three-ios-26-transitions" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/three-ios-26-transitions</id>
    <published>2026-02-02T04:18:59.280Z</published>
    <updated>2026-02-02T04:18:59.280Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This first one – in response to pressing the volume buttons – feels world-class. Subtle responses to buttons being pressed, nice haptics, good physics:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-ios-26-transitions/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-ios-26-transitions/1-framed.1600w.webm"></video></figure>
<p>This one – stretching of the control center – made me incredulous. The performance and physics of it all are good and fluid, but this feels like absolutely the wrong thing to do here. I think it’s as designed, but it <em>feels</em> buggy to me. Maybe I’m oversensitive to stretching type and shapes like this, but I can’t stand how icky it feels. I am not sure I have seen another place in iOS 26 where elements would stretch in such a cheap way:</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-ios-26-transitions/2-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-ios-26-transitions/2-framed.1600w.webm"></video></figure>
<p>And this one – tapping on the album cover to make it show and hide – is bad in perhaps every possible way. It feels designed poorly <em>and</em> engineered poorly, like an HTML approximation of a real thing. All sorts of bad curves and sudden switches, slight reorientations of UI, even some flickering of interface elements at the bottom. It feels so rough I would probably just do a hard switch, no transition, until I got this right. After all, no animation is better than bad animation, and this is not responding to fingers in real time (when the user controls the “speed,” and you absolutely <em>need</em> a transition):</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/three-ios-26-transitions/3-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/three-ios-26-transitions/3-framed.1600w.webm"></video></figure>
<p>Ultimately I don’t know if this is “as designed,” or rushed, or what are the causes. But It’s interesting and a bit hard to realize that these days even animations in iOS 26 – once, I believe, a staple of good design and execution – are all over the place.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/ios/">#ios</a> <a href="https://unsung.aresluna.org/tags/motion-design/">#motion design</a></p>]]></content>
  </entry>
  <entry>
    <title>“State-sanctioned monster executions over a server hiccup”</title>
    <link href="https://unsung.aresluna.org/state-sanctioned-monster-executions-over-a-server-hiccup" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/state-sanctioned-monster-executions-over-a-server-hiccup</id>
    <published>2026-02-01T06:02:37.704Z</published>
    <updated>2026-02-01T06:02:37.704Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This is <a href="https://www.pcgamer.com/games/mmo/after-a-server-glitch-final-fantasy-11-is-dispatching-game-masters-to-manually-assassinate-bugged-monsters-just-so-the-game-knows-theyre-really-dead-god-personally-stepping-in-to-correct-the-world-itself/" target="_blank">a really funny story</a> happening in the online universe of Final Fantasy 11:</p>
<blockquote><p>Once killed, a notorious monster shouldn’t respawn until after the next monthly tally, but lately defeated notorious monsters in Limbus have been reappearing early. That’s because, Square Enix said, “the server-side data recording the defeat status of notorious monsters is unexpectedly being cleared.”</p>
<p>Thus, there’s only one way to guarantee no players are robbed of hard-earned Limbus loot: Square Enix is dispatching Game Masters to personally murder every notorious monster in Limbus so the FF11 servers can properly verify that they’re really, truly dead.</p>
<p>“To achieve this, Game Masters will visit each World in sequence and defeat each motorious monster individually,” Square Enix said. “We apologize for the inconvenience.”</p></blockquote>
<p>I know this is not a bug fix per se, but it’s interesting to be doing some bug cleanup <em>from the inside.</em></p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a></p>]]></content>
  </entry>
  <entry>
    <title>“As the vision decays or blurs and new features are conceived without consideration of the whole”</title>
    <link href="https://unsung.aresluna.org/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole</id>
    <published>2026-02-01T05:55:31.556Z</published>
    <updated>2026-02-01T05:55:31.556Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I recently learned of the <a href="https://techcrunch.com/2022/09/27/og-app-promises-you-an-ad-free-instagram-feed/" target="_blank">OG App</a> from 2022, which offered an ad-free, simpler experience to users frustrated with Instagram changes.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/1.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>The app <a href="https://techcrunch.com/2022/09/29/meta-says-ad-free-instagram-client-the-og-app-breaks-its-rules/" target="_blank">didn’t last</a> – it <em>couldn’t</em> last – but it was a fascinating statement.</p>
<p>In a different corner of the internet, Michael Leggett, one of the <a href="https://unsung.aresluna.org/an-email-to-the-wrong-larry/">former Gmail designers</a>, created <a href="https://simpl.fyi/" target="_blank">Simplify</a> – an alternative “shell” to Gmail:</p>
<blockquote><p>Hundreds of improvements (small and large) to streamline, simplify, and enhance Gmail’s design and functionality. Hide the features you don’t use, customize the ones you do including setting the list and message width and fonts.</p></blockquote>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/as-the-vision-decays-or-blurs-and-new-features-are-conceived-without-consideration-of-the-whole/2.1088w.avif" alt="" width="800" height="442">
      </picture></figure>
<p>It seems this attempt is not running afoul of any Google rules. I enjoyed <a href="https://simpl.fyi/about" target="_blank">reading about the project more on its website</a>, especially this bit:</p>
<blockquote><p>Bad design can occur for a number of reasons including but not limited to:</p>
<ul class="long-list">
        <li>Our needs as users are not well understood, prioritized, or aligned with the company’s goals.</li>
        <li>Entropy: The natural decline of products over time as the vision decays or blurs and new features are conceived without consideration of the whole and added faster than the system’s overall design and architecture can evolve to support them.</li>
        <li>Good design is hard. Good design is more than making a product pretty. It is about having the right capabilities in an intuitive, respectful, and well-crafted offering. I hope to expand on this topic in future posts.</li>
      </ul></blockquote>
<p>I know ad blockers and “reader modes” exist, but these alternative shells go much further and change the original app’s <em>design.</em> I wonder what other examples of that are out there.</p><p><a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>The Moylan Arrow of software</title>
    <link href="https://unsung.aresluna.org/the-moylan-arrow-of-software" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-moylan-arrow-of-software</id>
    <published>2026-02-01T05:33:19.155Z</published>
    <updated>2026-02-01T05:33:19.155Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>After James Moylan’s death in December, we were <a href="https://www.thedrive.com/news/the-moylan-arrow-is-one-of-fords-best-contributions-to-car-design" target="_blank">reminded again</a> of the Moylan Arrow, the little arrow telling you which side of your car has the little fuel door:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-moylan-arrow-of-software/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-moylan-arrow-of-software/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-moylan-arrow-of-software/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-moylan-arrow-of-software/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-moylan-arrow-of-software/1.1088w.avif" alt="" width="770" height="700">
      </picture></figure>
<p>I started wondering: what would be the conceptual equivalent of this in software? My best guess would be iOS offering to fill the one-time code from a recent SMS:</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/the-moylan-arrow-of-software/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-moylan-arrow-of-software/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-moylan-arrow-of-software/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-moylan-arrow-of-software/2.1088w.avif" alt="" width="350" height="700">
        </picture></figure>
<p>This is what it has in common with the Moylan Arrow:</p>
<ul class="long-list">
        <li>everyone benefits from it</li>
        <li>it happens all the time</li>
        <li>it solves an actual little (but not too little) frustration</li>
        <li>it’s there at the right place at the right time</li>
        <li>it is relatively low-tech (it’s not an overdesigned or an overengineered solution)</li>
        <li>once you know it’s there, you will love it forever</li>
      </ul>
<p>Curtosis on Mastodon unearthed the original 2019 Twitter thread from one the creator of the iOS feature, Ricky Mondello (<a href="https://xcancel.com/rmondello/status/1185596493232607239" target="_blank">link to XCancel</a>), which I‘m reproducing here:</p>
<blockquote><p>The idea for Security Code AutoFill came out of a small group of software engineers working on what we thought was a much more ambitious project. It wasn’t a PM, it wasn’t just one person, and it wasn’t what we set out to do initially.</p>
<p>It started as a small side idea we had while designing something very different. We jotted it down, tabled it for weeks, and then picked it up after the “more ambitious” project wasn’t panning out. It was hard, but I’m so glad we changed focus.</p>
<p>Even with a gem of an idea, it was still just an idea. Ideas are obviously super important — they’re necessary, but not sufficient. Here, the end result came from the idea, teamwork, and execution.</p>
<p>Years later, I’m still so proud of the team for making this feature happen. The team combined expertise from several areas to ship magic that worked on day 1, while asking nothing of app and website developers, without giving anyone your text messages. This still inspires me!</p>
<p>To every one of the folks who made this happen, I’m still in awe. Y’all are the best. &lt;3</p>
<p>Addendum: FAQs<br>
- “SMS is bad.”<br>
↪ I know.</p>
<p>- “MITM.”<br>
↪ I know.</p>
<p>- “FIDO is better.”<br>
↪ It’s complicated, but acknowledged; I totally get it.</p>
<p>- “Android did it first.”<br>
↪ Nah. Details matter. Privacy matters. And clipboard != AutoFill.</p>
<p>- *negativity*<br>
↪ Not now. :)</p></blockquote>
<p>I asked others on social and here are some other contenders I liked:</p>
<ul class="long-list">
        <li>The indicator that alerts you of Caps Lock when typing passwords</li>
        <li><a href="https://unsung.aresluna.org/a-tiny-bit-old-windows-got-right/">Underlined letters in Windows</a></li>
        <li>Return key as an equivalent of the default action in a dialog box</li>
        <li>Proportionally-sized scroll bar handles</li>
        <li>Showing the current folder at the prompt in the terminal</li>
        <li>The quick link to your post after you post it</li>
        <li>The preview of the outside of the frame from the wide angle lens in the Camera app</li>
        <li>Holding space to move your cursor in iOS</li>
        <li>iPod automatically pausing music when you unplug the headphone jack</li>
      </ul>
<p>You can check out <a href="https://mastodon.online/@mwichary/115990762258946955" target="_blank">Mastodon</a> and <a href="https://bsky.app/profile/aresluna.org/post/3mdqbwyokhk2v" target="_blank">Bluesky</a> threads for more ideas, if you are interested.</p><p><a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“If you did it right, it looks like it was effortless”</title>
    <link href="https://unsung.aresluna.org/if-you-did-it-right-it-looks-like-it-was-effortless" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/if-you-did-it-right-it-looks-like-it-was-effortless</id>
    <published>2026-01-31T21:18:20.041Z</published>
    <updated>2026-01-31T21:18:20.041Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I read Mike Monteiro’s book of pre-pandemic essays called <a href="https://www.mulebooks.com/collected-angers" target="_blank">The collected angers</a>. The book has less to do with the subject of this blog, but I grabbed a few quotes that resonated with me and seemed relevant. </p>
<p>In order not to make it <em>too</em> reductive, I’m also linking to the original essays for those who want to follow up:</p>
<blockquote><p>The worst feedback you can get from a client is “Wow. It looks like you worked really hard on this!” Stop using your work like a time card. If you did it right, it looks like it was effortless. It looks like it’s always existed. And the client will probably be irritated that they paid you for 30 hours of work to do something that looks like it took an hour. Which it did. They’re just not seeing the 29 hours of bad design that got you to that one hour of good design. And for the love of god, please don’t show them those 29 hours of bad design. A presentation is a shitty place for a sausage-making demonstration, and you’ll just come across as a defensive, unsure person needing validation.</p></blockquote>
<p>—from <a href="https://monteiro.medium.com/13-ways-designers-screw-up-client-presentations-51aaee11e28c" target="_blank">13 ways designers screw up client presentations</a>. This sounds like a version of “My kid could’ve painted that” argument.</p>
<blockquote><p>Learn how to steal. Be aware of your history. Design is the oldest profession in the world. You’re not the first person to tackle whatever design problem you’re tackling. See how others tackled it. Take the best solutions you find and improve on them. Don’t burn time solving things from scratch. Make use of what others have learned.</p></blockquote>
<p>—from <a href="https://deardesignstudent.com/10-things-you-need-to-learn-in-design-school-if-you-re-tired-of-wasting-your-money-64aaa0bc3994" target="_blank">10 things you need to learn in design school if you’re tired of wasting your money</a></p>
<blockquote><p>The world needs fixing, not disrupting. </p></blockquote>
<p>—from <a href="https://deardesignstudent.com/8-reasons-to-turn-down-that-startup-job-1f82a00ade34" target="_blank">8 reasons to turn down that startup job</a></p>
<p>And:</p>
<blockquote><p>“The way you get a better world is, you don’t put up with substandard anything.”—<a href="https://en.wikipedia.org/wiki/Joe_Strummer" target="_blank">Joe Strummer</a></p></blockquote><p><a href="https://unsung.aresluna.org/tags/book/">#book</a> <a href="https://unsung.aresluna.org/tags/craft/">#craft</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a> <a href="https://unsung.aresluna.org/tags/storytelling/">#storytelling</a></p>]]></content>
  </entry>
  <entry>
    <title>“An integer overflow causes an enemy to spawn directly on top of the player”</title>
    <link href="https://unsung.aresluna.org/an-integer-overflow-causes-an-enemy-to-spawn-directly-on-top-of-the-player" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/an-integer-overflow-causes-an-enemy-to-spawn-directly-on-top-of-the-player</id>
    <published>2026-01-31T21:18:20.040Z</published>
    <updated>2026-01-31T21:18:20.040Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A nice counterpart to <a href="https://unsung.aresluna.org/stuck-on-level-256-forever/">my post from a few days ago</a> – a <a href="https://www.youtube.com/watch?v=DPImei6LvRw" target="_blank">5-minute video by philive</a> of more kill screens from various classic arcade games, with simple explanations.</p>
<figure>
        <a href="https://www.youtube.com/watch?v=DPImei6LvRw" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/an-integer-overflow-causes-an-enemy-to-spawn-directly-on-top-of-the-player/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/an-integer-overflow-causes-an-enemy-to-spawn-directly-on-top-of-the-player/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/an-integer-overflow-causes-an-enemy-to-spawn-directly-on-top-of-the-player/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/an-integer-overflow-causes-an-enemy-to-spawn-directly-on-top-of-the-player/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/an-integer-overflow-causes-an-enemy-to-spawn-directly-on-top-of-the-player/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“The autocorrect battle of wills”</title>
    <link href="https://unsung.aresluna.org/the-autocorrect-battle-of-wills" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-autocorrect-battle-of-wills</id>
    <published>2026-01-30T16:33:00.399Z</published>
    <updated>2026-01-30T16:33:00.399Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I liked <a href="https://www.bugsappleloves.com/" target="_blank">the angry website Bugs Apple Loves</a> because it’s hitting on something that got me worried in recent months: Apple has been bad at bugs for a while now, but we might be overfocusing on giving them crap solely for some of the most visible – even <em>visual </em>– Tahoe stuff. </p>
<p>This is a condensed list at the time of writing, as the site itself doesn’t make it easy to see it:</p>
<ul class="long-list">
        <li>Mail search doesn’t work</li>
        <li>Autocorrect won’t take no for an answer</li>
        <li>Apple Pay: card icon changes address</li>
        <li>Google Contacts sync is a black hole</li>
        <li>AirDrop: Looking for devices...</li>
        <li>iCloud Photos: ‘Uploading X Items’</li>
        <li>Spotlight: ‘Indexing...’</li>
        <li>Personal hotspot won’t auto-connect</li>
        <li>Apple Watch widgets won’t let go</li>
        <li>iOS text selection is pure chaos</li>
        <li>AirDrop shuffles targets mid-tap</li>
        <li>macOS 26 window resizing doesn’t work</li>
      </ul>
<p>There are themes here: “the interface doesn’t remember my preference,” and “things move around as I interact with them,” and “some process gets clogged up,” and “a thing gets stuck and doesn’t respond to interface actions.”</p>
<p>What I appreciate about this is that none of this is very “visible” stuff, but the insidious things that add up and bother on the daily basis, chipping away at your flow first and sanity second – which the site tries to quantify via a formula:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-autocorrect-battle-of-wills/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-autocorrect-battle-of-wills/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-autocorrect-battle-of-wills/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-autocorrect-battle-of-wills/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-autocorrect-battle-of-wills/1.1088w.avif" alt="" width="800" height="489">
      </picture></figure>
<p>I think this is really interesting, even as a satire.</p>
<p>I found it’s really hard, if not impossible, to justify design or experience bugs using the same frameworks as other engineering bugs. As <a href="https://unsung.aresluna.org/not-everything-that-can-be-counted-counts-and-not-everything-that-counts-can-be-counted/">Mike Swanson wrote</a>: “You cannot easily measure the resentment. Or the rage clicks when they smash a button to dismiss another […] pop-up.” </p>
<p>A lot of it is utterly subjective. Various small frustrations add up in non-linear ways. A lot of it doesn’t subscribe to binary “data loss or not” or “does it function or not” classifications. A lot of it feels heavy to fix in terms of context switching, so it’s timeboxed and then discarded when the time box overflows. </p>
<p>I have seen engineers say “Oh, it’s a long-standing bug, it’s been like this for 3 months” as a justification to deprioritize something, while to me it feels like that should be an <em>accelerant</em>. The users have already been suffering for 3 months!</p>
<p>So maybe metrics like these could actually help? Quantifying at least the <em>blast</em> <em>radius </em>(affected users + usage per day) seems valuable, not to mention the embarrassment of seeing something like “9.1 years unfixed by Apple.” (And yes, internal embarrassment and shame should also be a metric.)</p>
<p>This would be harder to do for creators of the site, but easier inside Apple: I would also try to quantify vocal user frustration. One of my tricks when thinking about bugs has been “Notice when your users are really angry about invisible stuff.”</p>
<p>…for example <a href="https://unsung.aresluna.org/sins-of-our-finders-pt-4-eject/">someone going on and on about Finder</a>.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a></p>]]></content>
  </entry>
  <entry>
    <title>Sins of our Finders, pt. 4: Eject</title>
    <link href="https://unsung.aresluna.org/sins-of-our-finders-pt-4-eject" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/sins-of-our-finders-pt-4-eject</id>
    <published>2026-01-30T16:29:11.615Z</published>
    <updated>2026-01-30T16:29:11.615Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>If you plug in a CD drive (he said with a straight face in the lord’s year 2026), and then eject too soon, the system offers this dialog, which allows you to say: Eject whenever you’re done with whatever you have to do.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/1.1088w.avif" alt="" width="356" height="328">
      </picture></figure>
<p>But more modern media, like SSD drives, don’t show that window. The best case scenario is that you get a dialog box like the 1990s never ended:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/2.1088w.avif" alt="" width="575" height="241">
      </picture></figure>
<p>It gets worse. Often, you get zero help in identifying what the “programs” actually are. (The word on the street is that it might be stuff like Spotlight indexing, which you can’t really control.)</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/3.1088w.avif" alt="" width="619" height="285">
      </picture></figure>
<p>More often than not I just click Force Eject or jank the drive cable out, which feels really unpleasant. I would guess many people do the same.</p>
<p>So at this point we are two steps worse than the original CD experience, which… wasn’t even that great! A pretty clear improvement on this already exists elsewhere in macOS, and could be reused here – “hey, you don’t have to do anything, just give me a second while I finish up here.”</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-4-eject/4.1088w.avif" alt="" width="529" height="286">
      </picture></figure>
<p>(Can’t help but notice the discrepancy of visual styles of these windows, and even the inconsistency between calling things “applications” vs. “programs.”)</p>
<p class="credit">Reported to Apple as FB21787458.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/finder/">#finder</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/sins-of-our-finders/">#sins of our finders</a></p>]]></content>
  </entry>
  <entry>
    <title>“1H in a config menu = 10C”</title>
    <link href="https://unsung.aresluna.org/1h-in-a-config-menu-equals-10c" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/1h-in-a-config-menu-10c</id>
    <published>2026-01-30T00:53:10.612Z</published>
    <updated>2026-01-30T00:53:10.612Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>One of the most potent themes in Stanisław Lem’s writing was the fallacy of first contact.</p>
<p>Lem argued that we are just not ready for an actual meeting with something <em>truly</em> alien. That the most open-minded of us are close-minded on a cosmic scale. That sci-fi made us think that aliens will look like human with prosthetics when good, and insect-like creatures when evil, but sci-fi needs to be self-constrained for all the same reasons; showing us something actually inhuman will immediately render it utterly incomprehensible.</p>
<p>He wrote about it in <a href="https://en.wikipedia.org/wiki/Eden_(Lem_novel)" target="_blank">Eden</a>, and <a href="https://en.wikipedia.org/wiki/Solaris_(novel)" target="_blank">Solaris</a>, and <a href="https://en.wikipedia.org/wiki/The_Invincible" target="_blank">The Invincible</a>, and <a href="https://en.wikipedia.org/wiki/Fiasco_(novel)" target="_blank">Fiasco</a>. The last of these is a book I was once so angry at that I threw it at the wall.</p>
<p>It also happens to be my most favourite book, ever.</p>
<p>Anyway. This is a diagram for a single-button flashlight called Andúril 2 (<a href="https://unsung.aresluna.org/_extra/anduril-2.jpg">larger version</a>):</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/1h-in-a-config-menu-equals-10c/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/1h-in-a-config-menu-equals-10c/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/1h-in-a-config-menu-equals-10c/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/1h-in-a-config-menu-equals-10c/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/1h-in-a-config-menu-equals-10c/1.1088w.avif" alt="" width="800" height="657">
      </picture></figure>
<p>I saw it for the first time earlier this week. I was speechless. Maybe a little bit in awe. I know I’m supposed to hate this, but this feels so profoundly… alien, that I don’t know if anything I know applies here. I don’t want to judge it by the wrong set of rules. I want to understand the dividing lines between the UI and its explanation. I want to study it more.</p>
<p>Oh, and because I was curious too – this is the flashlight:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/1h-in-a-config-menu-equals-10c/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/1h-in-a-config-menu-equals-10c/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/1h-in-a-config-menu-equals-10c/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/1h-in-a-config-menu-equals-10c/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/1h-in-a-config-menu-equals-10c/2.1088w.avif" alt="" width="800" height="358">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/hardware/">#hardware</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“We can go deeper by patterning inside of our pattern”</title>
    <link href="https://unsung.aresluna.org/we-can-go-deeper-by-patterning-inside-of-our-pattern" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/we-can-go-deeper-by-patterning-inside-of-our-pattern</id>
    <published>2026-01-30T00:38:37.873Z</published>
    <updated>2026-01-30T00:38:37.873Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://unsung.aresluna.org/especially-helpful-during-live-shows/">I linked to Strudel before</a>, but <a href="https://www.youtube.com/watch?v=GWXCCBsOMSg" target="_blank">this 6-minute video</a> is even better – it shows a musician named Switch Angel constructing a trance track from scratch:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=GWXCCBsOMSg" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-can-go-deeper-by-patterning-inside-of-our-pattern/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-can-go-deeper-by-patterning-inside-of-our-pattern/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/we-can-go-deeper-by-patterning-inside-of-our-pattern/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/we-can-go-deeper-by-patterning-inside-of-our-pattern/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/we-can-go-deeper-by-patterning-inside-of-our-pattern/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>This is of course <a href="https://www.bosshunting.com.au/entertainment/movies/competence-porn/" target="_blank">competence porn</a>, made even better by the dry <a href="https://www.chido-fajny.com/2017/10/polish-lektor-one-weirdest-things-poland.html" target="_blank">Polish lektor</a>-like delivery. But it’s also a puzzle. I watched this so many times. There are so many great UI lessons in here:</p>
<ul class="long-list">
        <li>You can absolutely put graphics inside a textbox</li>
        <li>Sparklines rule</li>
        <li>Slider is still the best UI element in history</li>
        <li>Previews don’t have to feel like training wheels</li>
        <li>Synchronizing sounds to visuals is so powerful (see: turn signals on a car dashboard)</li>
      </ul>
<p>I found myself thinking about how you’d design something that feels real-time, but also needs to be resilient against typos, and has a distinct “commit” moment (which is what I think those yellow flashes are); some of the best moments in the video are the quick fixes that aren’t narrated.</p>
<p>Ultimately, this also shows how powerful and underrated plain text can be as interface. It’s a bit like designing straight in CSS, operating at the weird intersection of motor memory, creativity, and abstraction. (Is there a CSS editor that feels more like this?)</p>
<p>On top of all of this, the act of building the track this way is also <em>how the finished track would sound like. </em>Amazing stuff.</p>
<p>Remember all these jokes that went like this?</p>
<blockquote><p>[God looking at a pug dog for the first time] What the hell did you humans do with my bad ass wolf I gave you?</p></blockquote>
<p>Imagine sitting the creators of the typewriter in front of YouTube and having them watch this video.</p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a> <a href="https://unsung.aresluna.org/tags/text-editing/">#text editing</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Stuck on level 256 forever”</title>
    <link href="https://unsung.aresluna.org/stuck-on-level-256-forever" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/stuck-on-level-256-forever</id>
    <published>2026-01-28T15:40:12.933Z</published>
    <updated>2026-01-28T15:40:12.933Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I’d guess a lot of people know that the original 1980 Pac-Man ends accidentally with an iconic, glitchy, and impassable “kill screen.” Many people will also nod with recognition at hearing the kill screen is level 256, a number that immediately gives some ideas on what might have happened.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/stuck-on-level-256-forever/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/stuck-on-level-256-forever/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/stuck-on-level-256-forever/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/stuck-on-level-256-forever/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/stuck-on-level-256-forever/1.1088w.avif" alt="" width="544" height="700">
      </picture></figure>
<p>But <a href="https://www.youtube.com/watch?v=NKKfW8X9uYk" target="_blank">this fun 11-minute video from 2017</a> by Retro Game Mechanics Explained doesn’t stop there. It shows, step by step, <em>exactly </em>what is going on when you reach level 256, and how each one of the glitchy things appear on the screen.</p>
<figure>
        <a href="https://www.youtube.com/watch?v=NKKfW8X9uYk" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/stuck-on-level-256-forever/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/stuck-on-level-256-forever/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/stuck-on-level-256-forever/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/stuck-on-level-256-forever/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/stuck-on-level-256-forever/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>It’s a little mesmerizing, like watching a building demolition in slow motion.</p><p><a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Coding typography is not like any other kind of typography.”</title>
    <link href="https://unsung.aresluna.org/coding-typography-is-not-like-any-other-kind-of-typography" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/coding-typography-is-not-like-any-other-kind-of-typography</id>
    <published>2026-01-28T04:42:38.288Z</published>
    <updated>2026-01-28T04:42:38.288Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I was reminded of and rewatched <a href="https://www.youtube.com/watch?v=SzC3qTo0p1k" target="_blank">this 43-minute 2016 talk by David Jonathan Ross</a> with great interest:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=SzC3qTo0p1k" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/coding-typography-is-not-like-any-other-kind-of-typography/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/coding-typography-is-not-like-any-other-kind-of-typography/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/coding-typography-is-not-like-any-other-kind-of-typography/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/coding-typography-is-not-like-any-other-kind-of-typography/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/coding-typography-is-not-like-any-other-kind-of-typography/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>Ross designed <a href="https://djr.com/input" target="_blank">Input</a>, a coding font superfamily which was very inspiring to me in the day, and taught me that coding fonts could be a place of surprising creativity and innovation.</p>
<p>First of all, Input has four width options: from regular through Narrow to Condensed to Compressed – this not only allows to avoid the “blocky/&#8203;squareish” nature of many coding fonts, but also, pragmatically, to squeeze in more stuff on mobile screens.</p>
<p>Secondly, since a lot of coding environments didn’t (and maybe still don’t) allow for fine-tuned typography settings, you can <em>bake them into a font upon download</em> – choose a different default line height to be there in the font itself, or have your favorite style of zero just hanging there in the default slot. </p>
<p>Thirdly, serif versions of Input coexist with sans serif, and so does italic, and you can mix them together.</p>
<p>But most important thing comes at the end: you can imagine coding in non-monospaced fonts! What seemed like blasphemy before made so much sense once I put it to use – I still code in Input Sans Narrow (non monospaced) to this day:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/coding-typography-is-not-like-any-other-kind-of-typography/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/coding-typography-is-not-like-any-other-kind-of-typography/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/coding-typography-is-not-like-any-other-kind-of-typography/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/coding-typography-is-not-like-any-other-kind-of-typography/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/coding-typography-is-not-like-any-other-kind-of-typography/1.1088w.avif" alt="" width="455" height="181">
      </picture></figure>
<p>Of course, since the release of Input in 2014 a few other coding fonts did interesting creative things in this (mono)space. But to me this will always be the original that opened my eyes to what’s possible, and the talk captures so well a lot of deep thinking that went into the font. To quote Ross:</p>
<blockquote><p>Type design is design and design is about solving problems.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/coding/">#coding</a> <a href="https://unsung.aresluna.org/tags/conference-talk/">#conference talk</a> <a href="https://unsung.aresluna.org/tags/david-jonathan-ross/">#david jonathan ross</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“I do not want to tell you about my recent experience.”</title>
    <link href="https://unsung.aresluna.org/i-do-not-want-to-tell-you-about-my-recent-experience" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/i-do-not-want-to-tell-you-about-my-recent-experience</id>
    <published>2026-01-27T04:44:50.080Z</published>
    <updated>2026-01-27T04:44:50.080Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>On Mastodon, <a href="https://mastodon.online/@hweimer@fediscience.org/115957234878563204" target="_blank">Hendrik Weimer posted 5 most boosted Fediverse posts of 2025</a>. The numbers look kind of low, but the author explains the methodology below.</p>
<p>At any rate, two of the 5 posts have to do with our trust in software.</p>
<p><a href="https://beige.party/@maxleibman/114441790730464541" target="_blank">Number 1</a> from Max Leibman:</p>
<blockquote><p>No, I do not want to install your app. <br>
No, I do not want that app to run on startup. <br>
No, I do not want that app shortcut on my desktop. <br>
No, I do not want to subscribe to your newsletter. <br>
No, I do not want your site to send me notifications. <br>
No, I do not want to tell you about my recent experience. <br>
No, I do not want to sign up for an account. <br>
No, I do not want to sign up using a different service and let the two of you know about each other. <br>
No, I do not want to sign in for a more personalized experience. <br>
No, I do not want to allow you to read my contacts. <br>
No, I do not want you to scan my content. <br>
No, I do not want you to track me. <br>
No, I do not want to click “Later” or “Not now” when what I mean is NO.</p></blockquote>
<p><a href="https://mastodon.social/@Daojoan/114587431688413845" target="_blank">Number 5</a> from JA Westenberg:</p>
<blockquote><p>RSS never tracked you.<br>
Email never throttled you.<br>
Blogs never begged for dopamine.<br>
The old web wasn’t perfect.<br>
But it was yours.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/attention/">#attention</a> <a href="https://unsung.aresluna.org/tags/enshittification/">#enshittification</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>“I’m a shame-driven developer.”</title>
    <link href="https://unsung.aresluna.org/im-a-shame-driven-developer" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/im-a-shame-driven-developer</id>
    <published>2026-01-27T04:40:32.615Z</published>
    <updated>2026-01-27T04:40:32.615Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Found listening to this <a href="https://daringfireball.net/thetalkshow/2026/01/26/ep-439" target="_blank">2-hour episode of The Talk Show podcast</a> with Daniel Jalkut very enjoyable, and more thoughtful than just “bitching about Tahoe.”</p>
<p>One particular thing that stood out to me was a discussion of shame and embarrassment and pride that all come with shipping software. And looking to Apple itself for direction that the company is not really providing, as many of their apps are not using the new Liquid Glass interface – or when they do, they use it in ways that are inconsistent or disappointing.</p>
<p>Some other good themes:</p>
<ul class="long-list">
        <li>it’s okay not to change something if the alternative is change for the sake of change, a posture Apple’s hardware team feels more comfortable with than Apple’s software team</li>
        <li>internal Apple politics and the story of the <a href="https://en.wikipedia.org/wiki/Control_Strip" target="_blank">Control Strip</a></li>
        <li>loved this phrase from Gruber about the macOS’s Tahoe release: “they vandalized it.”</li>
      </ul>
<p>Also, this:</p>
<blockquote><p>A fair criticism of Apple over the years is that sometimes fixing 50 little misaligned text boxes or divider bars… using your time to do that, is time better spent than adding another user feature.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/change-management/">#change management</a> <a href="https://unsung.aresluna.org/tags/podcast/">#podcast</a></p>]]></content>
  </entry>
  <entry>
    <title>“Every Mac’s floppy disk had a garbage name”</title>
    <link href="https://unsung.aresluna.org/every-macs-floppy-disk-had-a-garbage-name" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/every-macs-floppy-disk-had-a-garbage-name</id>
    <published>2026-01-26T23:08:04.691Z</published>
    <updated>2026-01-26T23:08:04.691Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Fun little story <a href="https://folklore.org/A_Floppy_named_lsadkfjalhkjh.html" target="_blank">by Bruce Horn on </a><a href="http://folklore.org" target="_blank">folklore.org</a> about the original Mac and how modes are sometimes good:</p>
<blockquote><p>We went to quite a few stores in the week or so after the introduction, and found that, without exception, every Mac’s floppy disk had a garbage name! They were all named something like ”;lkakl;rt;klgjh”, as if someone had just randomly typed characters to see what would happen. Which is exactly what they did.</p>
<p>In the Finder, the startup disk would appear on the desktop, in the top-right corner, ready to be opened. The Finder would initially select it; once selected, typing would replace the current name, following the modeless interaction model that I had learned in the Smalltalk group from Larry Tesler. This meant that whatever anyone typed when they first came up to the Macintosh would end up renaming the disk.</p></blockquote>
<p>On the early Mac, just typing with any item selected renamed it, which caused all sorts of trouble.</p>
<p>The eventual solution for renaming that survives until today was: click to select and then click again to rename… but don’t click <em>too</em> fast, because that’s double-clicking, and that means something else. Windows, starting in <a href="https://www.pcjs.org/software/pcx86/sys/windows/win95/4.00.950/" target="_blank">Windows 95</a>, did something similar, but also put rename under F2 – so at least you didn’t ever have to wait.</p>
<p>I liked the emergent behaviour from some graphic apps which put rename under ⌘R. It’s not that hard to make Finder work that way – see below – but I have always been curious why Mac or Windows didn’t steal this solution.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/every-macs-floppy-disk-had-a-garbage-name/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/every-macs-floppy-disk-had-a-garbage-name/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/every-macs-floppy-disk-had-a-garbage-name/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/every-macs-floppy-disk-had-a-garbage-name/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/every-macs-floppy-disk-had-a-garbage-name/1.1088w.avif" alt="" width="635" height="700">
      </picture></figure>
<p>(Added later: People reminded me that of course Enter also renames, and does so immediately. I wonder why it slipped my mind in this context – possibly because in any other list or similar place, Enter would be the equivalent to opening? Maybe I’m discovering in slow motion how unusual Finder can be in its details compared to conventions we established after.)</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/finder/">#finder</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>Movie review: Koolhaas Houselife</title>
    <link href="https://unsung.aresluna.org/movie-review-koolhaas-houselife" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/movie-review-koolhaas-houselife</id>
    <published>2026-01-26T04:17:24.540Z</published>
    <updated>2026-01-26T04:17:24.540Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>★★★★☆</p>
<p>2008, 58 minutes</p>
<p>The house is a masterpiece. It is perched on a hill overlooking Bordeaux. It’s made of glass and concrete and seemingly nothing else. It has pipes cleverly hidden to the side, a cantilevered roof that seems to defy the laws of physics, and a beautiful center elevator platform for a wheelchair-using owner who commissioned it by telling the architect – Rem Koolhaas, by the way – “I do not want a simple house. I want a complex house, because the house will define my world.”</p>
<p>The house is also a nuisance. The platform gets stuck. The back staircase is frustrating to navigate. Parts of the physics-defying roof started to rust years ago. The glass needs cleaning and very occasionally shatters whole as the house slowly sinks into the hill. In the summer, the garden door gets too hot to touch. In the winter, rain and snow leak between holes in the walls – holes whose very presence cannot fully be explained.</p>
<p><a href="https://www.bekalemoine.com/Koolhaas_houselife.php" target="_blank">The documentary</a> is sort of a human-centered flip side of <a href="https://openlibrary.org/works/OL823146W/How_Buildings_Learn" target="_blank">How buildings learn</a>, the absolutely fascinating book written by Stewart Brand (this is the good part; the book is really smart and you can learn a lot from it) and designed by Stewart Brand (this is the bad part; the book’s typesetting is so terrible I literally cannot stand to open it). The movie follows Guadalupe, the person who takes care of the building and sees it not in the first day’s pristine light, but a decade after it was finished, and years after the figurative cracks showed up, and then literal cracks, too. She knows it so intimately that she struggles in explaining it.</p>
<p>My design team watched this documentary during an offsite. I couldn’t attend the showing for reasons I no longer remember; afterwards multiple people came to me and told me “You should watch it. It’s actually about you.”</p>
<p>I watched it yesterday as I’ve been thinking a lot about this recently. Towards my later years at Medium, more recently at Figma, and increasingly when it comes to UX design as a whole, I feel like a caretaker, a living historian, a person tasked with the sometimes-sisyphean work of preserving the past but not gatekeeping the future, tending to something mostly taken for granted, and knowing something so intimately that you develop a <em>sense</em> of it that is increasingly hard to explain to others. “I don’t know how I know it, but bet $20 this is related to this,” I hear myself saying at work with strange regularity. (I’m far from always being right, but it still surprises me how often I get to be.)</p>
<p>Caretakers burn out, of course. It happened to me a few times. You can take too much care. You can fly so close to the details you forget the color of the sky. There’s enough minutiae for all of the minutes in every day. </p>
<p>And even outside of burnout, things can get weird. Medium’s editor then and Figma’s editor now feel like strange beasts, so complicated that it exceeds any single person’s understanding. One learns about their moods and the good days and the bad days. One can try to placate them, but only partially, and learn to understand them, but only partially. One develops a strange relationship with them, and only gets to observe them even as others assume one <em>controls</em> them; I once gave a <a href="https://www.youtube.com/watch?v=kVD-sjtFoEI" target="_blank">talk about a singular keyboard shortcut</a>, one of possibly 5,000 details that could each be a subject of its own conference talk. </p>
<p>But it can also all be wonderful, and beautiful, and meaningful, being what I sometimes jokingly describe “caretakers of undo” – the phrase itself a shibboleth, as I’m always watching whether someone thinks it derogatory or laudatory – and carrying with you that calmness and quiet satisfaction of keeping the strange beast alive and perhaps even happy. </p>
<p>It doesn’t matter that Guadalupe cannot explain how the building’s award-winning architecture works, or why one staircase is designed so differently than the other. The best parts of the movie is watching her own shorthand with the house, that special years-in-the-making universe of tips, and tricks, and hacks, and nods of understanding, and frustrations attenuated by the passage of time, and quirks internalized so long ago that they their sudden disappearance would today itself register as a quirk. </p>
<p>You can develop a relationship with a sophisticated piece of software, like you can with a strange house that has a life of its own. “I want a complex house, because the house will define my world,” said the owner just before his untimely passing, but the house defined <em>someone’s </em>world, anyway. </p>
<p>The house is not beautiful because of the stories of people inside – we never get to see them, by the way, and there is only a 30-second quiet glimpse at the building actually being lived in, at the tail end of the movie. The house is not beautiful because it was designed by a starchitect, or because of the views, or the clarity of its form, or the cantilevered roof, or the cleverly operated portholes. The house is not even beautiful because of all its flaws, although you could find beauty in them, too.</p>
<p>The house is beautiful because you show up every day and try to stop it from getting worse, and occasionally, you show up and make it better. </p>
<p>There won’t be a documentary made with you in it, so no one might ever know. But you will.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/movie-review-koolhaas-houselife/1-thumbnail.avif" width="720" height="576" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/movie-review-koolhaas-houselife/1.1600w.mp4"></video></figure><p><a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a> <a href="https://unsung.aresluna.org/tags/movie-review/">#movie review</a> <a href="https://unsung.aresluna.org/tags/review/">#review</a></p>]]></content>
  </entry>
  <entry>
    <title>The modern powers of ten</title>
    <link href="https://unsung.aresluna.org/the-modern-powers-of-ten" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-modern-powers-of-ten</id>
    <published>2026-01-25T20:46:46.416Z</published>
    <updated>2026-01-25T20:46:46.416Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have recently stumbled upon two websites that try to do something interesting and inspiring when it comes to showing scale.</p>
<p>John Wallace’s <a href="https://tangiblemediacollection.com/" target="_blank">Tangible Media Connection</a>’s initial appearance might not feel very well-crafted, but jump to any page (<a href="https://tangiblemediacollection.com/pins" target="_blank">for example this one</a>) and it’s astonishing how great the photos of the objects are. </p>
<p>They’re great not just on their own (it’s really hard to photograph metals and plastics!), but also consistent with each other when it comes to angle, style, and – most importantly – <em>scale.</em> I am not sure if I have ever seen on online museum do this before. It’s very well worth checking out.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-modern-powers-of-ten/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-modern-powers-of-ten/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-modern-powers-of-ten/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-modern-powers-of-ten/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-modern-powers-of-ten/1.1088w.avif" alt="" width="800" height="379">
      </picture></figure>
<p>The other example is Neal Agarwal’s recent <a href="https://neal.fun/size-of-life/" target="_blank">Size of Life</a>. The whole website is delightful, with subtle music and sound effects, great handling of keyboard navigation and swiping, and so on. And the way it resizes objects and uses transitions to always keep you oriented is something a lot of other interfaces, even for productivity apps, could learn from.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/the-modern-powers-of-ten/2-thumbnail.avif" width="800" height="411" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-modern-powers-of-ten/2.1600w.mp4"></video></figure>
<p>Of course, now I wonder what the first website would feel like with the user interface of the second.</p><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/sound-design/">#sound design</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>“We made it be ok by being bored and fixing stuff”</title>
    <link href="https://unsung.aresluna.org/we-made-it-be-ok-by-being-bored-and-fixing-stuff" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/we-made-it-be-ok-by-being-bored-and-fixing-stuff</id>
    <published>2026-01-25T16:27:00.000Z</published>
    <updated>2026-01-25T16:27:00.000Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have been thinking about this a lot since the pandemic, and <a href="https://mastodon.social/@cocoaphony/115913806013557052" target="_blank">Rob Napier on Mastodon</a> summarized this really well:</p>
<blockquote><p>I spent a lot of time in the 90s working on Y2K. It wasn’t a huge panic. It was just a slice out of everything else we spent auditing code. It wasn’t “spend 80 hours a week fixing this.” It was just boring. Incredibly boring. And we made it be ok by being bored and fixing stuff.</p>
<p>And the one thing I never thought would happen was that people would say it was never a problem. Oh good grief, it was a problem. All over. We just fixed it. Like we thought grownups should do when there’s a problem.</p></blockquote>
<p>There are some good responses to <a href="https://mastodon.social/@cocoaphony/115913806013557052" target="_blank">the post</a> and the <a href="https://mastodon.social/@johnzajac@dice.camp/115845954706487319" target="_blank">original post</a> it quoted. This one was brilliant in its vulgarity:</p>
<blockquote><p>My analogy for this is that I work to maintain a kind of public sewer system. You never think about sewers... until you’re up to your neck in shit.</p></blockquote>
<p>This isn’t just about Y2K and COVID, of course. It’s also about the invisible work of people who make <a href="https://unsung.aresluna.org/a-masterclass-in-interaction-design-ixd/">well-behaved menus</a>, and all the other things like that.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a></p>]]></content>
  </entry>
  <entry>
    <title>“A masterclass in Interaction Design (IxD)”</title>
    <link href="https://unsung.aresluna.org/a-masterclass-in-interaction-design-ixd" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-masterclass-in-interaction-design-ixd</id>
    <published>2026-01-25T14:59:33.142Z</published>
    <updated>2026-01-25T14:59:33.142Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The state of menus on Google’s search result page: all inconsistent, most ugly, ignoring UI mechanics learned decades ago (for example <a href="https://www.nngroup.com/articles/steering-law/" target="_blank">understanding the importance of diagonal movement</a> or supporting mousedown-drag-mouseup in addition to just clicking), with easily triggered buggy states, bad animations, and even clicks falling through.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/a-masterclass-in-interaction-design-ixd/1-thumbnail.avif" width="800" height="371" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-masterclass-in-interaction-design-ixd/1.1600w.mp4"></video></figure>
<p>I wouldn’t be so angry, but I use – or at least <em>see</em> – these all the time. I wouldn’t be so angry if we hadn’t learned how to make GUI menus well 30 or so years ago.</p>
<p>I don’t want to pin it all on browser makers; if the designers and engineers cared above, there are ways to make great menus in custom JavaScript. But I wonder why the web tech didn’t evolve quicker to provide well-built and stylable and accessible primitives for this kind of stuff. I would love to understand more why that didn’t happen. Even scrollbars and sliders still feel unfinished on the web, and those are much easier than multi-level menus.</p>
<p>Also, Gemini:</p>
<blockquote><p>Are the mechanics of menus on google search page working well?</p>
<p>In terms of technical execution, the mechanics of Google’s menus are a masterclass in Interaction Design (IxD). They are designed to feel “snappy” even on low-powered devices, using a blend of instant feedback and carefully timed animations.</p></blockquote>
<p>Skynet would probably love Papyrus, too.</p><p><a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>A good person to follow: David Aerne</title>
    <link href="https://unsung.aresluna.org/a-good-person-to-follow-david-aerne" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-good-person-to-follow-david-aerne</id>
    <published>2026-01-25T02:22:34.370Z</published>
    <updated>2026-01-25T02:22:34.370Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I am still figuring out what this blog is, and I hope I’m not going to make this part too awkward, but I’d love once in a while to point to someone whose work I admire or find inspiring.</p>
<p>I just spent an hour or so simply scrolling through <a href="https://bsky.app/profile/meodai.bsky.social" target="_blank">David Aerne’s Bluesky feed</a>, and I felt it was just so much fun for me. David is interested in color and works on various small refined tools – one recent example is <a href="https://okpalette.color.pizza/" target="_blank">OKPalette</a> – and reposts other people who work in this space, but is also very generous with sharing his creative process around tools and their details.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-good-person-to-follow-david-aerne/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-good-person-to-follow-david-aerne/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-good-person-to-follow-david-aerne/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-good-person-to-follow-david-aerne/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-good-person-to-follow-david-aerne/1.1088w.avif" alt="" width="760" height="700">
      </picture></figure>
<p>I’ve always been more of a “functional” designer and less of an “artist” (please excuse labels in progress), and this kind of stuff feels like connective tissue and expands my horizons.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/a-good-person-to-follow-david-aerne/2-thumbnail.avif" width="800" height="690" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-good-person-to-follow-david-aerne/2.1600w.mp4"></video></figure>
<p><a href="https://bsky.app/profile/meodai.bsky.social" target="_blank">Check out David Aerne’s work on Bluesky</a> – no account is required.</p>
<p>Also, I’ll always welcome recommendations of other people to follow! (Just please: not on x.com).</p><p><a href="https://unsung.aresluna.org/tags/colors/">#colors</a> <a href="https://unsung.aresluna.org/tags/good-people-to-follow/">#good people to follow</a></p>]]></content>
  </entry>
  <entry>
    <title>“The glossy, shimmering future of computing”</title>
    <link href="https://unsung.aresluna.org/the-glossy-shimmering-future-of-computing" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-glossy-shimmering-future-of-computing</id>
    <published>2026-01-24T15:55:22.757Z</published>
    <updated>2026-01-24T15:55:22.757Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://www.youtube.com/watch?v=cvJ83v86R3w" target="_blank">A good 22-minute video from XDA</a> about the debacle that was <a href="https://en.wikipedia.org/wiki/Windows_Vista" target="_blank">Windows Vista</a> and the corrective measure that followed, Windows 7:</p>
<figure>
        <a href="https://www.youtube.com/watch?v=cvJ83v86R3w" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-glossy-shimmering-future-of-computing/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-glossy-shimmering-future-of-computing/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-glossy-shimmering-future-of-computing/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-glossy-shimmering-future-of-computing/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/the-glossy-shimmering-future-of-computing/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>It taught me many things and it clarified that things were more complicated than they seemed. Windows Vista (widely seen as failure) perhaps wasn’t so bad, and 7 (quoted by many as the best Windows ever) was not that far away from Vista, down to its internal version number being 6.1 to Vista’s 6.0.</p>
<p>It’s also interesting to reflect on this today, when macOS is having its own Vista moment.</p>
<p>There is also <a href="https://www.youtube.com/watch?v=XPjUupwGcVI" target="_blank">a follow-up video on Windows 8</a>, the possibly most consequential Windows release of that era, with product decisions that reverberate still today. </p>
<p>Main takeaway: An entire book could be written and a lifetime of lessons learned from Microsoft’s “.1” releases.</p><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/windows/">#windows</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Not everything that can be counted counts, and not everything that counts can be counted.”</title>
    <link href="https://unsung.aresluna.org/not-everything-that-can-be-counted-counts-and-not-everything-that-counts-can-be-counted" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/not-everything-that-can-be-counted-counts-and-not-everything-that-counts-can-be-counted</id>
    <published>2026-01-24T06:00:35.002Z</published>
    <updated>2026-01-24T06:00:35.002Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://blog.mikeswanson.com/backseat-software/" target="_blank">An absolutely fantastic post about software nudges and pop-ups</a> by Mike Swanson:</p>
<blockquote><p>If you’ve ever read about “choice architecture” and nudging, this will feel familiar. The modern language for it was popularized in the late 2000s, and the core idea is simple: how choices are presented changes what people do, even if nothing is technically forced.</p>
<p>Then product teams go one step further. Instead of just shaping choices, you can shape timing. Prompts start showing up in the middle of workflows because that’s when the user is “most engaged.”</p>
<p>The industry also has a whole discipline around persuasive design and how to move someone from intention to action with prompts, friction removal, and well-timed triggers. B.J. Fogg’s behavior model is one of the more cited frameworks in this space.</p>
<p>Some nudges are genuinely helpful. But the same machinery that helps you discover a feature can also be used to push you into something you didn’t come here to do. And once the machinery exists, it gets reused.</p></blockquote>
<p>I am finding myself wanting to quote most of it. </p>
<blockquote><p>You cannot easily measure the resentment. Or the rage clicks when they smash a button to dismiss another “did you know” pop-up. You cannot easily chart the moment a user thinks, “I used to like this product, and now it feels needy.” You cannot easily quantify the slow erosion of trust.</p></blockquote>
<p>I have long been frustrated by how the “growth” interfaces haven’t really evolved past cheap and loud pop-ups and defaulting to “let’s just show it.” One of the behaviours that bother me a lot that’s not listed in the post is, for example, installing an app and receiving one or even more “here’s what’s new” onboarding callouts. Hey. I just installed you. <em>Everything is new.</em></p>
<p>Anyway, maybe one more quote:</p>
<blockquote><p>Optimize for trust, not just return visits. Short-term engagement can be increased by annoyance. <a href="https://www.tandfonline.com/doi/full/10.1080/23311975.2024.2361321" target="_blank">Long-term loyalty is harder and more valuable</a>. The best products I use don’t constantly remind me to use them. They quietly do their job so well that I come back when I need them. That’s what tools are supposed to do.</p></blockquote>
<p><a href="https://blog.mikeswanson.com/backseat-software/" target="_blank">Worth reading the whole thing</a>.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/culture/">#culture</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>“Distinct absence of anything that takes away screen real-estate”</title>
    <link href="https://unsung.aresluna.org/distinct-absence-of-anything-that-takes-away-screen-real-estate" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/distinct-absence-of-anything-that-takes-away-screen-real-estate</id>
    <published>2026-01-24T03:10:35.563Z</published>
    <updated>2026-01-24T03:10:35.563Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/distinct-absence-of-anything-that-takes-away-screen-real-estate/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/distinct-absence-of-anything-that-takes-away-screen-real-estate/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/distinct-absence-of-anything-that-takes-away-screen-real-estate/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/distinct-absence-of-anything-that-takes-away-screen-real-estate/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/distinct-absence-of-anything-that-takes-away-screen-real-estate/1.1088w.avif" alt="" width="800" height="382">
      </picture></figure>
<p><a href="https://neil.computer/notes/the-design-of-diskprices-com/" target="_blank">Neil Panchal writing in 2020</a> about a cool little page called <a href="http://diskprices.com" target="_blank">diskprices.com</a>:</p>
<blockquote><p>The performance of this website is stellar. It loads almost instantly. And the list (although it’s not sortable) gets the job done, it is sorted by price already which is the most important attribute.</p>
<p>Diskprices.com deserves the UI/UX award of the decade. We’ve lost our ability to design user interfaces laser-focused on the <em>user</em>. Instead, we have purple gradients, scroll jacking, responsive bullshit, emojis, animations, and many other things designers do today. The utilitarian approach of Diskprices.com is refreshing, although the contemporary designers cast it off as ‘brutalist design’, thereby marking it as a statement of fashion.</p></blockquote>
<p>But both the creators of the page and Panchal might be getting this wrong:</p>
<blockquote><p>Do you need a graphic designer?<br>
No. This site is designed to maximize information density, accessibility, and performance. More whitespace, colors, and icons won’t help.</p></blockquote>
<p>I think this is incorrect. The creator of the page <em>is</em> a graphic designer, that just happens to be the perfect graphic designer for the job.</p><p><a href="https://unsung.aresluna.org/tags/attention/">#attention</a> <a href="https://unsung.aresluna.org/tags/enshittification/">#enshittification</a> <a href="https://unsung.aresluna.org/tags/performance/">#performance</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>“Intentional pagination is progress with awareness”</title>
    <link href="https://unsung.aresluna.org/intentional-pagination-is-progress-with-awareness" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/intentional-pagination-is-progress-with-awareness</id>
    <published>2026-01-24T02:08:21.419Z</published>
    <updated>2026-01-24T02:08:21.419Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I stumbled upon this <a href="https://carlbarenbrug.com/friction" target="_blank">small page about friction by Carl Barenbrug</a>. I found myself vehemently disagreeing with one example listed; I don’t think Undo Send is an example of friction, as to me it actually feels like the exact opposite (“Are you sure you want to send this email?” dialog box would be friction – just like the last example Barenbrug showed). </p>
<p>But this paused me in my tracks:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/intentional-pagination-is-progress-with-awareness/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/intentional-pagination-is-progress-with-awareness/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/intentional-pagination-is-progress-with-awareness/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/intentional-pagination-is-progress-with-awareness/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/intentional-pagination-is-progress-with-awareness/1.1088w.avif" alt="" width="800" height="527">
      </picture></figure>
<p>“Intentional pagination instead of infinite scrolling is progress with awareness.”</p>
<p>It made me realize that the only implementation of infinite scrolling I know is basically pretending the page has already been there the whole time… if it’s done well, and if you move slow enough, and if you don’t pay attention to the scrollbar, it really feels like the page goes on and on forever. </p>
<p>But… it doesn’t have to be that way. You could turn off the smoke or hide some of the mirrors. You could uncouple the gesture from what follows. You could add <a href="https://en.wikipedia.org/wiki/Milestone" target="_blank">milestones</a> (in the traditional sense of the word) after every X results. You could make the scrollbar react differently. Instead of frictionless scroll, you could force the user to bounce off of a bottom of the page in a similar vein as pull-to-refresh forces them to bounce off of its top.</p>
<p>I’m curious now. Did anyone ever experiment with infinite scrolling that feels… closer to pagination?</p><p><a href="https://unsung.aresluna.org/tags/attention/">#attention</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>“The archive itself is not new”</title>
    <link href="https://unsung.aresluna.org/the-archive-itself-is-not-new" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-archive-itself-is-not-new</id>
    <published>2026-01-23T05:50:25.650Z</published>
    <updated>2026-01-23T05:50:25.650Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I love how <a href="https://byte.tsundoku.io/" target="_blank">this Byte magazine archive</a> by Hector Dearman tries to do something different. It inspired me, and reminded me of the excitement of what Internet was supposed to be. I think we all wanted the web to feel more like <em>this</em> – fast, with infinite information right at your fingertips, the biggest library you could imagine at the comfort of your home.</p>
<blockquote><p>I hope seeing everything in single, searchable place offers a unique perspective.</p></blockquote>
<p>(The details of the zoomable UI are a bit wonky in practice, but one can imagine fixing all that.)</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/the-archive-itself-is-not-new/1-thumbnail.avif" width="555" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/the-archive-itself-is-not-new/1.1600w.mp4"></video></figure><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>“8–10 hours per symbol”</title>
    <link href="https://unsung.aresluna.org/810-hours-per-symbol" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/810-hours-per-symbol</id>
    <published>2026-01-23T05:41:41.237Z</published>
    <updated>2026-01-23T05:41:41.237Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://mastodon.social/@chockenberry/115940913926452096" target="_blank">A great post duet from Craig Hockenberry</a> that flew by on Mastodon and clarified something for me:</p>
<blockquote><p>[For] the extra work to create a custom SF Symbol, our experience is 8-10 hours per symbol. This is also an expert level task: lots of knowledge on how SVG control points work and how to maintain compatibility across different sizes and weights.</p>
<p>If you’re paying a designer to do this, the cost will be somewhere in the $1000-2000 range. For Apple this is an easy cost to absorb, for smaller developers it’s a big “nope”.</p>
<p>And, of course in the Mac menubar (and now iPadOS) you need a lot of them.</p>
<p>Another subtle example of how out of touch Apple Design is with day-to-day development.</p></blockquote>
<p>So not only is the overiconification of menus in macOS and iPadOS a bad idea, but it’s also expensive. You <em>could </em>make an argument that it would push people into reusing SF Symbols – ergo “consistency” – but that would land better if we haven’t already seen even Apple is struggling with that on their own (<a href="https://unsung.aresluna.org/and-they-cant-even-agree-on-the-direction-of-an-arrow/">previously</a>, <a href="https://unsung.aresluna.org/apple-abandons-its-own-guidance/">previously</a>).</p><p><a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>Favourite well-made apps and sites</title>
    <link href="https://unsung.aresluna.org/favourite-well-made-apps-and-sites" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/favourite-well-made-apps-and-sites</id>
    <published>2026-01-23T03:35:28.108Z</published>
    <updated>2026-01-23T03:35:28.108Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A week ago I asked on <a href="https://mastodon.online/@mwichary/115901558005256549" target="_blank">Mastodon</a> and <a href="https://bsky.app/profile/aresluna.org/post/3mciobnpdbs22" target="_blank">Bluesky</a>:</p>
<blockquote><p>What are you favourite well-made apps or sites? Phones and computers alike. </p>
<p>Doesn’t have to be “pretty,” but well-made according to whatever definition works for you. </p></blockquote>
<p>I specifically made it kind of vague, and these are the answers I got. I grouped them into categories and added links. I am excited to dig into these and study them, but wanted to share a raw list as well in case this inspires some of you, too. </p>
<p>Thank you to everyone who participated! (Numbers in circles like ② or ③ mean more than one person nominated a given site or app.)</p>
<p>Info sites:</p>
<ul class="long-list">
        <li><a href="https://aftermath.site/ians-shoelace-site-is-still-the-best-destination-for-tying-your-shoes/" target="_blank">Ian’s Shoelace Site</a> ② “A «does one thing well» site. Great breadth and depth. Information architecture designed to help you discover/&#8203;find information, not sell you something. Loads fast. Still maintained after decades.”</li>
        <li><a href="https://www.scelbi.com/documentation" target="_blank">SCELBI Computer Museum</a>. “Useful, tightly curated, organized, loads fast, no BS. A basic bootstrap thing, but there’s something magical about it. Small enough to be digestible in an hour, well set up for either research or just cool vibes . Partly bc subject itself is «small» but seems not only that.”</li>
        <li><a href="http://hyperion-records.co.uk" target="_blank">Hyperion Records</a>. “All the liner notes and song texts!”</li>
        <li><a href="https://www.gov.uk/" target="_blank">www.gov.uk</a></li>
        <li><a href="http://plaintextsports.com" target="_blank">plaintextsports.com</a></li>
      </ul>
<p>Interactive explainers:</p>
<ul>
        <li><a href="https://ciechanow.ski/archives/" target="_blank">Bartosz Ciechanowski</a> ③ </li>
        <li><a href="https://ncase.me/" target="_blank">It’s Nicky Case!</a></li>
        <li><a href="https://neal.fun/" target="_blank">Neal.fun</a></li>
        <li><a href="https://www.makingsoftware.com/" target="_blank">Making Software</a> by Dan Hollick</li>
        <li><a href="https://alexharri.com/" target="_blank">Alex Harri</a></li>
      </ul>
<p>Personal sites:</p>
<ul class="long-list">
        <li>“I’m in love with <a href="https://maggieappleton.com" target="_blank">Maggie Appleton’s site</a>. The general design and the illustrations, the content (from quick notes to polished essays), the way it creates a visual and conceptual taxonomy with the #digitalgarden concept.”</li>
        <li><a href="https://kottke.org/" target="_blank">Kottke</a></li>
        <li><a href="https://www.robinsloan.com/" target="_blank">Robin Sloan</a></li>
        <li><a href="https://robinrendle.com/" target="_blank">Robin Rendle</a></li>
        <li><a href="https://rsms.me/" target="_blank">Rasmus Andersson</a></li>
        <li><a href="https://arielsalminen.com/" target="_blank">Ariel Salminen</a></li>
      </ul>
<p>Work and tasks:</p>
<ul class="long-list">
        <li><a href="https://mimestream.com/" target="_blank">Mimestream</a> ③ “It basically stays out of my way? Which is about as good as it gets these days. Also, it has just enough customization options to handle my sometimes complex number of gmail accounts (personal/&#8203;work, for various clients, etc.)”</li>
        <li><a href="https://culturedcode.com/things/" target="_blank">Things</a> ② “The fanciest, most attention-to-detail software I know of.”</li>
        <li><a href="https://supmua.dev/" target="_blank">Sup</a> “Pretty niche. I’m thinking specialist interfaces for specialists here. Tools that become an extension of their users’ bodies and disappear in te use”</li>
        <li><a href="https://calendarbridge.com/" target="_blank">CalendarBridge</a> “&lt;3 &lt;3 &lt;3”</li>
        <li><a href="http://Mylifeorganized.net" target="_blank">MyLifeOrganized</a></li>
        <li><a href="https://apps.apple.com/us/app/voice-memos/id1069512134" target="_blank">Voice memos</a> (iPhone)</li>
      </ul>
<p>Art/Games:</p>
<ul>
        <li>“<a href="https://rekall.me/" target="_blank">rekall</a> for a simple, occasional, cyberpunk-ish retro mood board injection.”</li>
        <li><a href="https://apps.apple.com/us/app/good-sudoku-by-zach-gage/id1489118195" target="_blank">Good Sudoku</a></li>
        <li><a href="https://floor796.com/" target="_blank">Floor796</a></li>
        <li><a href="https://threesjs.io/" target="_blank">Threes</a></li>
      </ul>
<p>Creative:</p>
<ul>
        <li><a href="https://monodraw.helftone.com/" target="_blank">Monodraw</a> ② “for ASCII art”</li>
        <li>“<a href="https://zerocam.app/" target="_blank">Zerocam</a> is the perfect no-fuzz-just-snap camera app”</li>
        <li>“I like <a href="https://www.apple.com/in/keynote/" target="_blank">Keynote</a>. But am not completely objective about that.” </li>
        <li><a href="https://lostminds.com/vectoraster/" target="_blank">Vectoraster</a> “for halftones”</li>
        <li><a href="https://spectrolite.app/" target="_blank">Spectrolite</a> “for colour separations”</li>
        <li><a href="https://darkroom.co/" target="_blank">Darkroom</a></li>
        <li><a href="https://www.rayon.design/" target="_blank">Rayon</a> (desktop)</li>
        <li><a href="https://ephtracy.github.io/" target="_blank">MagicaVoxel</a></li>
        <li><a href="https://www.autodesk.com/products/fusion-360/overview" target="_blank">Fusion 360</a></li>
      </ul>
<p>Podcasts:</p>
<ul>
        <li><a href="https://pocketcasts.com/" target="_blank">Pocket Casts</a></li>
        <li>“<a href="https://castro.fm/" target="_blank">Castro</a> is still my favourite podcasting app…</li>
        <li>…although visually I like <a href="https://www.eikedrescher.com/queueapp" target="_blank">Queue</a> more”</li>
      </ul>
<p>Social:</p>
<ul>
        <li>“<a href="https://telegram.org/" target="_blank">Telegram</a> is the best messaging app in terms of UI design”</li>
        <li>“<a href="https://apps.apple.com/us/app/locket-widget/id1600525061" target="_blank">Locket</a> is my fav «novel UX» app and its widget is always on my home screen”</li>
        <li><a href="https://phanpy.social/?lang=en" target="_blank">Phanpy</a> (the Mastodon client)</li>
        <li><a href="https://reederapp.com/" target="_blank">Reeder</a> </li>
        <li><a href="https://barnowl.mit.edu/" target="_blank">BarnOwl</a></li>
      </ul>
<p>Commerce:</p>
<ul class="long-list">
        <li><a href="https://www.mcmaster.com/" target="_blank">McMaster-Carr</a> ④ “The best online catalog.” “Impossibly fast. Still in awe after all these years.” “It supports <em>your</em> cognition, including with contextual material, to find the thing you are looking for (or the thing you didn’t know you were looking for until you started looking). It helps you find the <em>right</em> part because of what they show, the right filters, and especially the contextual information (I think about the little scale they had to explain the different hardnesses of rubber, for example).”</li>
        <li><a href="https://carsandbids.com/" target="_blank">Cars&amp;Bids</a>. “Fast, functional, and easy to use. Not stunning, just utilitarian.”</li>
        <li><a href="https://www.digikey.com/" target="_blank">DigiKey</a></li>
      </ul>
<p>Writing and note-taking:</p>
<ul class="long-list">
        <li><a href="https://ia.net/writer" target="_blank">iA Writer</a> ② “Simple and effective, using it I always wish to write more but I forget it again.” “Has been consistently great for years.”</li>
        <li>“I’ve been using <a href="https://bear.app/" target="_blank">Bear</a> ② by Shinyfrog for my notes for well over a decade now. Dependable, works great, no junk ware, and a reasonable price. Pretty to boot. The fact that in the 10+ years I’ve been using it, there’s only been a single major overhaul update is a feature, not a bug to me.” </li>
        <li>“<a href="https://notability.com/" target="_blank">Notability</a>! Haven’t found anything else that matches the flexibility for handling imported files &amp; photographs, typed notes, hand-drawn diagrams and mark-ups completely seamlessly within a single document. Unbeatable for handling both notes in class (uni) and on site (trade).”</li>
        <li>“Been using <a href="https://www.omnigroup.com/omnioutliner/" target="_blank">OmniOutliner</a> daily for decades. Simple, focussed and matches the way I think. Lots of ways to make lists and outlines but this one works for me.”</li>
        <li><a href="https://www.writerduet.com/" target="_blank">WriterDuet</a></li>
      </ul>
<p>Music:</p>
<ul class="long-list">
        <li>“<a href="https://wfmu.org/" target="_blank">The radio station WFMU</a> streams online, and also has a website where you can log in to chat with other listeners and interact with the playlist. The degree to which it does what you want it to do is stunning. It doesn’t get in your way or make you learn a new paradigm; it just makes it easy to do what you want to do. It’s a lesson in design for any UI/UX people.”</li>
        <li><a href="https://music.ishkur.com/" target="_blank">Ishkur’s Guide To Electronic Music</a>. “This website maps out all the sub-sub-sub-genres of electronic music, with descriptions and samples. I think that the fine-grained classifications are comical, but they do an excellent job of what they’re doing.”</li>
        <li>“<a href="https://apps.apple.com/us/app/easy-metronome/id6459476235" target="_blank">Easy Metronome</a> is a simple elegant loud phone metronome that is super easy to use even for weird time signatures.”</li>
        <li>“<a href="https://apps.apple.com/us/app/pro-metronome-tempo-tuner/id477960671" target="_blank">Pro Metronome</a> is also excellent. I’ve used it for over 10 years and it stubbornly refuses to abandon its skeuomorphic leather and big clicky scroll wheel”</li>
        <li>“I really appreciate the <a href="https://apps.apple.com/us/app/apple-music-classical/id1598433714" target="_blank">Apple Music Classical</a> app (even though it exists in this odd liminal space beside Apple Music) having spent many years frustrated about how traditional music streaming services handle classical recordings.”</li>
      </ul>
<p>Travel:</p>
<ul class="long-list">
        <li><a href="https://flighty.com/" target="_blank">Flighty</a> ②</li>
        <li>“I‘m travelling with Deutsche Bahn quite frequently, and while their own App (DB-Navigator) is quite good compared internationally, I prefer to track trains on <a href="https://bahn.expert/" target="_blank">Bahn Experte</a> for its bare, technical and valid information and performance.”</li>
        <li>“<a href="https://www.seat61.com/index-mobile.htm" target="_blank">The Man in Seat 61</a> is a goldmine for train travellers. At least in Europe, the information is really up to date and if you want to find pictures of the sleeper cars of the Romanian railway or the seat map of Prague - Berlin trains, it’s all there.”</li>
        <li><a href="https://transitapp.com/" target="_blank">Transit</a></li>
        <li><a href="https://apps.apple.com/us/app/waymo/id1343524838" target="_blank">Waymo’s app</a></li>
      </ul>
<p>Food and health:</p>
<ul class="long-list">
        <li>“The kiosks in Costco’s food court aren’t the prettiest to look at but they are S tier for responsiveness. You literally just press a button and immediately the item is added to your cart. You can order a hot dog and soda in under 5 seconds.”</li>
        <li><a href="https://www.paprikaapp.com/" target="_blank">Paprika</a>. “Love my recipe management.”</li>
        <li><a href="https://apps.apple.com/us/app/fitness-stats/id1511179040" target="_blank">Fitness Stats</a>. “Simple, effective, and good looking.”</li>
        <li><a href="https://mela.recipes/" target="_blank">Mela</a> </li>
        <li><a href="https://macrofactorapp.com/" target="_blank">MacroFactor</a></li>
        <li><a href="https://apps.apple.com/us/app/healthfit/id1202650514" target="_blank">HealthFit</a></li>
        <li><a href="https://www.thewayapp.com/" target="_blank">The Way</a></li>
      </ul>
<p>Text editors:</p>
<ul>
        <li>“I use Panic’s <a href="https://nova.app/" target="_blank">Nova</a> an awful lot and it just has a really nice feel so I keep paying for it.”</li>
        <li><a href="https://www.sublimetext.com/" target="_blank">Sublime Text</a></li>
        <li><a href="https://www.vim.org/" target="_blank">vim</a></li>
      </ul>
<p>Data transfer:</p>
<ul class="long-list">
        <li>“<a href="https://webwormhole.io/" target="_blank">WebWormhole</a> for functionality, encrypted data transfer between your devices or to your friends without installing anything. (There’s also a similar magic wormhole CLI tool.)”</li>
        <li><a href="https://pairdrop.net" target="_blank">PairDrop</a>. “Drop-dead easy file sharing on the local network.”</li>
        <li>“<a href="https://apps.apple.com/us/app/localsend/id1661733229" target="_blank">LocalSend</a> is well made, because until sofar it aleay works, even when AirDrop doesn’t. And it also works on non-Apple environments.”</li>
      </ul>
<p>Other nerdy tools:</p>
<ul class="long-list">
        <li><a href="https://regexr.com/" target="_blank">RegExr</a>. “A web-based tool to create or explain regular expressions.”</li>
        <li>“The <a href="https://swaywm.org" target="_blank">Sway</a> compositor. A keyboard-driven tiling window manager with dynamic tiling layout. I can’t even imagine trying to use a computer with floating, overlapping windows anymore; everything lines up perfectly and adjusting layout is a matter of a few extremely quick keyboard shortcuts. They take a concept—laying out multiple windows on a display without gaps or overlaps—and build a fast, coherent interface around that concept, and it works fantastically.”</li>
        <li>“The original HP 42S calculator packed a lot of power into a convenient and ergonomic enclosure, and <a href="https://thomasokken.com/free42/" target="_blank">Free42</a> is a very tasteful recreation and expansion of that device for modern platforms.”</li>
        <li><a href="https://www.scootersoftware.com/home" target="_blank">Beyond Compare</a> (Linux version)</li>
        <li><a href="https://www.alfredapp.com/" target="_blank">Alfred</a></li>
        <li><a href="https://thegrizzlylabs.com/" target="_blank">Genius Scan</a></li>
      </ul>
<p>I didn’t know where to put these:</p>
<ul>
        <li>“<a href="https://mindtwisted.com/" target="_blank">The Kanji Study dictionary</a> on Android has a <em>wild</em> amount of polish, I’m consistently impressed by how much effort has been put into it, especially because it’s sold for a (admittedly high) one-time fee.”</li>
        <li><a href="https://michelf.ca/projects/sim-daltonism/" target="_blank">Sim Daltonism</a></li>
        <li><a href="https://homey.app/en-us/" target="_blank">Homey</a></li>
      </ul>
<p>Meta:</p>
<ul>
        <li>“I happen to maintain <a href="https://lai.nz/approll" target="_blank">a list of my favourite apps</a>. (And being well-made is sort of a pre-req.)”</li>
        <li><a href="https://wa.joodaloop.com/" target="_blank">Web app directory</a> and <a href="https://mac.joodaloop.com/" target="_blank">Mac app directory</a></li>
      </ul><p><a href="https://unsung.aresluna.org/tags/above-and-beyond/">#above and beyond</a> <a href="https://unsung.aresluna.org/tags/bear/">#bear</a> <a href="https://unsung.aresluna.org/tags/popular/">#popular</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>Out of sight</title>
    <link href="https://unsung.aresluna.org/out-of-sight" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/out-of-sight</id>
    <published>2026-01-23T02:38:49.179Z</published>
    <updated>2026-01-23T02:38:49.179Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>If you choose to remove the app names from the springboard, a small thing Apple could do would be to show the app name in the long-press menu here. Otherwise, I found it feels really easy to forget the name over time! (It would be a small riff on <a href="https://unsung.aresluna.org/a-clever-disambiguation-detail/">this disambiguation detail</a>.)</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/out-of-sight/1-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-sight/1-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/out-of-sight/1-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/out-of-sight/1-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/ios/">#ios</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>“A hand-wave toward something ineffable”</title>
    <link href="https://unsung.aresluna.org/a-hand-wave-toward-something-ineffable" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-hand-wave-toward-something-ineffable</id>
    <published>2026-01-23T02:37:57.481Z</published>
    <updated>2026-01-23T02:37:57.481Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I’m strangely conflicted about sharing <a href="https://rogerwong.me/2026/01/everyone-talks-about-taste" target="_blank">this post about taste from Roger Wong</a>:</p>
<blockquote><p>Sensitivity is how finely you perceive—noticing friction, asking why a screen exists, catching the moment something feels wrong. Standards are your internal reference system for what “good” actually looks like. Both can be trained.</p></blockquote>
<p>The post is great and I nodded all the way through. But I found the linked Medium post very hard to parse – like it was written by AI for LinkedIn – and I haven’t yet opened <a href="https://bookshop.org/p/books/the-creative-act-a-way-of-being-rick-rubin/7884653d3a8189a4" target="_blank">Rick Rubin’s relatively famous book</a> quoted inside because I am worrying it might be too pretentious.</p>
<p>So, perhaps I can offer a rare caveated endorsement: click on Roger Wong’s post, but not sure it’s worth clicking further.</p><p><a href="https://unsung.aresluna.org/tags/craft/">#craft</a></p>]]></content>
  </entry>
  <entry>
    <title>“Fourth reason: Map makers are lazy”</title>
    <link href="https://unsung.aresluna.org/fourth-reason-map-makers-are-lazy" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/fourth-reason-map-makers-are-lazy</id>
    <published>2026-01-22T03:43:13.558Z</published>
    <updated>2026-01-22T03:43:13.558Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A wildly fascinating <a href="https://www.youtube.com/watch?v=PVemGumEEgo" target="_blank">12-minute video</a> from the always-hilarious YouTube channel Map Men about the reason for a surprising black spot that could be seen on Google Earth until 2012.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fourth-reason-map-makers-are-lazy/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fourth-reason-map-makers-are-lazy/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fourth-reason-map-makers-are-lazy/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fourth-reason-map-makers-are-lazy/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/fourth-reason-map-makers-are-lazy/1.1088w.avif" alt="" width="800" height="469">
      </picture></figure>
<p>Reading the <a href="https://en.wikipedia.org/wiki/Sandy_Island,_New_Caledonia" target="_blank">Wikipedia entry</a> after watching the video adds extra color to the mystery, turning it more squarely into a “software quality” story:</p>
<blockquote><p>Some scientists were initially skeptical that such an error could exist, since a signature was present in various global terrain data sets, such as the bathymetric data from the <a href="https://en.wikipedia.org/wiki/General_Bathymetric_Chart_of_the_Oceans" target="_blank">General Bathymetric Chart of the Oceans</a>, which reported an elevation of 1 metre (3 feet) over the location of Sandy Island. Some data sets derived from satellite imagery indicated that <a href="https://en.wikipedia.org/wiki/Sea_surface_temperature" target="_blank">sea surface temperatures</a> were absent in the location, suggesting the presence of land.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/humor/">#humor</a></p>]]></content>
  </entry>
  <entry>
    <title>“Because you haven’t used them recently”</title>
    <link href="https://unsung.aresluna.org/because-you-havent-used-them-recently" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/because-you-havent-used-them-recently</id>
    <published>2026-01-22T00:52:30.072Z</published>
    <updated>2026-01-22T00:52:30.072Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I was surprised at this little thing that appeared in my Chrome Canary this morning.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/1.1088w.avif" alt="" width="580" height="66">
      </picture></figure>
<p>It is rare to see an interface clean up after itself this way. This flew by quickly and wasn’t communicated very well, but I believe this changed my new tab page from this…</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/2.1088w.avif" alt="" width="800" height="261">
      </picture></figure>
<p>…to this:</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/because-you-havent-used-them-recently/3.1088w.avif" alt="" width="800" height="261">
      </picture></figure>
<p>Now, I said “surprised” and not “delighted” not just because the implementation felt a bit rough. I am also suspicious of the motivations, as Google’s sister iOS app played very fast and loose with this surface, literally moving the search bar from under my thumb in order to create room for features I would never use and could never remove. I suspect this is a preparation for something else that would take the place.</p>
<p>But until that day comes, this was an interesting gesture, and it’s really welcome to see a new tab harking back to the simplicity of Google from days past.</p><p><a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/google/">#google</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/onboarding/">#onboarding</a></p>]]></content>
  </entry>
  <entry>
    <title>A Japanese word for “cat”</title>
    <link href="https://unsung.aresluna.org/a-japanese-word-for-cat" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-japanese-word-for-cat</id>
    <published>2026-01-21T14:11:14.166Z</published>
    <updated>2026-01-21T14:11:14.166Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>When I was in Hong Kong a few months ago, I noticed that a lot of intercoms have this particular animation of a cat sleeping and chasing a fly, on a loop:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/1-thumbnail.avif" width="800" height="450" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/1.1600w.mp4"></video></figure>
<p>It was actually kind of fun to see it all over Hong Kong on LCDs of varying quality.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/2.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/3.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-japanese-word-for-cat/4.1088w.avif" alt="" width="800" height="533">
      </picture></figure>
<p>Turns out this was <a href="https://en.wikipedia.org/wiki/Neko_(software)" target="_blank">Neko</a>! A “screenmate” application from the late 1980s that made its way to various software platforms and apps since.</p>
<p>I liked the idea that somewhere in the intercom factory someone wanted to add a little delight to a very pedestrian (no pun intended) surface, and that’s why now we have Neko all over Hong Kong.</p>
<p>(I liked it so much I recreated it and added to <a href="https://aresluna.org/" target="_blank">the bottom of my site</a>.)</p><p><a href="https://unsung.aresluna.org/tags/art/">#art</a> <a href="https://unsung.aresluna.org/tags/motion-design/">#motion design</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“I’m still grumpy that Apple discontinued it back in 2015”</title>
    <link href="https://unsung.aresluna.org/im-still-grumpy-that-apple-discontinued-it-back-in-2015" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/im-still-grumpy-that-apple-discontinued-it-back-in-2015</id>
    <published>2026-01-21T03:34:28.202Z</published>
    <updated>2026-01-21T03:34:28.202Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Daniel Kennett in <a href="https://ikennd.ac/blog/2026/01/old-man-yells-at-modern-software-design/" target="_blank">A Lament For Aperture, The App We’ll Never Get Over Losing</a> (also note an alt title in the URL): </p>
<blockquote><p>Start spending time in the online photography sphere and you’ll start to notice a small but undeniable undercurrent of lament of its loss to this day. Find an article about Adobe hiking their subscription prices because they added AI for some reason, and amongst the complaining in the comments you’ll invariably find it: <em>“I miss Aperture.”</em></p></blockquote>
<p>Kennett goes deep into two specific details: the HUD-like UI that travels to the photo, and the technically impressive loupe. It’s worth checking it out just to reflect on the importance of execution; ostensibly those features exist in Adobe’s Lightroom (Aperture’s main competitor), Photos, etc. But Aperture designed them in particularly memorable and impressive ways.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-still-grumpy-that-apple-discontinued-it-back-in-2015/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-still-grumpy-that-apple-discontinued-it-back-in-2015/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-still-grumpy-that-apple-discontinued-it-back-in-2015/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/im-still-grumpy-that-apple-discontinued-it-back-in-2015/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/im-still-grumpy-that-apple-discontinued-it-back-in-2015/1.1088w.avif" alt="" width="800" height="531">
      </picture></figure>
<p>Back in the early 2010s I used Aperture, too. I was rooting for it. I felt like it was <em>designed, </em>and Lightroom merely <em>existed.</em></p>
<p>It reminded me of the 1990s when I felt the same about Netscape 4 over Internet Explorer 4. There was something about Netscape’s <em>feel</em> that appealed to me more. The way buttons were designed. The way they responded to clicks. The way pages loaded. All these little nuances. This was perhaps the first time I appreciated one app over another for things I didn’t know how to measure, or perhaps even describe.</p>
<p>Aperture vs. Lightroom feels like a similar story, because for all my appreciation for Aperture, I remember it being slower than Lightroom, and the noise reduction (much more important 10+ years ago) was worse, too. In a small way, it was a relief that Aperture was discontinued, because it saved me from a tricky choice: better designed vs. technically superior.</p>
<p>But: I miss Aperture, also. Maybe it would’ve caught up technically today and it would’ve been the best of both worlds. To this day, I use Lightroom (now Lightroom Classic). If it’s filled with UI quirks, it’s mostly bad ones. If there is beauty in it, I no longer know how to see it. It’s a tool in the most reductive sense of the word. My photos deserve more.</p>
<p>Also something I learned from Kennett:</p>
<blockquote><p>“Shoebox” apps are apps that <em>contain</em> the content you use with them, as opposed to document-based apps which work with content you manage as a user. It’s an extremely common design nowadays, but less so back then — early pioneers of the shoebox app were iPhoto, iMovie, etc.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/definitions/">#definitions</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“Dwarf children die from embarrassment at not being dressed at age 2”</title>
    <link href="https://unsung.aresluna.org/dwarf-children-die-from-embarrassment-at-not-being-dressed-at-age-2" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/dwarf-children-die-from-embarrassment-at-not-being-dressed-at-age-2</id>
    <published>2026-01-20T22:20:25.640Z</published>
    <updated>2026-01-20T22:20:25.640Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I saw this screenshot the other day (<a href="https://bsky.app/profile/reki.gay/post/3m5ejzg7njv2y" target="_blank">link</a>):</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/dwarf-children-die-from-embarrassment-at-not-being-dressed-at-age-2/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/dwarf-children-die-from-embarrassment-at-not-being-dressed-at-age-2/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/dwarf-children-die-from-embarrassment-at-not-being-dressed-at-age-2/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/dwarf-children-die-from-embarrassment-at-not-being-dressed-at-age-2/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/dwarf-children-die-from-embarrassment-at-not-being-dressed-at-age-2/1.1088w.avif" alt="" width="800" height="322">
      </picture></figure>
<p>I never particularly liked those “cute” app updates that were <a href="https://medium.com/design-notebook/app-updates-that-are-fun-to-read-346aaedcaa2c" target="_blank">all the rage</a> some… 10 years ago? Or app updates that are too generic. I always felt the updates should be informative, and I occasionally like seeing what’s actually being fixed, and sometimes learning from it.</p>
<p>The post above is about a game called <a href="https://en.wikipedia.org/wiki/Dwarf_Fortress" target="_blank">Dwarf Fortress</a> that I have never heard of, despite it going on since 2006. In that game, actual descriptions of bug fixes often feel better than those creative app updates. Some examples:</p>
<ul>
        <li>Zombies start conversation with necromancer adventurer who tries to sleep in their house</li>
        <li>Cats dying for no reason - alcohol poisoning?</li>
        <li>Giraffe is trainable for war</li>
        <li>Added mouths</li>
      </ul>
<p><a href="https://www.pcgamer.com/the-most-ridiculous-patch-notes-from-10-years-of-dwarf-fortress/" target="_blank">PC Gamer some fun ones in 2016</a>, or you can just go to Dwarf Fortress Wiki and <a href="https://dwarffortresswiki.org/index.php/Version_history" target="_blank">explore on your own</a>.</p>
<p>The game seems fascinating, by the way.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/maintenance/">#maintenance</a> <a href="https://unsung.aresluna.org/tags/release-notes/">#release notes</a></p>]]></content>
  </entry>
  <entry>
    <title>“If you put the Apple icons in reverse”</title>
    <link href="https://unsung.aresluna.org/if-you-put-the-apple-icons-in-reverse" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/if-you-put-the-apple-icons-in-reverse</id>
    <published>2026-01-20T04:57:23.217Z</published>
    <updated>2026-01-20T04:57:23.217Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Savage <a href="https://www.threads.com/@heliographe.studio/post/DTeOwAykwQ1" target="_blank">from heliographe.studio on Threads</a> (<a href="https://daringfireball.net/2026/01/thoughts_and_observations_regarding_apple_creator_studio" target="_blank">via Daring Fireball</a>):</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-you-put-the-apple-icons-in-reverse/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/if-you-put-the-apple-icons-in-reverse/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/if-you-put-the-apple-icons-in-reverse/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/if-you-put-the-apple-icons-in-reverse/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/if-you-put-the-apple-icons-in-reverse/1.1088w.avif" alt="" width="624" height="283">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/humor/">#humor</a> <a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>A nice transit detail</title>
    <link href="https://unsung.aresluna.org/a-nice-transit-detail" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-nice-transit-detail</id>
    <published>2026-01-20T04:28:14.448Z</published>
    <updated>2026-01-20T04:28:14.448Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Even though this blog is about software, I might occasionally post some inspiration from real life. I saw this today outside of an RTA transit station in Cleveland. I have not seen it light up, but I imagine it would blink when the train is near the station, which would mean: hurry up if you want to catch the next train.</p>
<p>It reminded me of <a href="https://unsung.aresluna.org/a-clever-disambiguation-detail">this disambiguation detail</a> in Finder in a way: a tiny but thoughtful detail at the right moment can go a long way.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-nice-transit-detail/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-nice-transit-detail/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-nice-transit-detail/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-nice-transit-detail/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-nice-transit-detail/1.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<p>In Kraków last year, I saw a great variant of this: A tram waiting at the terminus would show exactly when it departs, so you can choose to rush when it’s close, or to run a quick errand if it’s not.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-nice-transit-detail/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-nice-transit-detail/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-nice-transit-detail/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-nice-transit-detail/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-nice-transit-detail/2.1088w.avif" alt="" width="467" height="700">
      </picture></figure>
<p>(I know a lot of countries have extremely <a href="https://aresluna.org/japan-design-details/" target="_blank">user-friendly transit systems</a> where those details were hot news 30 years ago, but I do not take them for granted.)</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“Before I knew it, I had four damaged sockets and three bad cables.”</title>
    <link href="https://unsung.aresluna.org/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables</id>
    <published>2026-01-20T03:14:39.119Z</published>
    <updated>2026-01-20T03:14:39.119Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Speaking of hardware: Always loved this 1998 Australian story (<a href="https://archive.org/details/EA1998/EA%201998-07%20July%20/page/36/mode/2up" target="_blank">magazine scan</a> or <a href="https://web.archive.org/web/20080214152531/http://www.geocities.com/SiliconValley/Lakes/7156/hwvirus.htm" target="_blank">an easier-to-read transcription</a>) of a very particular computer virus that did not require any software to spread “like a Sydney bush fire”:</p>
<blockquote><p>Now it all became clear. One of the female sockets must have deformed when I first reconnected the CD-ROM burner. This forced the two pins into the same hole and shorted them out. Later when this cable was plugged into the JAZ drive, the pins, now bent to go into one hole, deformed the female connector on the JAZ drive. Again pushing the separating plastic over the hole. Plugging another good cable into this newly damaged socket caused the pins of the new cable to be forced together and short, and when this new cable was inserted into the good SCSI socket on the new JAZ drive it did more damage to it. Before I knew it I had four damaged sockets and three bad cables. </p></blockquote>
<p>I believe the cables and sockets looked something like this:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables/1.1088w.avif" alt="" width="600" height="600">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/before-i-knew-it-i-had-four-damaged-sockets-and-three-bad-cables/2.1088w.avif" alt="" width="800" height="548">
      </picture></figure>
<p>The story ends with:</p>
<blockquote><p>I am only glad the [hardware] virus was contained and did not spread to the rest of the world! Can you imagine if this sort of thing happened in a big computer assembly plant?</p></blockquote>
<p>Turns out, <a href="https://people.csail.mit.edu/jaffer/CNS/HWV" target="_blank">it did actually happened at a computer assembly plant</a>, in 1997.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/hardware/">#hardware</a></p>]]></content>
  </entry>
  <entry>
    <title>“This glitch didn’t want to be forgotten”</title>
    <link href="https://unsung.aresluna.org/this-glitch-didnt-want-to-be-forgotten" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/this-glitch-didnt-want-to-be-forgotten</id>
    <published>2026-01-18T12:03:37.884Z</published>
    <updated>2026-01-18T12:03:37.884Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I <a href="https://unsung.aresluna.org/the-chance-was-just-1-in-85">mentioned speedrunning before</a> in the context of mastery, but there is the other side of speedrunning that’s equally interesting: that utilizing bugs (or, glitches) to get the fastest possible time.</p>
<p><a href="https://www.youtube.com/watch?v=0iL0aLUS32A" target="_blank">This 17-minute video by Msushi</a> covers “one of the most loved and broken glitches in Portal 2” and the strange relationship the community has in following a bug to its conclusion – which, in this case, is <em>not</em> fixing it, but creatively using it to shave of speedrunning time. (There <em>is</em> an element of mastery there too, with spawning and despawning, but I don’t want to spoil the surprise.)</p>
<figure>
        <a href="https://www.youtube.com/watch?v=0iL0aLUS32A" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-glitch-didnt-want-to-be-forgotten/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/this-glitch-didnt-want-to-be-forgotten/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/this-glitch-didnt-want-to-be-forgotten/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/this-glitch-didnt-want-to-be-forgotten/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/this-glitch-didnt-want-to-be-forgotten/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/speedrunning/">#speedrunning</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“An extremely minor technical problem”</title>
    <link href="https://unsung.aresluna.org/an-extremely-minor-technical-problem" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/an-extremely-minor-technical-problem</id>
    <published>2026-01-18T12:03:37.884Z</published>
    <updated>2026-01-18T12:03:37.884Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A fascinating deep dive look at one of the most well-known bugs in computing history, the 1993 Pentium FDIV bug. <a href="https://www.righto.com/2024/12/this-die-photo-of-pentium-shows.html" target="_blank">Ken Shiriff actually grabbed a microscope</a> to analyze the processor and mapped out exactly what happened on the hardware level, and the details of Intel’s (surprising) fix.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/an-extremely-minor-technical-problem/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/an-extremely-minor-technical-problem/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/an-extremely-minor-technical-problem/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/an-extremely-minor-technical-problem/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/an-extremely-minor-technical-problem/1.1088w.avif" alt="" width="773" height="700">
      </picture></figure>
<p>Also, an interesting detail of what ended up being Intel’s self-own:</p>
<blockquote><p>The problem might have quietly ended here, except that Intel decided to restrict which customers could get a replacement. If a customer couldn’t convince an Intel engineer that they needed the accuracy, they couldn’t get a fixed Pentium. Users were irate to be stuck with faulty chips so they took their complaints to online groups.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/hardware/">#hardware</a></p>]]></content>
  </entry>
  <entry>
    <title>Designing table of contents</title>
    <link href="https://unsung.aresluna.org/designing-table-of-contents" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/designing-table-of-contents</id>
    <published>2026-01-17T17:50:54.918Z</published>
    <updated>2026-01-17T17:50:54.918Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I added a table of contents UI to the most elaborate essays on my site, and then wrote about <a href="https://aresluna.org/design-details-table-of-contents/" target="_blank">some of the design details and choices</a> I made there. Let me know if this is an interesting case study! I tried to do something new here with tons of mini videos.</p>
<p>At <a href="https://aresluna.org/design-details-table-of-contents/#other-implementations" target="_blank">the bottom</a>, I will also be collecting other implementations I see that are interesting alternatives to my approach.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/designing-table-of-contents/1-thumbnail.avif" width="795" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/designing-table-of-contents/1.1600w.mp4"></video></figure><p><a href="https://unsung.aresluna.org/tags/case-study/">#case study</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>Slow, fast, third thing</title>
    <link href="https://unsung.aresluna.org/slow-fast-third-thing" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/slow-fast-third-thing</id>
    <published>2026-01-15T04:04:56.184Z</published>
    <updated>2026-01-15T04:04:56.184Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Let’s say you are in Reeder (an RSS reader for iOS), looking at the list of posts, and already from the title you know you don’t care, and you want to mark it as read.</p>
<p>You can tap to see it and then swipe back the moment it shows. This is the slow path.</p>
<p>There is a faster path. Reeder enables you to slide right or left on the item. You get nice haptic feedback, and many apps support this kind of an interaction.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/slow-fast-third-thing/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/slow-fast-third-thing/1-framed.1600w.webm"></video></figure>
<p>But there is an even faster path. </p>
<p>You can tap to see it and <em>immediately</em> swipe back. Your thumb is already there on the left anyway, and the distance is a lot shorter now.</p>

<figure>
        <video poster="https://unsung.aresluna.org/_media/slow-fast-third-thing/2-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/slow-fast-third-thing/2-framed.1600w.webm"></video></figure>
<p>Like every advanced gesture this takes a bit of practice, but I noticed I started doing it instinctively, without even thinking.</p>
<p>This happening required two small design details: The original slide transition to be interruptible at any moment, and the app to support swatting/&#8203;draging the incoming item away even if my finger was nowhere near it. Both are clever, and both feel very welcome, because they enabled this emerging (to me) behaviour that made going through the list snappy without me even realizing.</p>
<p>This might be a good modus operandi: Think of the slow interaction. Think of its fast version. Then, think some more.</p>
<p>Nicely done, Reeder team. (Or, if this is a default iOS behaviour, nicely done, Apple!)</p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>Death of the bedroom coder</title>
    <link href="https://unsung.aresluna.org/death-of-the-bedroom-coder" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/death-of-the-bedroom-coder</id>
    <published>2026-01-15T02:11:18.778Z</published>
    <updated>2026-01-15T02:11:18.778Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure>
        <a href="https://www.youtube.com/watch?v=0JouTsMQsEA" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/death-of-the-bedroom-coder/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/death-of-the-bedroom-coder/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/death-of-the-bedroom-coder/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/death-of-the-bedroom-coder/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/death-of-the-bedroom-coder/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p><a href="https://www.youtube.com/watch?v=0JouTsMQsEA" target="_blank">A 16-minute video from Ahoy</a> from last year about Chris Sawyer, creator of Transport Tycoon and Rollercoaster Tycoon games from the late 1990s.</p>
<p>The video focuses more on the economics of the industry and some technical details, but what’s interesting to me was how <em>tight</em> those two games felt in terms of UI. They have a shared custom GUI, they are assembly-coded, and they felt perhaps like the last instance of a graphical user interface where it felt there was nothing standing between you and the pixels.</p>
<p>I know those are games and not productivity apps, but they can be inspiring for those, too. You can download <a href="https://www.openttd.org/" target="_blank">OpenTTD</a>, which is a modern recreation of Transport Tycoon Deluxe that doesn’t require emulation, and it still captures the snappy and tight feeling very well.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/death-of-the-bedroom-coder/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/death-of-the-bedroom-coder/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/death-of-the-bedroom-coder/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/death-of-the-bedroom-coder/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/death-of-the-bedroom-coder/1.1088w.avif" alt="" width="639" height="479">
      </picture></figure>
<p>I’m thinking about it in particular because the web took a lot of that away. The web loves latency and loose interactions and reflow and temporary fonts and CSS leaks and text sticking out of the box and many other papercuts. It’s nice to be reminded of the world where things were closer to the metal, and how that felt as a user.</p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Making repetitive things less tedious</title>
    <link href="https://unsung.aresluna.org/making-repetitive-things-less-tedious" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/making-repetitive-things-less-tedious</id>
    <published>2026-01-14T02:01:24.838Z</published>
    <updated>2026-01-14T02:01:24.838Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>One of my favourite recently-noticed little patterns is this one thoughtful accelerant in iOS Photos. </p>
<p>If you want to add a photo to an album, you normally have to choose from a list of albums:</p>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/1-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/1-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/1-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/1-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>However, once you do that one time, a new menu option appears. It’s effectively “Add again quickly to the album you just chose” (Fiałka is the name of my cat):</p>

<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/2-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/2-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/2-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/2-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<p>That skips the album selection altogether. It’s always only just one album you used more recently, so it’s relatively simple… but so helpful. You often, after all, want to add more stuff to the same album, and it saves you choosing the same album over and over again.</p>
<p>This is great because it flattens the option space to zero options, which mirrors how we all think when we’re focused. It’s tunnel vision exactly when you want it.</p>
<p>I have always been a fan of both “repeat”-type actions and smart “recent”s, and consider them a truly underappreciated secret weapon. Those little savings really add up over time – in saved time, in less tedium, and in avoided mistakes. (Imagine not only having to choose the same album for 30th time in a row, but also… making a mistake doing that and tapping on a wrong one! Then the frustration very quickly compounds, as you have to recover from something that felt completely avoidable.) </p>
<p>I always respect designers of interfaces that invest in functions like these. There is also an anti-corollary to this, which is: if there’s only one option, consider not even asking. Slack seems to excel (derogatory) here:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/3.1088w.avif" alt="" width="526" height="220">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/making-repetitive-things-less-tedious/4.1088w.avif" alt="" width="526" height="248">
      </picture></figure>
<p>The second one is somewhat defensible since it’s a settings dialog you enter at your own will, although the active “Re-generate answer” when I haven’t done anything (and nothing can be done) feels overbuilt.</p>
<p>But the first of these always appears on a way to other settings (like adding emoji), and it’s even worse than the <a href="https://unsung.aresluna.org/remember-me">Remember me?</a> examples because it repeatedly stops you for <em>absolutely no reason at all.</em></p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/ios/">#ios</a></p>]]></content>
  </entry>
  <entry>
    <title>Book review: Enshittification</title>
    <link href="https://unsung.aresluna.org/book-review-enshittification" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/book-review-enshittification</id>
    <published>2026-01-13T04:00:47.829Z</published>
    <updated>2026-01-13T04:00:47.829Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>★★★★☆</p>
<p>I liked <a href="https://us.macmillan.com/books/9780374619329/enshittification/" target="_blank">this book</a>. I consider Cory Doctorow a good, smart writer. He can put together one good sentence after another (“this is why the roads leading to Amazon depots are littered with sealed bottles of human urine”), he can tell stories of boring things in riveting ways, and he can connect various themes and events.</p>
<p>This last bit was a (positive) surprise. The book is a tour of what felt a more vast universe than I imagined. Turns out, the reasons for enshittification are complex and spanning many systems. There are case studies – most you’ve probably heard of – but this really feels like a <em>book </em>in that each one comes with extra depth: details, detours, history. The book travels through a lot of places and teaches quite a few things: computer history, arbitration laws, stock market, history of unions. I would not be surprised if everyone reading this finds a jumping off point to dig deeper into a certain area.</p>
<p>I also didn’t mind the tone – angry, but not <em>too</em> angry, blunt, but not cynical, with an entire section at the end dedicated to “now we rebuild” and some examples of what we’re already getting right.</p>
<p>Only two small complaints:</p>
<p>The book loses a bit of steam at the end. It might be simply that suggesting improvements is naturally harder than riveting stories of Things Gone Poorly, especially if those improvements are systemic and legal. But maybe it could just be a bit shorter.</p>
<p>Cory Doctorow also loves coinage, which – well, justified, seeing how the word that became the book’s title helped the idea travel! But there’s a lot of others words around: enshitternet, disenshittification, twiddling, chickenization… There’s this sentence in the book: “There’s something genuinely wonderful about workers who counter-twiddle their bosses’ apps and escape reverse-centaurism.” There are more like it. At this point, this feels like just bad UI.</p>
<p>But those are smaller things. Overall, this is worth a read. To me, it added a lot more higher-level understanding of systems and processes that lead to bad software (not an altitude level I find myself in), and packaged it nicely into a story.</p>
<p>I’m going to finish by listing a few passages that particularly stuck with me.</p>
<p>Page 34:</p>
<blockquote><p>Companies don’t treat you well because they’re “good” capitalists and they don’t abuse you because they’re “bad” capitalists. […] Companies abuse you <em>if they can get away with it.</em></p></blockquote>
<p>Page 51:</p>
<blockquote><p>Enshittification – deliberately worsening a service – is only possible when people value that service to begin with. Enshittification is a game of seeking an equilibrium between how much people like the thing that locks them to the service (often, that’s other people) and how much they hate the management of that service.</p></blockquote>
<p>Page 106:</p>
<blockquote><p>The death of competition […] doomed regulation. Competition is an essential component of effective regulation, for two reasons: First, competition keeps the companies within a sector from all telling the same lie to its regulators. Second, competition erodes companies’ profits and thus starves them of the capital they need to overpower or outmaneuver their regulators.</p></blockquote>
<p>Page 129:</p>
<blockquote><p>That long delay after you reach a web page but before it shows up in your browser? That’s the “surveillance lag,” the delay while all those [advertising] auctions are concluded. </p></blockquote>
<p>Okay, so maybe I don’t mind <em>all</em> of the newly minted words and coined terms. This one is sharp.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-enshittification/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-enshittification/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-enshittification/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-enshittification/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/book-review-enshittification/1.1088w.avif" alt="" width="466" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/book/">#book</a> <a href="https://unsung.aresluna.org/tags/book-review/">#book review</a> <a href="https://unsung.aresluna.org/tags/enshittification/">#enshittification</a> <a href="https://unsung.aresluna.org/tags/review/">#review</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>“A lot of nice little touches in UI design go unnoticed”</title>
    <link href="https://unsung.aresluna.org/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed</id>
    <published>2026-01-13T03:43:00.909Z</published>
    <updated>2026-01-13T03:43:00.909Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://daringfireball.net/2026/01/resizing_windows_macos_26" target="_blank">John Gruber</a> (<a href="https://daringfireball.net/linked/2026/01/12/macos-26-cut-corner" target="_blank">twice</a>) on macOS Tahoe rounded corners (<a href="https://unsung.aresluna.org/a-gesture-that-feels-unnatural-and-unintuitive">previously</a>), with a nice bit of archeology:</p>
<blockquote><p>It was, I’d argue, a small mistake for Apple to stop putting a visual affordance in the lower right corner of windows to show where to click to resize the window. It was a bigger mistake to change the scrollbars on MacOS to look and work like those on iOS — invisible, except while you’re actually scrolling (by default, that is — savvy Mac users <a href="https://www.macrumors.com/how-to/make-scroll-bars-always-visible/" target="_blank">keep them always visible</a>). The removal of the resize indicator happened long ago, in Mac OS X 10.7 Lion, released in July 2011.</p></blockquote>
<p>I can recall at least one place in macOS where you can still see the resize grabbers – it’s in column view in the Finder.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed/1.1088w.avif" alt="" width="800" height="491">
      </picture></figure>
<p>I still think sometimes of old Windows where all the 8 affordances for resizing were clearly visible. I know Windows 3.1 was generally kind of ugly, but I liked how they aligned with the title bar and the buttons:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-lot-of-nice-little-touches-in-ui-design-go-unnoticed/2.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>By the way, don’t love Gruber’s “Dyehoe” thing in the title. Feels Trumpian.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/finder/">#finder</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>“Everything possible to make this website as fast as they can”</title>
    <link href="https://unsung.aresluna.org/everything-possible-to-make-this-website-as-fast-as-they-can" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/everything-possible-to-make-this-website-as-fast-as-they-can</id>
    <published>2026-01-12T17:05:36.907Z</published>
    <updated>2026-01-12T17:05:36.907Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://www.youtube.com/watch?v=-Ln-8QM8KhQ" target="_blank">This 13-minute video from Wes Bos</a> analyzes this today-almost-mythical <a href="https://www.mcmaster.com/" target="_blank">McMaster-Carr website</a> and figures out why it’s so fast.</p>
<p>It’s perhaps more technical than what I usually link to, but shows what can happen if someone really cares about performance. What’s interesting to me is that the author posits that it’s actually <em>not</em> an old website that is fast because it’s old… it’s actually kind of a melange of various techniques throughout the decades, from vintage solutions like spriting images, to more modern like JavaScript’s page history API, or pre-caching DNS.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/everything-possible-to-make-this-website-as-fast-as-they-can/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/everything-possible-to-make-this-website-as-fast-as-they-can/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/everything-possible-to-make-this-website-as-fast-as-they-can/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/everything-possible-to-make-this-website-as-fast-as-they-can/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/everything-possible-to-make-this-website-as-fast-as-they-can/1.1088w.avif" alt="" width="687" height="700">
      </picture></figure>
<p>Just visiting the website and clicking around can be inspiring because it reminds one that we gained a lot of computing power and network speed over the last decades, but most websites squander it. Not this one.</p>
<p>And it’s sad this kind of approach of a website appearing <em>and not changing </em>(no reflow, no pop-ups, no endless spinners, no infinite scrolls) feels so rare.</p>
<p>However, two caveats: </p>
<p>At around 7:35, Wes says “nothing else moves”… Oh yeah, it does. It’s perhaps my curse that I notice these things.</p>
<p>Also, the homepage now has an animated, delayed green banner you can see at the photo above. I hope they’re not losing their way.</p><p><a href="https://unsung.aresluna.org/tags/performance/">#performance</a> <a href="https://unsung.aresluna.org/tags/web/">#web</a></p>]]></content>
  </entry>
  <entry>
    <title>“All comes down to one pixel”</title>
    <link href="https://unsung.aresluna.org/all-comes-down-to-one-pixel" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/all-comes-down-to-one-pixel</id>
    <published>2026-01-12T00:17:06.465Z</published>
    <updated>2026-01-12T00:17:06.465Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>When home computers were new, there was this enduring myth of “killer poke.” POKE was a pretty low-level BASIC command that allowed you to write any number to any place in the memory, as there was no memory protection. From that developed a set of myths of the right magical pairs of numbers that could be input and cause <em>permanent</em> damage to the hardware of the computer, shared in nerd circles almost like campfire stories.</p>
<p>Wikipedia has a pretty dry <a href="https://en.wikipedia.org/wiki/Killer_poke" target="_blank">set of those</a>. The most exciting one there is annotated with [citation needed], and the message seems to be: by the 1980s, this was no longer possible. Even in the earlier version of this idea, <a href="https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing)" target="_blank">Halt and Catch Fire</a>, the “catch fire” was an exaggeration. Before then? Sure, I bet some user actions could damage the computer, but computers themselves, with their high-voltage vector CRTs, electromechanical parts, and even liquid mercury tanks early on, were not that hard to damage.</p>
<p>Unsurprisingly, there are more modern versions of “killer poke,” too. At this point, the best they can do is crash or hang your operating system, but they are still chased, and coveted, and mysterious.</p>
<figure>
        <a href="https://www.youtube.com/watch?v=iXKvwPjCGnY" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/all-comes-down-to-one-pixel/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/all-comes-down-to-one-pixel/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/all-comes-down-to-one-pixel/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/all-comes-down-to-one-pixel/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/all-comes-down-to-one-pixel/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p><a href="https://www.youtube.com/watch?v=iXKvwPjCGnY" target="_blank">This 10-minute 2021 video from Mrwhosetheboss</a> is a fun story of a wallpaper that could crash your Android OS. I’m not going to spoil the surprise, but it’s not what I expected – although the moment you see the wallpaper in question, you might figure it out.</p>
<p>It’s a fun video, and of that good kind that actually teaches you something.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/all-comes-down-to-one-pixel/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/all-comes-down-to-one-pixel/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/all-comes-down-to-one-pixel/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/all-comes-down-to-one-pixel/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/all-comes-down-to-one-pixel/1.1088w.avif" alt="" width="735" height="322">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/android/">#android</a> <a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“A gesture that feels unnatural and unintuitive”</title>
    <link href="https://unsung.aresluna.org/a-gesture-that-feels-unnatural-and-unintuitive" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-gesture-that-feels-unnatural-and-unintuitive</id>
    <published>2026-01-11T21:31:22.811Z</published>
    <updated>2026-01-11T21:31:22.811Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A nice short analysis of <a href="https://noheger.at/blog/2026/01/11/the-struggle-of-resizing-windows-on-macos-tahoe/" target="_blank">window resizing in macOS Tahoe by Nobert Heger</a>:</p>
<blockquote><p>Since upgrading to macOS Tahoe, I’ve noticed that quite often my attempts to resize a window are failing. This never happened to me before in almost 40 years of using computers. So why all of a sudden?</p></blockquote>
<p>I understand this might be the casualty of the absurdly large border radii in the new macOS.</p>
<p>The little video in the middle made me laugh:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/a-gesture-that-feels-unnatural-and-unintuitive/1-thumbnail.avif" width="640" height="352" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-gesture-that-feels-unnatural-and-unintuitive/1.1600w.mp4"></video></figure>
<p>(I do think there <em>is</em> room for gestures triggered “outside” a window, and we’ve seen rotation and some specific flavors of resizing or cropping work this way in drawing and design apps across the last few decades – but one has to be careful. Often, those are secondary and/or for power users.)</p><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a></p>]]></content>
  </entry>
  <entry>
    <title>“The only way to win was to cheat.”</title>
    <link href="https://unsung.aresluna.org/the-only-way-to-win-was-to-cheat" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-only-way-to-win-was-to-cheat</id>
    <published>2026-01-11T15:42:41.477Z</published>
    <updated>2026-01-11T15:42:41.477Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure>
        <a href="https://www.youtube.com/watch?v=ZDPyzUCwhxo" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-only-way-to-win-was-to-cheat/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-only-way-to-win-was-to-cheat/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-only-way-to-win-was-to-cheat/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-only-way-to-win-was-to-cheat/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/the-only-way-to-win-was-to-cheat/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p><a href="https://www.youtube.com/watch?v=ZDPyzUCwhxo" target="_blank">A 6-minute video from JHR</a> about the 1980s British game Jet Set Willy, a big prize for its completion, the bug that made it unplayable, the copy protection, the hackers, and the mess of it all.</p><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“An email to the wrong Larry”</title>
    <link href="https://unsung.aresluna.org/an-email-to-the-wrong-larry" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/an-email-to-the-wrong-larry</id>
    <published>2026-01-11T02:49:22.126Z</published>
    <updated>2026-01-11T02:49:22.126Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I still sometimes think of the miracle that is Undo Send in Gmail.</p>
<p><a href="https://gmail.googleblog.com/2009/03/new-in-labs-undo-send.html" target="_blank">Michael Leggett announcing it in 2009</a>:</p>
<blockquote><p>This feature can’t pull back an email that’s already gone; it just holds your message for five seconds so you have a chance to hit the panic button. And don’t worry – if you close Gmail or your browser crashes in those few seconds, we’ll still send your message.</p></blockquote>
<p>There’s so much cleverness hiding in here: recognizing that this particular flavour of <a href="https://en.wikipedia.org/wiki/L%27esprit_de_l%27escalier" target="_blank">l’esprit de l’escalier</a> exists, shifting time from the past to the near future, the repurposing of the undo branding, the fallback if things go wrong.</p>
<p>There was, I imagine, even the challenge of having to forget about the <em>previous</em> version of this feature elsewhere, which were the awful emails with RECALL: in the title, which I think maybe only worked in Outlookk, if at all? (Everyone else suffered like green bubble people do today.) I don’t know. Sometimes the biggest hurdle to a great idea is blocking bad execution you already know from your head. On the other hand, sometimes someone else’s bad execution can be motivating.</p>
<p>I even think that <em>not</em> using ⌘Z for this was a clever idea. ⌘Z without text editing context/&#8203;focus can be really tricky. Do you remember when Safari had ⌘Z to bring back last closed tab before they came to their senses and used ⌘⇧T like Chrome?</p>
<p>It <em>is</em> sometimes harrowing when you want to click it Undo Send and just miss it – keyboard is more precise here – but not sure ⌘Z would register here. Even Esc would be tricky.</p>
<p>I miss when Gmail was in the “young and open to trying new things” phase.</p><p><a href="https://unsung.aresluna.org/tags/errors/">#errors</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/undo/">#undo</a></p>]]></content>
  </entry>
  <entry>
    <title>Sins of our Finders, pt. 3</title>
    <link href="https://unsung.aresluna.org/sins-of-our-finders-pt-3" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/sins-of-our-finders-pt-3</id>
    <published>2026-01-10T15:06:21.952Z</published>
    <updated>2026-01-10T15:06:21.952Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This appeared when trying to delete (even when trying to Delete Immediately, skipping the trash altogether):</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-3/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-3/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-3/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-3/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-3/1.1088w.avif" alt="" width="516" height="196">
      </picture></figure>
<p>Same thing right after, when trying to tag some existing items, for which I don’t imagine any new space should be necessary:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-3/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-3/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-3/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-3/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-3/2.1088w.avif" alt="" width="372" height="348">
      </picture></figure>
<p>Also, why are these dialogs so different?</p>
<p>I feel like not so long ago there were literal <a href="https://guidebookgallery.org/books/guibloopers" target="_blank">books</a> making fun of bad dialogs like these.</p>
<p class="credit">Reported to Apple as FB21509633.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/finder/">#finder</a> <a href="https://unsung.aresluna.org/tags/sins-of-our-finders/">#sins of our finders</a></p>]]></content>
  </entry>
  <entry>
    <title>Amiga Pointer Archive</title>
    <link href="https://unsung.aresluna.org/amiga-pointer-archive" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/amiga-pointer-archive</id>
    <published>2026-01-10T15:01:29.554Z</published>
    <updated>2026-01-10T15:01:29.554Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have been wondering the other day why aren’t there more mouse pointer museums and <a href="https://heckmeck.de/pointers/" target="_blank">here’s one – Amiga Pointer Archive</a>! (Amiga was a 16-bit home computer especially popular in Europe.)</p>
<p>Doesn’t work so well on mobile, but it’s fun on desktop. I recommend zooming the page to 200%.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/amiga-pointer-archive/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/amiga-pointer-archive/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/amiga-pointer-archive/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/amiga-pointer-archive/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/amiga-pointer-archive/1.1088w.avif" alt="" width="596" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mouse/">#mouse</a></p>]]></content>
  </entry>
  <entry>
    <title>TV show review: Mr. Bates Vs. The Post Office</title>
    <link href="https://unsung.aresluna.org/tv-show-review-mr-bates-vs-the-post-office" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/tv-show-review-mr-bates-vs-the-post-office</id>
    <published>2026-01-09T17:25:04.687Z</published>
    <updated>2026-01-09T17:25:04.687Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>★★★★☆ (as a TV show) <br>
★★★☆☆ (for the purposes of this blog)</p>
<p>2024, 4 episodes ~50 minutes each</p>
<p>During my year at Code For America, I saw many glimpses of truly bad technology – slow courtroom computers, infuriating interfaces, obsolete specs, and the inevitable layer of remote access GUIs atop it all that made everything worse. As much as I hated some of the consumer apps on my top-of-the-shelf iPhone back then – I saw things that were a lot more harrowing.</p>
<p>This British show from 2024 dramatizes the <a href="https://unsung.aresluna.org/every-time-user-pressed-enter-at-a-frozen-interface-screen">UK Post Office scandal I just learned about</a>, in four one-hour episodes, and highlights how those kinds of things actually affect most people who aren’t tech-savvy.</p>
<p>As a TV show, it’s gripping and well done. Toby Jones is marvellous, and Monica Dolan, whom I didn’t know of before, is a standout. The many awards won here are deserved.</p>
<p>Unfortunately, for the purposes of this blog, the show is lacking something: either the other side of the story (what were the systemic or structural problems that allowed this to happen inside The Post Office and Fujitsu?), or the technical details of the bugs (those are barely even mentioned to begin with). The exemplary last episode of <em>Chernobyl </em>solved this brilliantly in the courtroom, connecting the human drama with the technological and scientific underpinnings. I missed something like that here.</p>
<p>Still, the core (sorry, pun really not intended) of <em>Chernobyl</em> is not about the AZ-5 button or the positive void coefficient, and the Horizon scandal shouldn’t be reduced to bugs either. Overall, it’s not an easy watch, but worth seeing this to remind ourselves of powerlessness of people against both bad technology and bad systems, the challenges and power of collective action, and how much damage bad software can <em>really</em> do.</p>
<p>In America, <a href="https://www.pbs.org/wgbh/masterpiece/shows/mr-bates-vs-the-post-office/" target="_blank">the show</a> is available on iTunes and on Amazon Prime.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tv-show-review-mr-bates-vs-the-post-office/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/tv-show-review-mr-bates-vs-the-post-office/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tv-show-review-mr-bates-vs-the-post-office/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/tv-show-review-mr-bates-vs-the-post-office/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/tv-show-review-mr-bates-vs-the-post-office/1.1088w.avif" alt="" width="800" height="450">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/movie-review/">#movie review</a> <a href="https://unsung.aresluna.org/tags/review/">#review</a></p>]]></content>
  </entry>
  <entry>
    <title>In stereo, where available</title>
    <link href="https://unsung.aresluna.org/in-stereo-where-available" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/in-stereo-where-available</id>
    <published>2026-01-09T05:46:40.856Z</published>
    <updated>2026-01-09T05:46:40.856Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>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). </p>
<p>Put the little captcha box in the middle of the screen and that’s it. Nothing else feels necessary. A great example of an <a href="https://unsung.aresluna.org/fight-my-way-through-it-all-again">insecure interface</a>.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/in-stereo-where-available/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/in-stereo-where-available/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/in-stereo-where-available/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/in-stereo-where-available/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/in-stereo-where-available/1.1088w.avif" alt="" width="800" height="579">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/security/">#security</a></p>]]></content>
  </entry>
  <entry>
    <title>“Every time user pressed Enter at a frozen interface screen”</title>
    <link href="https://unsung.aresluna.org/every-time-user-pressed-enter-at-a-frozen-interface-screen" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/every-time-user-pressed-enter-at-a-frozen-interface-screen</id>
    <published>2026-01-08T15:58:21.188Z</published>
    <updated>2026-01-08T15:58:21.188Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have never before heard of <a href="https://www.computerweekly.com/feature/Post-Office-Horizon-scandal-explained-everything-you-need-to-know" target="_blank">this story</a> 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 <a href="https://en.wikipedia.org/wiki/British_Post_Office_scandal" target="_blank">Wikipedia</a>:</p>
<blockquote><p>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.</p></blockquote>
<p>Some of these bugs sound absolutely horrendous, and remind me of <a href="https://en.wikipedia.org/wiki/Therac-25" target="_blank">Therac-25</a>:</p>
<blockquote><p>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.</p></blockquote>
<p>This bit feels absolutely crucial and it seemed to me we have learned this lesson decades ago:</p>
<blockquote><p>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.</p></blockquote>
      <figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/every-time-user-pressed-enter-at-a-frozen-interface-screen/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/every-time-user-pressed-enter-at-a-frozen-interface-screen/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/every-time-user-pressed-enter-at-a-frozen-interface-screen/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/every-time-user-pressed-enter-at-a-frozen-interface-screen/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/every-time-user-pressed-enter-at-a-frozen-interface-screen/1.1088w.avif" alt="" width="640" height="480">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>Fonts have bugs, too</title>
    <link href="https://unsung.aresluna.org/fonts-have-bugs-too" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/fonts-have-bugs-too</id>
    <published>2026-01-07T14:30:44.339Z</published>
    <updated>2026-01-07T14:30:44.339Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>You might not encounter them often in polished fonts unless you’re knee-deep into typography, but: fonts have bugs, too.</p>
<p><a href="https://typo.social/@paulvanderlaan/115853104428818247" target="_blank">Paul van der Laan on Mastodon</a>:</p>
<blockquote><p>Did anyone ever notice that Avenir LT has some serious errors in the descender lengths of p and q in certain weights?</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fonts-have-bugs-too/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fonts-have-bugs-too/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fonts-have-bugs-too/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fonts-have-bugs-too/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/fonts-have-bugs-too/1.1088w.avif" alt="" width="491" height="567">
      </picture></figure>
<p>Florian Hardwig adds:</p>
<blockquote><p>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.</p></blockquote>
<p>Downthread there’s an original Avenir drawing that for some reason I found very evocative:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fonts-have-bugs-too/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fonts-have-bugs-too/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fonts-have-bugs-too/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fonts-have-bugs-too/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/fonts-have-bugs-too/2.1088w.avif" alt="" width="523" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>A new (old) kind of keyboard</title>
    <link href="https://unsung.aresluna.org/a-new-old-kind-of-keyboard" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-new-old-kind-of-keyboard</id>
    <published>2026-01-07T12:56:07.625Z</published>
    <updated>2026-01-07T12:56:07.625Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>The first iPhone famously introduced the soft keyboard, which could change its shape <a href="https://www.bennadel.com/blog/1721-default-to-the-numeric-email-and-url-keyboards-on-the-iphone.htm" target="_blank">depending on the need</a>. 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.</p>
<p><a href="https://bear.app/" target="_blank">Bear</a> (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 <a href="https://www.elgato.com/us/en/p/stream-deck" target="_blank">StreamDeck</a> or <a href="https://arstechnica.com/gadgets/2024/01/figmas-creator-micro-made-me-a-macro-pad-person-with-its-colorful-clicky-keys/)" target="_blank">Figma Creator Micro</a>). 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. </p>
<p>(It also cleverly closes itself upon some actions like introducing a divider, but stays put for bolding, indentation, etc.)</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/a-new-old-kind-of-keyboard/1-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-new-old-kind-of-keyboard/1-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-new-old-kind-of-keyboard/1-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/a-new-old-kind-of-keyboard/1-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/a-new-old-kind-of-keyboard/2-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-new-old-kind-of-keyboard/2-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-new-old-kind-of-keyboard/2-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/a-new-old-kind-of-keyboard/2-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure><p><a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>“It’s hard to do a drive-by on your feet.”</title>
    <link href="https://unsung.aresluna.org/its-hard-to-do-a-drive-by-on-your-feet" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/its-hard-to-do-a-drive-by-on-your-feet</id>
    <published>2026-01-07T04:51:29.510Z</published>
    <updated>2026-01-07T04:51:29.510Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Perhaps the only ever musical that’s about a buggy piece of software. From the inimitable Cabel Sasser, <a href="https://www.youtube.com/watch?v=9l_YN-yRCVY" target="_blank">this 2006 video about Saints Row</a>, with <em>three</em> songs and a goddamn <em>reprise</em> at the end. </p>
<p>It’s very good.</p>
<blockquote><p>my car door’s freaking out <br>
it seems to be forever in the concrete barricade<br>
I wonder how I’m ever gonna drive away <br>
this really is isn’t my day <br>
the sparks are flying<br>
people dying <br>
metal frying <br>
and I wonder if there’s more to life <br>
or if I’ll find that this is really it <br>
this game is a piece of work</p></blockquote>
<figure>
        <a href="https://www.youtube.com/watch?v=9l_YN-yRCVY" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-hard-to-do-a-drive-by-on-your-feet/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/its-hard-to-do-a-drive-by-on-your-feet/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/its-hard-to-do-a-drive-by-on-your-feet/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/its-hard-to-do-a-drive-by-on-your-feet/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/its-hard-to-do-a-drive-by-on-your-feet/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/humor/">#humor</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>A clever disambiguation detail</title>
    <link href="https://unsung.aresluna.org/a-clever-disambiguation-detail" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-clever-disambiguation-detail</id>
    <published>2026-01-06T03:55:34.049Z</published>
    <updated>2026-01-06T03:55:34.049Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Was always so inspired by this pattern in Mac OS – showing me an extra bit of information only and <em>exactly</em> when it was needed:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-clever-disambiguation-detail/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-clever-disambiguation-detail/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-clever-disambiguation-detail/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-clever-disambiguation-detail/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-clever-disambiguation-detail/1.1088w.avif" alt="" width="800" height="284">
      </picture></figure>
<p>I just saw a version of it in Nova, the text editor:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-clever-disambiguation-detail/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-clever-disambiguation-detail/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-clever-disambiguation-detail/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-clever-disambiguation-detail/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-clever-disambiguation-detail/2.1088w.avif" alt="" width="800" height="60">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>Fav tech museums</title>
    <link href="https://unsung.aresluna.org/fav-tech-museums" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/fav-tech-museums</id>
    <published>2026-01-06T02:34:50.245Z</published>
    <updated>2026-01-06T02:34:50.245Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I hope it’s okay for me to link to my work once in a while. </p>
<p>Today, <a href="https://aresluna.org/fav-tech-museums" target="_blank">I published a photo essay about my favourite tech museums</a>. 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.</p>
<p>If you are interested specifically in software, the <a href="https://aresluna.org/fav-tech-museums/#acmi" target="_blank">ACMI part</a> has some of good examples of integration of software in invisible, delightful ways.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fav-tech-museums/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fav-tech-museums/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fav-tech-museums/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fav-tech-museums/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/fav-tech-museums/1.1088w.avif" alt="" width="754" height="430">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/case-study/">#case study</a> <a href="https://unsung.aresluna.org/tags/museum/">#museum</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“And they can’t even agree on the direction of an arrow.”</title>
    <link href="https://unsung.aresluna.org/and-they-cant-even-agree-on-the-direction-of-an-arrow" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/and-they-cant-even-agree-on-the-direction-of-an-arrow</id>
    <published>2026-01-06T02:21:14.256Z</published>
    <updated>2026-01-06T02:21:14.256Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://tonsky.me/blog/tahoe-icons/" target="_blank">Yet another good post by Nikita Prokopov</a>, continuing the theme of icons in Mac OS Tahoe (<a href="https://unsung.aresluna.org/apple-abandons-its-own-guidance">previously</a>), going into more depth:</p>
<blockquote><p>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.</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-they-cant-even-agree-on-the-direction-of-an-arrow/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-they-cant-even-agree-on-the-direction-of-an-arrow/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-they-cant-even-agree-on-the-direction-of-an-arrow/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-they-cant-even-agree-on-the-direction-of-an-arrow/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/and-they-cant-even-agree-on-the-direction-of-an-arrow/1.1088w.avif" alt="" width="800" height="602">
      </picture></figure>
<p>I always liked this kind of an exercise:</p>
<blockquote><p>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:</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-they-cant-even-agree-on-the-direction-of-an-arrow/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-they-cant-even-agree-on-the-direction-of-an-arrow/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-they-cant-even-agree-on-the-direction-of-an-arrow/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-they-cant-even-agree-on-the-direction-of-an-arrow/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/and-they-cant-even-agree-on-the-direction-of-an-arrow/2.1088w.avif" alt="" width="300" height="532">
      </picture></figure>
<p>Also, this must hurt:</p>
<blockquote><p>Microsoft used to know this.</p></blockquote>
<p>Nick Heer <a href="https://pxlnv.com/linklog/tahoe-icons-inconsistent-confusing-illegible/" target="_blank">at the excellent Pixel Envy</a>, commenting on the above post, adds:</p>
<blockquote><p>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.</p></blockquote>
<p class="credit">Thank you to Scott and Ezra.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/nick-heer/">#nick heer</a> <a href="https://unsung.aresluna.org/tags/nikita-prokopov/">#nikita prokopov</a></p>]]></content>
  </entry>
  <entry>
    <title>Fun interface on my bike</title>
    <link href="https://unsung.aresluna.org/fun-interface-on-my-bike" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/fun-interface-on-my-bike</id>
    <published>2026-01-05T02:46:05.851Z</published>
    <updated>2026-01-05T02:46:05.851Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>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.</p>
<p>(Apologies for a shoddy video.)</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/fun-interface-on-my-bike/1-thumbnail.avif" width="394" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/fun-interface-on-my-bike/1.1600w.mp4"></video></figure><p><a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“Just 3 days before the deadline, I discovered something horrible.”</title>
    <link href="https://unsung.aresluna.org/just-3-days-before-the-deadline-i-discovered-something-horrible" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/just-3-days-before-the-deadline-i-discovered-something-horrible</id>
    <published>2026-01-04T03:28:29.613Z</published>
    <updated>2026-01-04T03:28:29.613Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A <a href="https://fabiensanglard.net/sf2_warrier/" target="_blank">really fun 2021 story by Fabien Sanglard</a> at the perfect-for-me intersection of bugs and typography. </p>
<p>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.”</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-3-days-before-the-deadline-i-discovered-something-horrible/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/just-3-days-before-the-deadline-i-discovered-something-horrible/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-3-days-before-the-deadline-i-discovered-something-horrible/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/just-3-days-before-the-deadline-i-discovered-something-horrible/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/just-3-days-before-the-deadline-i-discovered-something-horrible/1.1088w.avif" alt="" width="800" height="467">
      </picture></figure>
<p>The typo was there for months and no one noticed. But the moment it <em>was</em> noticed, the graphic ROMs were already burned and impossible to change, and the code was due in three days.</p>
<p>What would you do? I’ll let you click through to read, but I really enjoyed this short story.</p><p><a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a></p>]]></content>
  </entry>
  <entry>
    <title>Remember me?</title>
    <link href="https://unsung.aresluna.org/remember-me" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/remember-me</id>
    <published>2026-01-03T17:44:38.802Z</published>
    <updated>2026-01-03T17:44:38.802Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>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.</p>
<p>My go-to examples? Apple’s Remote Desktop which always throws this thing up on connection:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/remember-me/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/remember-me/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/remember-me/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/remember-me/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/remember-me/1.1088w.avif" alt="" width="542" height="415">
      </picture></figure>
<p>And this in Photoshop upon saving a PNG file, which has been there forever:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/remember-me/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/remember-me/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/remember-me/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/remember-me/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/remember-me/2.1088w.avif" alt="" width="493" height="283">
      </picture></figure>
<p>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/&#8203;decades, even though they serve no purpose for me.</p>
<p>(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.)</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>Book review: Laws of UX (2nd ed.)</title>
    <link href="https://unsung.aresluna.org/book-review-laws-of-ux-2nd-ed" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/book-review-laws-of-ux-2nd-ed</id>
    <published>2026-01-03T16:55:28.836Z</published>
    <updated>2026-01-03T16:55:28.836Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>★★★☆☆</p>
<p>I was delighted by the Laws of UX website when it came out. The site was beautiful (<a href="https://lawsofux.com/" target="_blank">it still is</a>!) and it felt important to bring some of this stuff to designers earlier in their careers.</p>
<p>But <a href="https://lawsofux.com/book/" target="_blank">the book</a> 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. </p>
<p>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.</p>
<p>I was disagreeing with the book often. For example, I felt the chapter about Doherty Threshold is teaching the wrong lessons (100ms is <em>not</em> 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.</p>
<p>I also started worrying that the book doesn’t fully understand how design works. From the very first page:</p>
<blockquote><p>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.</p></blockquote>
<p>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.</p>
<p>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.</p>
<p>On the positive side: I think what the book is <em>trying </em>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.</p>
<p>I also learned some new things from it! I have never heard of <a href="https://unsung.aresluna.org/accidents-dropped-to-zero-overnight">shape coding</a> 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.</p>
<p>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.</p>
<p>But today, I would rather recommend <a href="https://jonyablonski.bigcartel.com/product/laws-of-ux-index-poster" target="_blank">the beautiful poster</a> that seems more true to what the website was trying to aim for.</p>

<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-laws-of-ux-2nd-ed/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-laws-of-ux-2nd-ed/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-laws-of-ux-2nd-ed/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-laws-of-ux-2nd-ed/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/book-review-laws-of-ux-2nd-ed/1.1088w.avif" alt="" width="525" height="700">
      </picture></figure>
<p>In terms of how I would improve the book:</p>
<ul class="long-list">
        <li>Have it reviewed by someone who actually lives and breathes this stuff for living.</li>
        <li>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.</li>
        <li>Either get deeper into more specific and deeper examples for most of the stuff, or make it drastically shorter.</li>
        <li>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.”</li>
        <li>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.</li>
      </ul>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-laws-of-ux-2nd-ed/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-laws-of-ux-2nd-ed/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-laws-of-ux-2nd-ed/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-laws-of-ux-2nd-ed/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/book-review-laws-of-ux-2nd-ed/2.1088w.avif" alt="" width="467" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/book/">#book</a> <a href="https://unsung.aresluna.org/tags/book-review/">#book review</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a> <a href="https://unsung.aresluna.org/tags/review/">#review</a></p>]]></content>
  </entry>
  <entry>
    <title>Sins of our Finders, pt. 2</title>
    <link href="https://unsung.aresluna.org/sins-of-our-finders-pt-2" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/sins-of-our-finders-pt-2</id>
    <published>2026-01-03T05:04:38.866Z</published>
    <updated>2026-01-03T05:04:38.866Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>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 <em>and</em> type the desired name.</p>
<p>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.</p>
<p>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.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-2/1-thumbnail.avif" width="800" height="612" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-2/1.1600w.mp4"></video></figure>
<p class="credit">Reported to Apple as FB21509667.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/sins-of-our-finders/">#sins of our finders</a></p>]]></content>
  </entry>
  <entry>
    <title>“I was inspired by the Comic Sans typeface”</title>
    <link href="https://unsung.aresluna.org/i-was-inspired-by-the-comic-sans-typeface" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/i-was-inspired-by-the-comic-sans-typeface</id>
    <published>2026-01-03T03:36:29.565Z</published>
    <updated>2026-01-03T03:36:29.565Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>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.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-was-inspired-by-the-comic-sans-typeface/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-was-inspired-by-the-comic-sans-typeface/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-was-inspired-by-the-comic-sans-typeface/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/i-was-inspired-by-the-comic-sans-typeface/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/i-was-inspired-by-the-comic-sans-typeface/1.1088w.avif" alt="" width="800" height="395">
      </picture></figure>
<p>This feels like the opposite: <a href="https://shantellsans.com/process" target="_blank">an actual personal font announcement of Shantell Sans</a> that made me feel things. From Shantell Martin:</p>
<blockquote><p>When I was 20 or 21, I found out that I was dyslexic. When I started my art degree at <a href="https://www.arts.ac.uk/colleges/central-saint-martins" target="_blank">Central Saint Martins</a> 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.</p></blockquote>
<p>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.</p>
<p>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.</p>
<p>Just well done all around.</p>
<p>(Also, I hate Comic Sans, so having something new in the same vein will be genuinely useful.)</p><p><a href="https://unsung.aresluna.org/tags/case-study/">#case study</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>“Christmas lights diarrhea”</title>
    <link href="https://unsung.aresluna.org/christmas-lights-diarrhea" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/christmas-lights-diarrhea</id>
    <published>2026-01-03T03:26:51.701Z</published>
    <updated>2026-01-03T03:26:51.701Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I was just looking at some old 1980s screenshots and wondering “why don’t you ever see syntax highlighting in <a href="https://en.wikipedia.org/wiki/Reverse_video" target="_blank">inverse video</a>”? And then I randomly stumbled upon <a href="https://tonsky.me/blog/syntax-highlighting/" target="_blank">this deep dive into syntax highlighting from Nikita Prokopov</a>.</p>
<p>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.</p>
<blockquote><p>Highlighting everything is like assigning “top priority” to every task in Linear. It only works if most of the tasks have lesser priorities.</p></blockquote>
<p>I thought the mention that comments should be visually promoted, not demoted, was particularly insightful. </p>
<p>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.</p>
<p>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.</p><p><a href="https://unsung.aresluna.org/tags/coding/">#coding</a> <a href="https://unsung.aresluna.org/tags/colors/">#colors</a> <a href="https://unsung.aresluna.org/tags/nikita-prokopov/">#nikita prokopov</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>A tale of two import windows</title>
    <link href="https://unsung.aresluna.org/a-tale-of-two-import-windows" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-tale-of-two-import-windows</id>
    <published>2026-01-02T04:01:52.083Z</published>
    <updated>2026-01-02T04:01:52.083Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Bear – beautiful, whimsical, delightful, but dry on the details. This window was on the screen for many minutes:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tale-of-two-import-windows/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tale-of-two-import-windows/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tale-of-two-import-windows/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tale-of-two-import-windows/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-tale-of-two-import-windows/1.1088w.avif" alt="" width="741" height="700">
      </picture></figure>
<p>Obsidian (or, at least, the suggested Obsidian Apple Notes import plugin) – functional, informative, precise, but a bit on an uglier side:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tale-of-two-import-windows/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tale-of-two-import-windows/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tale-of-two-import-windows/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tale-of-two-import-windows/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-tale-of-two-import-windows/2.1088w.avif" alt="" width="648" height="622">
      </picture></figure>
<p>As the meme goes, why not both?</p><p><a href="https://unsung.aresluna.org/tags/bear/">#bear</a> <a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>“Accidents dropped to zero overnight.”</title>
    <link href="https://unsung.aresluna.org/accidents-dropped-to-zero-overnight" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/accidents-dropped-to-zero-overnight</id>
    <published>2026-01-01T22:54:23.526Z</published>
    <updated>2026-01-01T22:54:23.526Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://uxdesign.cc/pilot-error-and-the-shape-of-things-to-come-2128d6c6bcb1" target="_blank">A 2021 article by David Hall about shape coding</a>:</p>
<blockquote><p>Chapanis began interviewing pilots who had crashed B-17s and B-25s and a pattern emerged that turned his attention to the controls within the cockpit. As Fitts said ‘the intense effort to produce new weapons, the race against time in industrial production, and the magnitude of the program required to train men to operate these new machines resulted inevitably in many instances in which the final man-machine combination failed to function effectively.’</p>
<p>What Chapanis found when inspecting the cockpits of these planes were two identical toggle switches side by side, one for the landing gear, the other for the landing flaps. These controls were also similar in size and shape. […]</p>
<p>He modified the landing gear control by adding a wheel-shaped knob and a wedge like shape to the wing flap control. Now pilots could feel and easily map the shape to the intended purpose. […] Chapanis had solved a real life and death issue with one brilliant insight.</p></blockquote>
<p>Chapanis was a contemporary of Fitts of Fitts’s Law fame. </p>
<p>I forgot this was called “shape coding,” or perhaps I never knew that? I have employed and sometimes pushed for a similar thing, but I called it making sure things have “distinct visual signature” or something like this. I think “shape coding” would be a more appropriate term.</p>
<p>The article shows one simple UX example – I would love to learn more about who’s employing this deliberately. It is, after all, the opposite force to consistency, and I’m always interested in negotiating with consistency.</p><p><a href="https://unsung.aresluna.org/tags/ergonomics/">#ergonomics</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“Confusing, distracting, and aesthetically upsetting”</title>
    <link href="https://unsung.aresluna.org/confusing-distracting-and-aesthetically-upsetting" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/confusing-distracting-and-aesthetically-upsetting</id>
    <published>2025-12-30T04:38:27.422Z</published>
    <updated>2025-12-30T04:38:27.422Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://eclecticlight.co/2025/12/28/last-year-on-my-mac-look-back-in-disbelief/" target="_blank">A thoughtful look at macOS 26’s application of Liquid Glass</a> by Howard Oakley:</p>
<blockquote><p>I’m sure that, in the right place and time, transparency effects of Liquid Glass can be visually pleasing. Not only is this the wrong time and place, but those with visual impairment can no longer remove or even reduce these effects, as the Reduce Transparency control in Accessibility settings no longer reduces transparency in any useful way. </p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/confusing-distracting-and-aesthetically-upsetting/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/confusing-distracting-and-aesthetically-upsetting/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/confusing-distracting-and-aesthetically-upsetting/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/confusing-distracting-and-aesthetically-upsetting/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/confusing-distracting-and-aesthetically-upsetting/1.1088w.avif" alt="" width="800" height="116">
      </picture></figure>
<p>I have heard so many bad things about Liquid Glass specifically on Tahoe that I’m holding on and not updating at this time. Something tells me I might have to skip a version or two altogether, which feels unprecedented in the modern Apple times.</p><p><a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>Got your back, pt. 2</title>
    <link href="https://unsung.aresluna.org/got-your-back-pt-2" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/got-your-back-pt-2</id>
    <published>2025-12-29T23:22:34.196Z</published>
    <updated>2025-12-29T23:22:34.196Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A thoughful moment in Buttondown. Gmail’s truncation has been going on for decades, and I have no idea why they still do this. Even the overflow interface for a truncated email is awful – the rest of it doesn’t appear in situ, but it opens a new window that where you have to start from the top.</p>
<p>So it’s nice that Buttodown warns you about it.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/got-your-back-pt-2/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/got-your-back-pt-2/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/got-your-back-pt-2/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/got-your-back-pt-2/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/got-your-back-pt-2/1.1088w.avif" alt="" width="474" height="87">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/got-your-back/">#got your back</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>A tiny bit old Windows got right</title>
    <link href="https://unsung.aresluna.org/a-tiny-bit-old-windows-got-right" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-tiny-bit-old-windows-got-right</id>
    <published>2025-12-29T17:30:44.846Z</published>
    <updated>2025-12-29T17:30:44.846Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>One thing I really admired in earlier versions of Windows was the thing that was also its weak point: the keyboard orientation.</p>
<p>I miss the old tradition in Windows where many commands had underlined letters, and you could simply press Alt and that letter to jump to it:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/1.1088w.avif" alt="" width="800" height="600">
      </picture></figure>
<p>If I remember correctly, eventually this got simplified so that the underlines were only there when you held Alt (although I bet there was an option to keep showing it all the time).</p>
<p>Opening Windows 11 today, it feels like the system got less elegant. I can still press Alt and stuff happens, but it doesn’t look nearly as good or tightly integrated, and the two alternate entry points (Alt and the keyboard shortcuts) become muddled: </p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/2.1088w.avif" alt="" width="800" height="460">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/3.1088w.avif" alt="" width="456" height="700">
      </picture></figure>
<p>In the meantime, on a Mac, in various places apps reinvent the wheel by their own thing.</p>
<p>I just saw this in Nova, the code editor, which is very thoughtful; those shortcuts only exist within this dialog (and one wonders if they couldn’t just be letters without modifiers)?</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/4.1088w.avif" alt="" width="405" height="318">
      </picture></figure>
<p>A little more old-fashioned from Photoshop, and the same question: could they just not be digits, without requiring ⌥?</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/5.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/5.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/5.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/5.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/a-tiny-bit-old-windows-got-right/5.1088w.avif" alt="" width="329" height="251">
      </picture></figure>
<p><a href="https://unsung.aresluna.org/p-s">Previously</a>, I mentioned yet another idea from DevonThink.</p>
<p>I appreciate these gestures toward moving faster via a keyboard, but I wonder if we lost something that already used to work well in old Windows.</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/windows/">#windows</a></p>]]></content>
  </entry>
  <entry>
    <title>A nice moment in screenshotting on iOS</title>
    <link href="https://unsung.aresluna.org/a-nice-moment-in-screenshotting-on-ios" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/a-nice-moment-in-screenshotting-on-ios</id>
    <published>2025-12-28T19:17:02.061Z</published>
    <updated>2025-12-28T19:17:02.061Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>In iOS, I like how cropping quietly snaps to things that look like borders, with gentle haptics, without announcing anything:</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/a-nice-moment-in-screenshotting-on-ios/1-framed-thumbnail.avif" width="349" height="700" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/a-nice-moment-in-screenshotting-on-ios/1-framed.1600w.webm"></video></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/ios/">#ios</a> <a href="https://unsung.aresluna.org/tags/touch/">#touch</a></p>]]></content>
  </entry>
  <entry>
    <title>“And waited for the rest of the world to catch up. And waited.”</title>
    <link href="https://unsung.aresluna.org/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited</id>
    <published>2025-12-27T03:10:11.245Z</published>
    <updated>2025-12-27T03:10:11.245Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure>
        <a href="https://www.youtube.com/watch?v=MesMQ6t9ODM" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p><a href="https://www.youtube.com/watch?v=MesMQ6t9ODM" target="_blank">A funny 12-minute video by Chris Spargo</a> about why traffic signs in the world are standardized only to some extent. This was interesting to me generally in the context of Europe being more iconographic, and America being more “word-y” in their sign design, which extends to devices, keyboards, and (presumably?) software.</p>
<blockquote><p>The story why [the old STOP sign] got replaced by the American version is also the story why the rest of our signs still look different, and why they probably always will.</p></blockquote>
      <figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/and-waited-for-the-rest-of-the-world-to-catch-up-and-waited/1.1088w.avif" alt="" width="800" height="274">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a> <a href="https://unsung.aresluna.org/tags/localization/">#localization</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Sins of our Finders, pt. 1</title>
    <link href="https://unsung.aresluna.org/sins-of-our-finders-pt-1" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/sins-of-our-finders-pt-1</id>
    <published>2025-12-26T23:02:48.267Z</published>
    <updated>2025-12-26T23:02:48.267Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><em>I am starting to collect all the problems I routinely find in Finder. I can think of ~15 off the top of my head; maybe this will turn into an essay of sorts. I hope this isn’t too boring for you.</em></p>
<p>Sometimes Finder takes a really long time to update the list of files after something changed it.</p>
<p>All my screenshots go to a specific folder. In these videos, you can see me taking screenshots with ⌘⇧4 while looking at the folder where they arrive.</p>
<p>The first one is fast – just as fast as it should be. The ones after that arrive with a few seconds of delay that feels completely random.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-1/1-thumbnail.avif" width="800" height="580" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-1/1.1600w.mp4"></video></figure>
<p>But this is nothing compared to this, just a few minutes later, where the delay was over 50 seconds. Nothing changed. The computer was not under load.</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-1/2-thumbnail.avif" width="800" height="580" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/sins-of-our-finders-pt-1/2.1600w.mp4"></video></figure>
<p>This happens routinely and feels completely random.</p>
<p>There is also, as far as I know, no way to force a re-sync with a keystroke or a button or a pull-down gesture, which could be at least a way to manually alleviate the symptom (if not the cause).</p>
<p class="credit">Hearing what others told me and based on prior experiences, I don’t have high hopes for any of this, but I want to be a good citizen. So I am filing bugs with Apple for all of these. I do not believe I can link to this directly, but the report I filed for this one is FB21444299.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/finder/">#finder</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/sins-of-our-finders/">#sins of our finders</a></p>]]></content>
  </entry>
  <entry>
    <title>“Moms talking like demons, tough guys talking like little girls”</title>
    <link href="https://unsung.aresluna.org/moms-talking-like-demons-tough-guys-talking-like-little-girls" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/moms-talking-like-demons-tough-guys-talking-like-little-girls</id>
    <published>2025-12-26T17:26:51.661Z</published>
    <updated>2025-12-26T17:26:51.661Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I have recently been on a bit of a <a href="https://newsletter.shifthappens.site/archive/new-in-the-collection-pt-2-nec-pwp-100/" target="_blank">Japan</a> <a href="https://newsletter.shifthappens.site/archive/new-in-the-collection-pt-3-canon-pw-101530/" target="_blank">kick</a>, and someone on social sent me <a href="https://legendsoflocalization.com/articles/common-problems-when-translating-games-into-japanese/" target="_blank">this 2018 article from Clyde Mandelin about translating Japanese videogames</a>:</p>
<blockquote><p>There’s a common assumption that when you translate something from English into another language, there shouldn’t be <em>any</em> English left when you’re done. Otherwise it would be an incomplete translation, right? And you’d feel like you got cheated out of the money you spent on translation, right?</p>
<p>If you’re translating into Japanese, then that assumption is wrong. English makes up a significant portion of the Japanese language today, and on top of that, <a href="https://legendsoflocalization.com/articles/japanese-writing-systems/#in-japanese-video-games" target="_blank">English has been a major part of Japanese video games since the very beginning</a>.</p></blockquote>
<p>I have been thinking a lot about translation ever since in the 1990s, both Windows and Mac OS have been translated to Polish, and while Windows felt okay, people at Apple used more “proper,” but often strangely archaic words for the Mac OS translation that were absolutely readable, but made the Mac felt a bit… I don’t know… medieval? (I saved both of the translations and put them up online long ago. <a href="https://aresluna.org/attached/terminology/glossaries/mac" target="_blank">They</a> are <a href="https://aresluna.org/attached/terminology/glossaries/windows" target="_blank">still</a> online.)</p>
<p>It is so hard to explain unless someone knows both languages in question, but so important to understand all these little nuances to get it right.</p>
<p>In the world of typing, for example, right-to-left writing systems are not just “going the other way,” but also have to accomodate LTR snippets. Similarly, it’s perfectly fine in Japanese to see Western words – not just next to Japanese writing, but sometimes <em>inside </em>it. For those working on these, it must be annoying that you already have to do more work with more complex writing, encodings, and stuff (most languages to me feel more complicated than English) – but now you also have to include entry points for other writing systems.</p>
<p>The issues of translation are <a href="https://mwichary.medium.com/translating-a-stanislaw-lem-story-6c2446632bd8" target="_blank">fascinating to me</a>. Please send more if you see them.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/localization/">#localization</a></p>]]></content>
  </entry>
  <entry>
    <title>“Type is not rubber”</title>
    <link href="https://unsung.aresluna.org/type-is-not-rubber" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/type-is-not-rubber</id>
    <published>2025-12-25T03:16:40.413Z</published>
    <updated>2025-12-25T03:16:40.413Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Oh, this is a fantastic adage I haven’t heard before, <a href="https://aliciapatterson.org/john-fleischman/a-linotypists-notes/" target="_blank">mentioned here in 1978</a>, arguing against distorted, or “faux” typography:</p>
<blockquote><p>A Linotype assembly elevator with the gate closed. This is the center of an operator’s attention as the mats tumble down and are arranged automatically in lines. The spacer bands adjust themselves to fill out the line but only so many letters can fit in any measure, proving the old trade adage that “type is not rubber.” Modern photocompositors have lenses that can distort the image of the letters to fit where they couldn’t. Today, type is rubber.</p></blockquote>
      <figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/type-is-not-rubber/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/type-is-not-rubber/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/type-is-not-rubber/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/type-is-not-rubber/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/type-is-not-rubber/1.1088w.avif" alt="" width="768" height="605">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/principles/">#principles</a> <a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>Buoyant, Dreamer, Reflected</title>
    <link href="https://unsung.aresluna.org/buoyant-dreamer-reflected" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/buoyant-dreamer-reflected</id>
    <published>2025-12-22T23:32:04.347Z</published>
    <updated>2025-12-22T23:32:04.347Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I found this weirdly delightful: There are a few new ringtones in iOS 26, but they’re not new <em>new</em> ringtones – they’re sort of “riffs,” or maybe remixes of a default Reflection ringtone. </p>
<p>If you don’t have an iPhone, <a href="https://www.youtube.com/shorts/XFICzM1mvgc" target="_blank">here’s a short video where you can hear them</a>. I’m guessing Apple sees the default ringtone as sort of an audio brand, and wants to invest in it more.</p>
<p>The only thing I don’t like are those names: It feels each one is following a different naming scheme.</p>
<p>(Side note: I am 180° from <a href="https://daringfireball.net/2025/12/apple_tv_new_fanfare" target="_blank">Gruber’s take on new Apple TV sonic logo.</a> <a href="https://www.youtube.com/watch?v=zBzbPx21fhM" target="_blank">The previous one</a> was better – recognizable and interesting. <a href="https://www.youtube.com/watch?v=6sX_BfDnyrg" target="_blank">The new one</a> is bland, milquetoast even. It instantly reminded me of the <a href="https://www.youtube.com/watch?v=miZHa7ZC6Z0" target="_blank">Windows 95 startup sound</a>.)</p>
<figure><picture>
        <source media="(resolution >= 3x)" srcset="https://unsung.aresluna.org/_media/buoyant-dreamer-reflected/1-framed.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/buoyant-dreamer-reflected/1-framed.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/buoyant-dreamer-reflected/1-framed.1088w.png" type="image/png">
        <img src="https://unsung.aresluna.org/_media/buoyant-dreamer-reflected/1-framed.1088w.avif" alt="" width="349" height="700">
        </picture></figure><p><a href="https://unsung.aresluna.org/tags/ios/">#ios</a> <a href="https://unsung.aresluna.org/tags/sound-design/">#sound design</a></p>]]></content>
  </entry>
  <entry>
    <title>“The chance was just 1 in 85.”</title>
    <link href="https://unsung.aresluna.org/the-chance-was-just-1-in-85" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-chance-was-just-1-in-85</id>
    <published>2025-12-22T23:20:07.246Z</published>
    <updated>2025-12-22T23:20:07.246Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure>
        <a href="https://www.youtube.com/watch?v=9c3oXERMTCM" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-chance-was-just-1-in-85/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-chance-was-just-1-in-85/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-chance-was-just-1-in-85/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/the-chance-was-just-1-in-85/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/the-chance-was-just-1-in-85/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<blockquote><p>September 6, 2014, was a landmark day in speedrunning history. </p></blockquote>
<p>I like Summoning Salt’s videos about speedrunners because they manage to add a great dose of storytelling to what otherwise would be boring, mundane events, and <a href="https://www.youtube.com/watch?v=9c3oXERMTCM" target="_blank">this one about Punch-Out is no exception</a>. It’s Rocky meets Moneyball, in a way.</p>
<p>This pairs well with the previous review of the “Pilgrim in the microworld” book because speedrunning feels very connected to mastery and to quality – whether it’s because of the old-fashioned grind to be better, or by exploiting all sorts of glitches in the game to shave off sometimes milliseconds. The video above is in the former category, or what speedrunners would call “glitchless.” It’s also just really fun to watch. (The book wasn’t fun to read.)</p>
<p>If you’re new to learning about speedrunning/&#8203;glitchless, this <a href="https://www.youtube.com/watch?v=n-BZ5-Q48lE" target="_blank">video about “rolling” in Tetris</a> (which itself is kind of mindblowing), and then <a href="https://www.youtube.com/watch?v=YrgQDETGO00" target="_blank">this one about new Tetris developments</a> from aGameScout are a great entry point.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/speedrunning/">#speedrunning</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Book review: Pilgrim in the microworld</title>
    <link href="https://unsung.aresluna.org/book-review-pilgrim-in-the-microworld" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/book-review-pilgrim-in-the-microworld</id>
    <published>2025-12-20T15:55:40.661Z</published>
    <updated>2025-12-20T15:55:40.661Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>★★☆☆☆</p>
<p>This could have been an essay. </p>
<p>When I first learned about this book from <a href="https://www.youtube.com/watch?v=cSrP1ipkes0" target="_blank">Jacob Geller’s video</a> just months ago, I thought this was another example in the vein of <em>The Power Broker</em> – a <a href="https://aresluna.org/in-the-footsteps-of-robert-moses/" target="_blank">perfectly Marcin-coded book</a> that somehow escaped me knowing about it for <em>decades.</em></p>
<p>“Pilgrim” is from 1983, and is a story of a pianist discovering the classic videogame <a href="https://en.wikipedia.org/wiki/Breakout_(video_game)" target="_blank">Breakout</a>, and trying to perfect his own gameplay.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-pilgrim-in-the-microworld/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-pilgrim-in-the-microworld/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-pilgrim-in-the-microworld/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-pilgrim-in-the-microworld/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/book-review-pilgrim-in-the-microworld/1.1088w.avif" alt="" width="800" height="523">
      </picture></figure>
<p>I love so many stories of videogame mastery, because at times they feel the closest we got to Doug Engelbart’s dream of incredibly effective machine operation somewhere deep below the threshold of consciousness: You and the computer becoming one, eyes and fingers forming feedback loops so perfect they cease to be noticeable.</p>
<blockquote><p>Here I am alone in a pitch-black hotel room, a middle-aged man with some time to kill, getting ready to check out some jazz clubs in Greenwich Village, in possession of an early cretinous offering from a gold rush grab bag of tuby thingies coming our way from hundreds of decision-making puzzle peddlers throughout the new electric “entertainment” industry. And now instead of playing the game it‘s packaged up to be, I‘ve gotten into more or less occupying myself by outlining invisible triangles across the screen of a TV doodling machine. What am I doing?</p></blockquote>
<p>Unfortunately, as you can maybe already sense, the book is an overwritten, ponderous, and pretentious mess. “Beach reading, it ain’t,” <a href="https://www.killscreen.com/how-guggenheim-fellow-obsessed-over-ataris-breakout-and-found-future-instead/" target="_blank">quipped a Kill Screen reviewer in 2013</a>. But there are some interesting parts in it.</p>
<blockquote><p>Before, the piano was the quintessential human instrument. Of all things exterior to the body, in its every detail it most enables our digital capacities to sequence delicate actions. Pushing the hand to its anatomical limit, it forces the development of strength and independence of movement for fourth and fifth fingers, for no other tool or task so deeply needed. This piano invites hands to fully live up to the huge amount of brain matter with which they participate, more there for them than any other body part. At this gnetically predestined instrument we thoroughly encircle ourselves within the finest capabilities of the organ.</p>
<p>Then a typewriter, speeding the process whereby speech becomes visible, the extraordinary keyboard for sequencing and articulating perhaps awaiting a still truer sounding board, strings, and tuning, a still more suited canvas for thought.</p>
<p>Then TV.</p></blockquote>
<p>This arrives at page 26. Alas, it’s kind of downhill from here.</p>
<p>The author visits Atari (imagine that!) to learn that the programmer of Breakout doesn’t really understand what makes Breakout so alluring. The game perhaps lucked in to being so imminently playable, and then replayable. </p>
<p>I’m interested in <em>designing for mastery.</em> We should not rely on luck that separated a classic like Breakoutfrom a hundred other games from that era that felt awful to play and were immediately forgotten. </p>
<p>Sure, Sudnow definitely takes Breakout way too seriously:</p>
<blockquote><p>Maybe I can remember the five shots by putting pieces of tape on the TV cabinet to mark each paddle destination, I say to myself, even though it seems that would undercut true learning. It’s bad practice to learn the piano by writing the names of the notes on the keys, much better not to use a code, to grasp the layout of things by their own looks and feel. And I can’t carry Scotch tape to a Breakout tournament.</p></blockquote>
<p>But in a way: why wouldn’t you?</p>
<blockquote><p>In fact it’s already happening. I’ve found myself playing with the cursor on my word processor just for the hell of it, seeing if I could track it across screen and get it to stop at every comma in the text.</p></blockquote>
<p>The word processor (or any other app you use often) operating at the speed of fingers unlocks superpowers, and then some.</p>
<blockquote><p>There’s one experience in particular at the word processor that gets me downright angry at times. There’s no more of that room for finger breathing while you awaited a carriage’s return. You reach the end of a processed line of text and if your word becomes too long for the margin while there’s still alloted space to get it underway, it splits in the midst of your articulation and your voice instantaneously reappears six inches to the left, a quarter of an inch lower. The computer can’t know what you’re about to write, not yet, not a word or even a letter in advance, has to wait and merely calculate how things are going in order to then “decide” where to put the sound. ¶ Before, you felt a big word welling up, hit the carriage return, lifted off from the keyboard just a bit, reorganized your grasp, and dug back into the improvisation with a renewed rhythmic mobilization to continue. And some of the things you found to say, you found because you said them that way.</p></blockquote>
<p>This was a fascinating tidbit, this reflection on how small interactions can change the nature of creative process.</p>
<p>If this book was cut to 20% of its size, those fascinating tidbits would stand out more, and the book would still be of value today.</p>
<p>But despite this complaint, I miss people writing about using computers this way. Such a big chunk of my struggle with computers today is fighting with it because I expect a better connection between my fingers and what’s happening onscreen. </p>
<p>I wish more designers understood how important that is.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-pilgrim-in-the-microworld/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-pilgrim-in-the-microworld/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-pilgrim-in-the-microworld/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/book-review-pilgrim-in-the-microworld/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/book-review-pilgrim-in-the-microworld/2.1088w.avif" alt="" width="467" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/book/">#book</a> <a href="https://unsung.aresluna.org/tags/book-review/">#book review</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/review/">#review</a></p>]]></content>
  </entry>
  <entry>
    <title>“Because it didn’t look crappy enough”</title>
    <link href="https://unsung.aresluna.org/because-it-didnt-look-crappy-enough" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/because-it-didnt-look-crappy-enough</id>
    <published>2025-12-20T04:23:37.556Z</published>
    <updated>2025-12-20T04:23:37.556Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure>
        <a href="https://www.youtube.com/watch?v=hKxtQ0CUVFE" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/because-it-didnt-look-crappy-enough/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/because-it-didnt-look-crappy-enough/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/because-it-didnt-look-crappy-enough/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/because-it-didnt-look-crappy-enough/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/because-it-didnt-look-crappy-enough/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p><a href="https://www.youtube.com/watch?v=hKxtQ0CUVFE" target="_blank">A fun and short video from Juniper Dev</a> about how Undertale is a fantastic game despite being fantastically poorly written:</p>
<blockquote><p>When you make dialogue in a video game you have a distinct file that has all the possible text that can pop up in your game. This is usually a CSV file, or a JSON, and you can think of it as basically a database for text. So then at different parts in your code, you extract specific parts of this file, and that’ll depend on what character you’re talking to, if you have a certain item, whatever, and that’s one of the most efficient and common ways to do it.</p>
<p>But the way that Undertale handles dialogue is much worse. All of the dialogue in the entire game, every text box that pops up, is handled in one massive if statement. […] case 737 out of what must have been at least 1,000 lines.</p></blockquote>
<p>This reminded me a little of my first week with my personal computer, when I didn’t yet know you can write IF X &lt;&gt; 3 THEN, so I spent half a day writing statements like IF X = 1 OR X = 2 OR X = 4 OR X = 5…</p>
<p>Vibe coding was there long before AI.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>Fitts’s Law at 20</title>
    <link href="https://unsung.aresluna.org/fittss-law-at-20" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/fittss-law-at-20</id>
    <published>2025-12-19T04:11:11.863Z</published>
    <updated>2025-12-19T04:11:11.863Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Just kidding. But it’s a happy 20th annivesary to <a href="https://aresluna.org/fitts/" target="_blank">the little interactive explainer</a> I made of Fitts’ Law back in 2005!</p>
<p>It’s charming in a sort of early-web kinda way, but still holds up – at least on bigger screens. I even ran it on my iPad and it worked.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fittss-law-at-20/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fittss-law-at-20/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fittss-law-at-20/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fittss-law-at-20/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/fittss-law-at-20/1.1088w.avif" alt="" width="800" height="512">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/marcin-wichary/">#marcin wichary</a> <a href="https://unsung.aresluna.org/tags/principles/">#principles</a></p>]]></content>
  </entry>
  <entry>
    <title>“More or less turned Windows into a carnival”</title>
    <link href="https://unsung.aresluna.org/more-or-less-turned-windows-into-a-carnival" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/more-or-less-turned-windows-into-a-carnival</id>
    <published>2025-12-18T02:45:47.125Z</published>
    <updated>2025-12-18T02:45:47.125Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://www.pcgamer.com/software/windows/windows-3-1-included-a-red-and-yellow-hot-dog-stand-color-scheme-so-garish-it-was-long-assumed-to-be-a-joke-so-i-tracked-down-the-original-designer-to-get-the-true-story/" target="_blank">Wes Fenlon at PC Gamer</a>:</p>
<blockquote><p>Every so often, a wonderful thing happens: someone young enough to have missed out on using computers in the early 1990s is introduced to the Windows 3.1 “Hot Dog Stand” color scheme.</p></blockquote>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/1.1088w.avif" alt="" width="800" height="450">
      </picture></figure>
<p>I can’t figure out whether <a href="https://daringfireball.net/linked/2025/12/17/windows-3-1-hot-dog-stand" target="_blank">Gruber’s take</a> (“That’s Microsoft.”) is also a subtle jab at Apple in the year of Liquid Glass.</p>
<p>Also, great first comment under the original post:</p>
<blockquote><p>I assume “Plasma Power Saver” served an actual purpose - it was intended for users of “portable” machines having a gas plasma display. Early ones were monochrome (orange) and I guess the actual color hue didn’t matter so much as the intensity.</p></blockquote>
<p>Early <a href="https://en.wikipedia.org/wiki/Plasma_display" target="_blank">plasma displays</a> were genuinely fascinating.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/2.1088w.avif" alt="" width="525" height="700">
      </picture></figure>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/more-or-less-turned-windows-into-a-carnival/3.1088w.avif" alt="" width="800" height="533">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/colors/">#colors</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/windows/">#windows</a></p>]]></content>
  </entry>
  <entry>
    <title>“Strangely primitive against the backdrop of the slick user interface”</title>
    <link href="https://unsung.aresluna.org/strangely-primitive-against-the-backdrop-of-the-slick-user-interface" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/strangely-primitive-against-the-backdrop-of-the-slick-user-interface</id>
    <published>2025-12-16T13:44:37.169Z</published>
    <updated>2025-12-16T13:44:37.169Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Forgot about this cute little story</a>:</p>
<blockquote><p>It used to be that when you dragged an item off the Dock and dropped it, the icon would disappear in a puff of smoke and make a satisfying noise. The animation was strangely primitive against the backdrop of the slick user interface of what used to called Mac OS X.</p></blockquote>
<p>I too wondered why that animation was weirdly amateurish, almost like a placeholder. Well,</p>
<blockquote><p>One of the most talented engineers on the team took out a piece of paper. I wish I could say it was a napkin to make the story better. ¶ On the piece of paper, he drew a series of five frames. The intention of the designer was that these drawings would stoke further discussion. That it would get cleaned up and refined later. ¶ But that never happened. It shipped as is. And the rest is history.</p></blockquote>
<p>Also when looking it up, I found <a href="https://discussions.apple.com/thread/3606184?sortBy=rank" target="_blank">a mention of a fascinating bug</a> that exposed the origin of the animation as a sprite.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/strangely-primitive-against-the-backdrop-of-the-slick-user-interface/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/strangely-primitive-against-the-backdrop-of-the-slick-user-interface/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/strangely-primitive-against-the-backdrop-of-the-slick-user-interface/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/strangely-primitive-against-the-backdrop-of-the-slick-user-interface/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/strangely-primitive-against-the-backdrop-of-the-slick-user-interface/1.1088w.avif" alt="" width="800" height="445">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a> <a href="https://unsung.aresluna.org/tags/motion-design/">#motion design</a></p>]]></content>
  </entry>
  <entry>
    <title>Fav error message</title>
    <link href="https://unsung.aresluna.org/fav-error-message" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/fav-error-message</id>
    <published>2025-12-16T05:06:38.274Z</published>
    <updated>2025-12-16T05:06:38.274Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>This is inside my Sony Alpha camera: a teensy too technical, or maybe slightly-lost-in-translation-from-Japanese message. I love it. It has personality without trying to be cute.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fav-error-message/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/fav-error-message/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fav-error-message/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/fav-error-message/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/fav-error-message/1.1088w.avif" alt="" width="800" height="498">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
  <entry>
    <title>“Expressed in a single picture”</title>
    <link href="https://unsung.aresluna.org/expressed-in-a-single-picture" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/expressed-in-a-single-picture</id>
    <published>2025-12-14T15:18:24.596Z</published>
    <updated>2025-12-14T15:18:24.596Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/expressed-in-a-single-picture/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/expressed-in-a-single-picture/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/expressed-in-a-single-picture/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/expressed-in-a-single-picture/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/expressed-in-a-single-picture/1.1088w.avif" alt="" width="549" height="700">
      </picture></figure>
<p>I just got my first Windows laptop in ages, and a little nervous to dig in, given the burgeoning reputation.</p>
<p>(My secret: I used to admire Windows in the 3.x and 9x and 2000 era because I always thought its keyboard operation was a lot better than Mac OS’s.)</p><p><a href="https://unsung.aresluna.org/tags/windows/">#windows</a></p>]]></content>
  </entry>
  <entry>
    <title>The original loading state</title>
    <link href="https://unsung.aresluna.org/the-original-loading-state" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-original-loading-state</id>
    <published>2025-12-13T17:13:38.623Z</published>
    <updated>2025-12-13T17:13:38.623Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I spend a lot of time at work thinking and designing (and avoiding) loading states, and someone just reminded me of <a href="https://aresluna.org/the-clock/" target="_blank">a piece I wrote</a> ten years ago, so I just moved it from Medium to my new website, and updated with new things I learned.</p>
<p>It’s about TV clock idents and what they meant to me growing up – possibly the original “loading state” in my life.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-original-loading-state/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-original-loading-state/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-original-loading-state/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/the-original-loading-state/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/the-original-loading-state/1.1088w.avif" alt="" width="800" height="599">
      </picture></figure>
<p>Of course, really, nothing compares to the <a href="https://www.youtube.com/watch?v=y90hBN0wytY" target="_blank">absolutely banging BBC News “loading state”</a>, which is fantastic, <a href="https://www.youtube.com/shorts/SqgBfEqkyaU" target="_blank">infinitely memeable</a>, and brilliant even before you realize it cleverly incorporates <a href="https://en.wikipedia.org/wiki/Greenwich_Time_Signal" target="_blank">the historical Greenwich Time Signal in it</a> in a way that absolutely gives me chills.</p>
<p>Best comment under that BBC News theme: “As a swiss, this makes me proud to be british.”</p>
<p>What is it about Brits and extraordinarily perfectly timed music? Here’s Pet Shop Boys and <a href="https://www.youtube.com/watch?v=G3zdbDGRvZ0" target="_blank">Casting a shadow</a>, made especially for and matching the total solar eclipse in 2000 to within half a second.</p><p><a href="https://unsung.aresluna.org/tags/loading-states/">#loading states</a></p>]]></content>
  </entry>
  <entry>
    <title>Got your back</title>
    <link href="https://unsung.aresluna.org/got-your-back" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/got-your-back</id>
    <published>2025-12-13T16:40:10.485Z</published>
    <updated>2025-12-13T16:40:10.485Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>An extremely thoughtful moment in DaVinci Resolve. When you drop the first video clip into a new project, it suggests to update the settings of the entire project, on the correct assumption that the first media might set the tone of the whole thing.</p>
<p>“You can’t undo this action” is scary and kind of… untrue? But I’ve stopped reading by then. I press Enter and it saves me a trip to a complex project settings dialog box I always forget the location of.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/got-your-back/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/got-your-back/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/got-your-back/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/got-your-back/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/got-your-back/1.1088w.avif" alt="" width="545" height="269">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/got-your-back/">#got your back</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a> <a href="https://unsung.aresluna.org/tags/undo/">#undo</a></p>]]></content>
  </entry>
  <entry>
    <title>“In my greatest hour of need, where were you”</title>
    <link href="https://unsung.aresluna.org/in-my-greatest-hour-of-need-where-were-you" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/in-my-greatest-hour-of-need-where-were-you</id>
    <published>2025-12-13T16:12:38.190Z</published>
    <updated>2025-12-13T16:12:38.190Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Made me laugh. <a href="https://bsky.app/profile/lanyardigan.bsky.social/post/3kp64cqkwmq2a" target="_blank">lanyardigan on Bluesky</a>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/in-my-greatest-hour-of-need-where-were-you/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/in-my-greatest-hour-of-need-where-were-you/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/in-my-greatest-hour-of-need-where-were-you/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/in-my-greatest-hour-of-need-where-were-you/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/in-my-greatest-hour-of-need-where-were-you/1.1088w.avif" alt="" width="598" height="567">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/humor/">#humor</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a></p>]]></content>
  </entry>
  <entry>
    <title>“The focus on optimization was a time-limited social fact.”</title>
    <link href="https://unsung.aresluna.org/the-focus-on-optimization-was-a-time-limited-social-fact" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-focus-on-optimization-was-a-time-limited-social-fact</id>
    <published>2025-12-13T15:57:13.466Z</published>
    <updated>2025-12-13T15:57:13.466Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://davekarpf.substack.com/p/the-end-of-optimization" target="_blank">From Dave Karpf’s essay</a>:</p>
<blockquote><p>From the vantage point of 2025, optimization is clearly no longer a priority for the tech platforms. Google’s search results have gotten worse. Google doesn’t care. Facebook is awash in AI slop. It welcomes the slop. Amazon is filled with fake products and fake reviews. All of these companies still dominate their categories. Degrading the user experience isn’t costing them. The motivating belief that these companies <em>had</em> <em>to optimize</em>, or else they would be out-competed, no longer drives Silicon Valley behavior.<em> Optimization was an era. That era has ended.</em></p></blockquote>
<p>Hidden inside that essay is also a link to <a href="https://resonantcomputing.org/" target="_blank">The Resonant Computing Manifesto</a>, with this good paragraph:</p>
<blockquote><p>Most of us got into tech with an earnest desire to leave the world better than we found it. But the incentives and cultural norms of the tech industry have coalesced around the logic of hyper-scale. It’s become monolithic, magnetic, all-encompassing—an environment that shapes all who step foot there. While the business results are undeniable, so too are the downstream effects on humanity.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/culture/">#culture</a> <a href="https://unsung.aresluna.org/tags/software-evolution/">#software evolution</a></p>]]></content>
  </entry>
  <entry>
    <title>“They’re just ugly fonts.”</title>
    <link href="https://unsung.aresluna.org/theyre-just-ugly-fonts" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/theyre-just-ugly-fonts</id>
    <published>2025-12-13T15:52:14.317Z</published>
    <updated>2025-12-13T15:52:14.317Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>I’ve always been curious whether those “dyslexic-friendly” fonts amount to anything, and <a href="https://www.edutopia.org/article/do-dyslexia-fonts-actually-work" target="_blank">this 2022 post</a> I haven’t seen before puts this idea to rest:</p>
<blockquote><p>But the new fonts—and the odd assortment of paraphernalia that came before them—assume that dyslexia is a visual problem rooted in imprecise letter recognition. That’s a myth, explains Joanne Pierson, a speech-language pathologist at the University of Michigan. “Contrary to popular belief, the core problem in dyslexia is not reversing letters (although it can be an indicator),” she <a href="http://dyslexiahelp.umich.edu/answers/ask-dr-pierson/dyslexia-or-visual-problem" target="_blank">writes</a>. The difficulty lies in identifying the discrete units of sound that make up words and “matching those individual sounds to the letters and combinations of letters in order to read and spell.” </p></blockquote>
<p>(<a href="https://daringfireball.net/linked/2025/12/12/dyslexia-fonts-pseudoscience" target="_blank">via Daring Fireball</a>, whom I quoted for the title, via <a href="https://typo.social/@jenskutilek/115701215633708390" target="_blank">Jens Kutílek</a>, whose fonts I use)</p><p><a href="https://unsung.aresluna.org/tags/typography/">#typography</a></p>]]></content>
  </entry>
  <entry>
    <title>“Kinda love this error message on the bus”</title>
    <link href="https://unsung.aresluna.org/kinda-love-this-error-message-on-the-bus" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/kinda-love-this-error-message-on-the-bus</id>
    <published>2025-12-12T15:08:50.815Z</published>
    <updated>2025-12-12T15:08:50.815Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://bne.social/@ash/115693956771830225" target="_blank">Ash K on Mastodon</a>:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kinda-love-this-error-message-on-the-bus/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/kinda-love-this-error-message-on-the-bus/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kinda-love-this-error-message-on-the-bus/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/kinda-love-this-error-message-on-the-bus/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/kinda-love-this-error-message-on-the-bus/1.1088w.avif" alt="" width="527" height="700">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/errors/">#errors</a> <a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“It was fun and I learned a lot.”</title>
    <link href="https://unsung.aresluna.org/it-was-fun-and-i-learned-a-lot" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/it-was-fun-and-i-learned-a-lot</id>
    <published>2025-12-11T15:02:29.162Z</published>
    <updated>2025-12-11T15:02:29.162Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://www.mintlify.com/blog/10-fixes-in-10-days" target="_blank">From Dmytro Tovstokoryi at Mintlify</a>:</p>
<blockquote><p>I recently joined Mintlify as a part-time design engineer. […] I started a daily thread sharing UI fixes and improvements that I was shipping. I also invited people to share any UI bugs they noticed. </p>
<p>People responded. I fixed things in near real-time. It was fun and I learned a lot.</p></blockquote>
<p>I enjoy little posts with updates like this.</p>
<p>(However, a small thing: I wouldn’t use text-shadow this way. It’s veering into the territory of faux bolding, and looks bad. And, in this case, it feels like it’s not solving a problem.)</p><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/frontend/">#frontend</a></p>]]></content>
  </entry>
  <entry>
    <title>“The internet is wrong, and I am here to set it right.”</title>
    <link href="https://unsung.aresluna.org/the-internet-is-wrong-and-i-am-here-to-set-it-right" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/the-internet-is-wrong-and-i-am-here-to-set-it-right</id>
    <published>2025-12-10T10:24:30.688Z</published>
    <updated>2025-12-10T10:24:30.688Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Computers Are Bad is an acquired taste and I’m acquiring it. <a href="https://computer.rip/2023-03-13-the-door-close-button.html" target="_blank">This was an excellent post</a> going deep into the myths and anti-myths of elevator close door buttons, and pedestrian crossing buttons. I love storytelling + rigor:</p>
<blockquote><p>First, anyone who says that the “door close” buttons in elevators are routinely “not even hooked up” shouldn’t be trusted. The world is full of many elevators and I’m sure some can be found with mechanically non-functional door close buttons, but the issue should be infrequent. The “door close” button is required to operate the elevator in fire service mode, which disables automatic closing of the doors entirely so that the elevator does not leave a firefighter stranded. Fire service mode must be tested as part of the regular inspection of the elevator (ASME A17.1-2019, but implemented through various state and local codes). Therefore, elevators with a “door close” button that isn’t “hooked up” will fail their annual inspections.</p></blockquote>
<p>Also, this bit was delightful:</p>
<blockquote><p>The software, as I recall, came from the school of industrial software design where a major component of the interface was a large tree view of every option and discoverability came in the form of some items being in ALL CAPS.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/real-world/">#real world</a></p>]]></content>
  </entry>
  <entry>
    <title>“This cognitive load is invisible and rarely discussed.”</title>
    <link href="https://unsung.aresluna.org/this-cognitive-load-is-invisible-and-rarely-discussed" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/this-cognitive-load-is-invisible-and-rarely-discussed</id>
    <published>2025-12-10T04:06:49.002Z</published>
    <updated>2025-12-10T04:06:49.002Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>From <a href="https://jenson.org/tesla/" target="_blank">Scott Jenson’s 2021 post about Tesla 3 interface</a>, this is so clever (emphasis mine):</p>
<blockquote><p>Edward Tufte has this visual rule that <a href="https://meiert.com/blog/1-1-3-explaining-busyness-and-background-noise-on-websites/" target="_blank">1+1=3</a>: With a single line on the screen, you have just that single object, but adding a second line does something interesting, it adds a third ‘object’ on the screen, the negative space between the two. All good visual designers deeply understand this effect.</p>
<p>In UX design we have a cognitive equivalent. If you have two buttons, there is a third ‘object’ created: <em>the decision a user must make on which button to tap.</em></p></blockquote><p><a href="https://unsung.aresluna.org/tags/complexity/">#complexity</a> <a href="https://unsung.aresluna.org/tags/interface-design/">#interface design</a></p>]]></content>
  </entry>
  <entry>
    <title>Really into keyboards</title>
    <link href="https://unsung.aresluna.org/really-into-keyboards" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/really-into-keyboards</id>
    <published>2025-12-10T02:36:25.094Z</published>
    <updated>2025-12-10T02:36:25.094Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>Appreciate little moments showing utmost keyboard orientation in Raycast.</p>
<p>The millisecond you hover over the back button, the app says “you should be using the keyboard for this”:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/really-into-keyboards/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/really-into-keyboards/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/really-into-keyboards/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/really-into-keyboards/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/really-into-keyboards/1.1088w.avif" alt="" width="562" height="132">
      </picture></figure>
<p>I am not sure you often see tooltips on buttons, with keyboard shortcuts only:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/really-into-keyboards/2.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/really-into-keyboards/2.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/really-into-keyboards/2.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/really-into-keyboards/2.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/really-into-keyboards/2.1088w.avif" alt="" width="351" height="228">
      </picture></figure>
<p>Every select menu – even those with literally two options – has an inline search:</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/really-into-keyboards/3.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/really-into-keyboards/3.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/really-into-keyboards/3.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/really-into-keyboards/3.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/really-into-keyboards/3.1088w.avif" alt="" width="800" height="545">
      </picture></figure>
<p>Party like it’s <a href="https://en.wikipedia.org/wiki/Macintosh_128K" target="_blank">1983</a>! Or <a href="https://en.wikipedia.org/wiki/Apple_Lisa" target="_blank">1982</a>! Or <a href="https://en.wikipedia.org/wiki/The_Mother_of_All_Demos" target="_blank">1967</a>!</p>
<p>Also, unrelated, love the clarity of this panel. This is what’s synced. This is what’s not.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/really-into-keyboards/4.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/really-into-keyboards/4.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/really-into-keyboards/4.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/really-into-keyboards/4.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/really-into-keyboards/4.1088w.avif" alt="" width="800" height="430">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a> <a href="https://unsung.aresluna.org/tags/raycast/">#raycast</a></p>]]></content>
  </entry>
  <entry>
    <title>“Every aspect of the machine operates as quickly as the user can move.”</title>
    <link href="https://unsung.aresluna.org/every-aspect-of-the-machine-operates-as-quickly-as-the-user-can-move" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/every-aspect-of-the-machine-operates-as-quickly-as-the-user-can-move</id>
    <published>2025-12-10T02:15:55.732Z</published>
    <updated>2025-12-10T02:15:55.732Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://craigmod.com/essays/fast_software/" target="_blank">Evergreen and inspiring from Craig Mod</a>, a 2019 plea for fast software:</p>
<blockquote><p>Google Maps is dying a tragic, public death by a thousand cuts of slowness. Google has added animations all over Google Maps. They are nice individually, but in aggregate they are very slow. Google Maps used to be a fast, focused tool. It’s now quite bovine. If you push the wrong button, it moos. Clunky, you could say. Overly complex. Unnecessarily layered. Perhaps it’s trying to do too much? To back out of certain modes — directions, for example — a user may have to tap four or five different areas and endure as many slow animations.</p></blockquote>
<p>Funnily enough, I feel that way about Apple Maps. I abandoned it since small things felt heavy, mired in superfluous swipey animations that felt like driving a 1960s car. Luckily, this was at the time Google Maps redesign its tiles to match Apple’s, so I got what I wanted to begin with, although in a slightly shady way.</p>
<p>I miss Sublime Text and might take it again for a spin (VS Code and Atom felt slow, Nova is delightful but also struggles in performance, even on simple things). </p>
<p>I miss Notes feeling lightning fast.</p><p><a href="https://unsung.aresluna.org/tags/craig-mod/">#craig mod</a> <a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/performance/">#performance</a></p>]]></content>
  </entry>
  <entry>
    <title>“Apple abandons its own guidance.”</title>
    <link href="https://unsung.aresluna.org/apple-abandons-its-own-guidance" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/apple-abandons-its-own-guidance</id>
    <published>2025-12-08T22:53:04.046Z</published>
    <updated>2025-12-08T22:53:04.046Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://blog.jim-nielsen.com/2025/icons-in-menus/" target="_blank">A good post by Jim Nielsen</a> about icons in menus (in Tahoe).</p>
<blockquote><p>This posture lends itself to a practice where designers have an attitude of “I need an icon to fill up this space” instead of an attitude of “Does the addition of a icon here, and the cognitive load of parsing and understanding it, help or hurt how someone would use this menu system?”</p></blockquote>
<p>It seems a necessary ingredient of introducing icons to menus is thoughtfulness and guidance around when the icons are necessary/&#8203;useful and when not.</p>
<p>It doesn’t help that the Tahoe icons seems to mess up indentation. (I haven’t updated to Tahoe and might skip it altogether. Even just the planetary-scale rounded corners are something that feels very broken.)</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/iconography/">#iconography</a></p>]]></content>
  </entry>
  <entry>
    <title>“How can I delete and add to library at the same time”</title>
    <link href="https://unsung.aresluna.org/how-can-i-delete-and-add-to-library-at-the-same-time" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/how-can-i-delete-and-add-to-library-at-the-same-time</id>
    <published>2025-12-08T01:40:12.762Z</published>
    <updated>2025-12-08T01:40:12.762Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure>
        <a href="https://www.youtube.com/watch?v=gE8ZikfrpFU" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-can-i-delete-and-add-to-library-at-the-same-time/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/how-can-i-delete-and-add-to-library-at-the-same-time/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/how-can-i-delete-and-add-to-library-at-the-same-time/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/how-can-i-delete-and-add-to-library-at-the-same-time/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/how-can-i-delete-and-add-to-library-at-the-same-time/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>An absolutely eviscerating <a href="https://www.youtube.com/watch?v=gE8ZikfrpFU" target="_blank">18-minute walkthrough of Apple Music for macOS Catalina</a>, from a few years ago. More funny than anything else, but a reminder to test the “boring” edges of your app – like a state with a lapsed subscription, or coming back after a few months. </p>
<blockquote><p>There’s no way to drag and drop. […] If I want to add this to here, I have to go through this bullshit, and when I do, it takes seconds again.</p></blockquote>
<p>Also, an ode to a well-functioning back button, and well-behaving loading states. Those things add up so quickly.</p>
<p>(My debugging brain understood what populated the confusing History entries – I bet it was the early play sequences that went through a bunch of stuff without playing.)</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/loading-states/">#loading states</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“Ugly in a way that’s pretty”</title>
    <link href="https://unsung.aresluna.org/ugly-in-a-way-thats-pretty" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/ugly-in-a-way-thats-pretty</id>
    <published>2025-12-07T16:08:49.326Z</published>
    <updated>2025-12-07T16:08:49.326Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure>
        <a href="https://www.youtube.com/watch?v=bC-8y2R6IxI" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/ugly-in-a-way-thats-pretty/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/ugly-in-a-way-thats-pretty/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/ugly-in-a-way-thats-pretty/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/ugly-in-a-way-thats-pretty/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/ugly-in-a-way-thats-pretty/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p>I gave <a href="https://www.youtube.com/watch?v=SDI8ubVZi7w" target="_blank">a talk about the craft of pixel fonts</a> at Config last year, and <a href="https://www.youtube.com/watch?v=bC-8y2R6IxI" target="_blank">this fresh YouTube video by Noodle</a> seems to be a great and quirky companion to the whole issue of “how did pixels look on old CRTs,” including many examples from modern games.</p><p><a href="https://unsung.aresluna.org/tags/games/">#games</a> <a href="https://unsung.aresluna.org/tags/graphics/">#graphics</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>⌘-P ⌘-S</title>
    <link href="https://unsung.aresluna.org/cmd-p-cmd-s" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/cmd-p-cmd-s</id>
    <published>2025-12-07T16:00:34.990Z</published>
    <updated>2025-12-07T16:00:34.990Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p>A really interesting convention I just spotted in DevonThink that shows the shortcuts as soon as you hold ⌘, although it feels a bit clunky and cheap in execution. </p>
<p>(The main worry here for me would be that it’s distracting if you already know the shortcuts. I haven’t noticed it disappear if you use it, but maybe it does after a while.)</p>
<figure>
        <video poster="https://unsung.aresluna.org/_media/cmd-p-cmd-s/1-thumbnail.avif" width="481" height="444" controls loop muted playsinline autoplay preload="metadata" loading="lazy" src="https://unsung.aresluna.org/_media/cmd-p-cmd-s/1.1600w.mp4"></video></figure><p><a href="https://unsung.aresluna.org/tags/details/">#details</a> <a href="https://unsung.aresluna.org/tags/keyboard/">#keyboard</a></p>]]></content>
  </entry>
  <entry>
    <title>“OK cool now we can ship the game phew. But why did this EVER work?”</title>
    <link href="https://unsung.aresluna.org/ok-cool-now-we-can-ship-the-game-phew-but-why-did-this-ever-work" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/ok-cool-now-we-can-ship-the-game-phew-but-why-did-this-ever-work</id>
    <published>2025-12-07T02:38:39.695Z</published>
    <updated>2025-12-07T02:38:39.695Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://mastodon.gamedev.place/@TomF/115589875974658415" target="_blank">Tom Forsyth wrote about a fun bug in a Half-Life 2 reissue</a>, of a particular flavour I have never heard before.</p>
<blockquote><p>So I started it up, selected new game, played the intro section. It’s a fairly well-known section - you arrive at the train station with a message from Breen, a guard makes you pick up a can, and then you have to go into a room and... uh... I got stuck. I wasn’t dead, I just couldn’t go anywhere. I was stuck in a corridor with a guard, and nowhere to go. Bizarre.</p></blockquote>
      <figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/ok-cool-now-we-can-ship-the-game-phew-but-why-did-this-ever-work/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/ok-cool-now-we-can-ship-the-game-phew-but-why-did-this-ever-work/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/ok-cool-now-we-can-ship-the-game-phew-but-why-did-this-ever-work/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/ok-cool-now-we-can-ship-the-game-phew-but-why-did-this-ever-work/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/ok-cool-now-we-can-ship-the-game-phew-but-why-did-this-ever-work/1.1088w.avif" alt="" width="313" height="445">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/bug-deep-dives/">#bug deep dives</a> <a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/games/">#games</a></p>]]></content>
  </entry>
  <entry>
    <title>“Especially helpful during live shows”</title>
    <link href="https://unsung.aresluna.org/especially-helpful-during-live-shows" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/especially-helpful-during-live-shows</id>
    <published>2025-12-06T16:33:04.091Z</published>
    <updated>2025-12-06T16:33:04.091Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<figure>
        <a href="https://www.youtube.com/watch?v=W24pteoigXk" target="_blank">
        <picture>
          <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/especially-helpful-during-live-shows/yt1.2096w.avif" type="image/avif">
          <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/especially-helpful-during-live-shows/yt1.1600w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/especially-helpful-during-live-shows/yt1.1088w.avif" type="image/avif">
          <source srcset="https://unsung.aresluna.org/_media/especially-helpful-during-live-shows/yt1.1088w.jpg" type="image/jpeg">
          <img src="https://unsung.aresluna.org/_media/especially-helpful-during-live-shows/yt1.1088w.avif" alt="">
        </picture>
        </a>
        </figure>
<p><a href="https://www.youtube.com/watch?v=W24pteoigXk" target="_blank">Fascinating quick walkthrough of Strudel on TikTok from DJ_Dave</a> (sound on!). Sometimes you see an interface and you immediately just sense how efficient and fun and powerful it is, without ever touching it.</p>
<p>Very bretvictorian in a way. Also related: <a href="https://www.youtube.com/watch?v=5wIOBBodoic" target="_blank">a recent video from Benn Jordan</a> walking through obscure music software used by Aphex Twin.</p><p><a href="https://unsung.aresluna.org/tags/flow/">#flow</a> <a href="https://unsung.aresluna.org/tags/text-editing/">#text editing</a> <a href="https://unsung.aresluna.org/tags/youtube/">#youtube</a></p>]]></content>
  </entry>
  <entry>
    <title>“And then the system crashes”</title>
    <link href="https://unsung.aresluna.org/and-then-the-system-crashes" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/and-then-the-system-crashes</id>
    <published>2025-12-05T05:09:51.612Z</published>
    <updated>2025-12-05T05:09:51.612Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://git.sr.ht/~nkali/vision-sdk/tree/main/note/index.md" target="_blank">From Nina Kalinina’s excellent revival</a> of a forgotten 1983 GUI, a discovery of a hilarious accessibility bug:</p>
<blockquote><p>VisiOn loves to beep at the user. It beeps every time a menu option is chosen or an on-screen button is clicked.</p>
<p>If you are tired of the noise, you’d appreciate that Application Manager has an option to replace the sound with a “visual beep”. It is implemented as a flashing area of 32x16 pixels around the mouse cursor. Every time the flashing is about to happen, an image “below” the cursor is preserved in RAM to be restored after the “visual beep” is over. However, the memory allocated for this bitmap is never freed. It takes between 200 and 1000 clicks to fill the RAM with useless copies of the mouse cursor, and then the system crashes.</p></blockquote>
<p>If you have never heard of VisiOn, The Digital Antiquarian <a href="https://www.filfre.net/2018/06/doing-windows-part-1-ms-dos-and-its-discontents/" target="_blank">has a fun walkthrough</a> that also happens to be the first chapter of an <em>excellent </em>series about the history of graphical user interfaces.</p>
<figure><picture>
        <source media="(resolution >= 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-then-the-system-crashes/1.2096w.avif" type="image/avif">
        <source media="(resolution >= 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/and-then-the-system-crashes/1.1600w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-then-the-system-crashes/1.1088w.avif" type="image/avif">
        <source srcset="https://unsung.aresluna.org/_media/and-then-the-system-crashes/1.1088w.jpg" type="image/jpeg">
        <img src="https://unsung.aresluna.org/_media/and-then-the-system-crashes/1.1088w.avif" alt="" width="800" height="599">
      </picture></figure><p><a href="https://unsung.aresluna.org/tags/bugs/">#bugs</a> <a href="https://unsung.aresluna.org/tags/emulation/">#emulation</a> <a href="https://unsung.aresluna.org/tags/history/">#history</a></p>]]></content>
  </entry>
  <entry>
    <title>“Never criminalize pride in craft.”</title>
    <link href="https://unsung.aresluna.org/never-criminalize-pride-in-craft" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/never-criminalize-pride-in-craft</id>
    <published>2025-12-05T00:33:13.068Z</published>
    <updated>2025-12-05T00:33:13.068Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://veen.com/jeff/archives/jidoka.html" target="_blank">From Jeff Veen</a>:</p>
<blockquote><p>It reinforces my belief that teams need a culture that values attention to detail when building products. Tiny annoyances so often get neglected as we rush to ship, but the consequences accumulate, souring the whole brand. It’s not a long journey from “Ugh, these AirTags…” to “Apple has lost their way…”</p>
<p>But in my experience, those rough edges seldom go unnoticed by someone, somewhere, who was unable to stop the momentum of a product release for such an “insignificant” flaw. Or, even more consequentially, they did not feel it was safe to do so.</p></blockquote>
<p>I want to quote so much of this essay, so I’m going to do just that.</p>
<blockquote><p>I’ve always felt that culture is made of the accumulation of small acts of gracious leadership: acknowledging moments of bravery during a retro, teasing out a reticent comment during a product review, and on and on. It can come from other places too, but it is most effective when it comes from the top.</p>
<p>If you’re leading a team remember: Never criminalize pride in craft.</p></blockquote><p><a href="https://unsung.aresluna.org/tags/craft/">#craft</a> <a href="https://unsung.aresluna.org/tags/culture/">#culture</a></p>]]></content>
  </entry>
  <entry>
    <title>“More nuanced, more expert, interaction design skills”</title>
    <link href="https://unsung.aresluna.org/more-nuanced-more-expert-interaction-design-skills" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/more-nuanced-more-expert-interaction-design-skills</id>
    <published>2025-12-04T23:56:30.918Z</published>
    <updated>2025-12-04T23:56:30.918Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://daringfireball.net/2025/12/bad_dye_job" target="_blank">Scathing from John Gruber</a>:</p>
<blockquote><p>I think the fact that Liquid Glass is worse on MacOS than it is on iOS is not just a factor of iOS being Apple’s most popular, most profitable, most important platform — and thus garnering more of Apple’s internal attention. I think it’s also about the fact that the Mac interface, with multiple windows, bigger displays, and more complexity, demands more nuanced, more expert, interaction design skills. Things like depth, layering, and unambiguous indications of input focus are important aspects of any platform. But they’re more important on the platform which, by design, shoulders more complexity. </p></blockquote>
<p>A great read – harsh, but deserved. It’s good to punch up. I don’t have a lot of context on Alan Dye, but the parts that resonated the most was appreciation of the craft of interface and interaction design for complex things. iOS has had occasional sprinklings of great interaction design, especially in its physics-based gestures that blossomed since iPhone X. macOS feels abandoned in this regard, with even hard-won victories like fast Finder and <a href="https://aresluna.org/frame-of-preference" target="_blank">great user preferences</a> deteriorating.</p><p><a href="https://unsung.aresluna.org/tags/apple/">#apple</a> <a href="https://unsung.aresluna.org/tags/mac-os/">#mac os</a></p>]]></content>
  </entry>
  <entry>
    <title>“Fight my way through it all again”</title>
    <link href="https://unsung.aresluna.org/fight-my-way-through-it-all-again" rel="alternate" type="text/html"/>
    <id>https://unsung.aresluna.org/fight-my-way-through-it-all-again</id>
    <published>2025-12-04T19:50:24.838Z</published>
    <updated>2025-12-04T19:50:24.838Z</updated>
    <author><name>Marcin Wichary</name></author>
    <content type="html"><![CDATA[<p><a href="https://robinrendle.com/notes/ditch-those-words/" target="_blank">From my friend Robin Rendle</a>:</p>
<blockquote><p>But here’s what modern UI design looks like: There’s always a confusing title; it doesn’t quickly tell me what to do or what it wants me to understand; beneath that there’s a subtitle, explaining the title again; beneath that there’s several sentences that restates the title and subtitle but simply jumbles all the words around to make it justify its existence; then the button—there is always a button—and it asks me to “Confirm” or “Apply” but as to what I’m confirming or applying I have absolutely no idea unless I go back to the text and fight my way through it all again.</p></blockquote>
<p>Kept nodding through this whole essay. I don’t love nervous user interfaces that share their own problems and insecurities with their users. I love <em>confident</em> interfaces that know exactly what to say, and don’t outstay their welcome.</p><p><a href="https://unsung.aresluna.org/tags/writing/">#writing</a></p>]]></content>
  </entry>
</feed>