Latest Posts (20 found)
Unsung Yesterday

“Imagine being a pixel on an old Pac-Man game.”

1. In last year’s essay at Tedium, Ernie Smith investigated the rise and fall of screensavers , 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.” As it always happens, what we thought was the first screensaver – Peter Socha’s SCRNSAVE – was far from the original idea: 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. 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. 2. This is an enthralling 1-hour-long video by Savvy Sage that talks about the immense popularity of After Dark, a collection of screensavers for Macs and PCs, of the “flying toasters” fame: = 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"> = 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"> This video absolutely blew my mind. I had no idea the screensavers were so popular that they had their own (official) merch and (unofficial) guidebooks , and that the company that made them employed over 100 people – half of them artists – and had tens of millions of dollars in revenue. 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. 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 absolutely garish , although one also has to account for state of the art of computer graphics at that time. 3. After Dark had a fish aquarium and so did competing products from Microsoft and Fifth Generation Systems – but in a moment likely recognizable to many people reading this blog, one person got fed up with how bad they all looked and created his own screensaver that became as well known as the flying toasters. This 16-minute video by LGR talks about the story of The Marine Aquarium Screensaver: = 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"> = 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"> 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.” 4. Another popular screensaver was Windows’s 3D Pipes, whose (much shorter) origin story is documented by Raymond Chen on his excellent and long-running The Old New Thing blog . But it’s the first comment there that steals the show: 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. […] 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?” 3D Pipes also had some interesting lore behind it : 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. If this doesn’t remind you of that scene from The Office with another famous screensaver … 5. In Smith’s essay , he posts Socha’s recounting of the exact logic of his early screensaver: 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. […] 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. 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 debouncing 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. But on that note, one last video. Do you remember that well-known palette-cycling waterfall I posted some time ago ? = 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"> = 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"> 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. Well, in April, Techmoan unpacked sort of a “prior art” to even that – a picture frame that simulates a waterfall (the relevant video segment starts at 6:04): = 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"> = 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"> 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. 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 inventions, 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 🐐 Norton Commander , Jim Sachs of the marine aquarium screensaver fame did graphics for the legendary Defender of the Crown game, a few people at After Dark also made the original zoom peek gesture before that, and the incredible The Incredible Machine after. It seems like a fascinating time that attracted people equally interested in tech as they were in its creative uses. #easter eggs #graphics #history #real world #youtube

0 views
Unsung Yesterday

“I’ve lost entire sentences of text to this incompetent implementation.”

John Gruber at Daring Fireball talks about a problem in SwiftUI-based macOS and iOS apps where undo is completely broken during text editing : 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. What you expect is for the word “brown” to reappear. What happens is ... the whole sentence disappears . 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. 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): Gruber adds: 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 good idiomatically native apps. You got the correct complex behavior — for things like Undo/​Redo — out of the box. That’s still true for AppKit and UIKit, but it’s never been true for SwiftUI, and SwiftUI is now seven years old . That’s too long for any excuses to hold water. 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. 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: 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. At any company, a version of this list needs to exist for front-end and user-experience problems, and undo problems should be on top of that list. If you break undo, you drop what you’re doing to fix it . #apple #process #undo the app crashes, the site doesn’t load, there is data loss.

0 views
Unsung 2 days ago

“I am skeptical it achieves what Apple intends.”

Nick Heer’s analysis of Apple’s Pages interface over time is a nice counterpart to the recent post about Sinofsky doing the same for the early years of Microsoft Office . Here is the key comparison, 2011–2025: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/1.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/2.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/3.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/4.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/i-am-skeptical-it-achieves-what-apple-intends/4.1600w.avif" type="image/avif"> 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. 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 designers who use all-white for complex surfaces , and arrive at visual hierarchy challenges that now require more work.) 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 doesn’t work that way , but it will be interesting to spot any indirect signs of reactions or course corrections. #apple #nick heer

0 views
Unsung 2 days ago

“Each one of these buttons has four distinct purposes.”

A nice blog post by Nathan Manceaux-Panot on Pending Design about the subtle design of the tabs underneath the search results in the programming editor Nova: 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 four distinct purposes . They’re not just for clicking. 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. I’d add two more things to the celebration: = 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"> = 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"> = 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"> = 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"> 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 seems 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.) = 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"> = 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"> #bear #coding #keyboard #onboarding #search I myself often forget onboarding is not just about the first run, but also about reinforcement . 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. 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 seems 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.)

0 views
Unsung 3 days ago

Book review: Steve Jobs in Exile

★★★★☆ (as a book) ★★★☆☆ (for the purposes of this blog) There are as many books about Steve Jobs as there were Quadra models, but they focus mostly on two phases: Steve Jobs in Exile 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. 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/​Apple merger. Other things that stood out: focus on people around 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. Some learnings: 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 – which you can also see online – but the problem is that those photos are generally not that interesting. That aside, it’s still a breezy and entertaining read that filled in some gaps and provoked new thoughts. = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-steve-jobs-in-exile/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/book-review-steve-jobs-in-exile/1.1600w.avif" type="image/avif"> #apple #book #book review #culture #next #review 1955–1985 – Steve Jobs befriending Wozniak, the early days of Apple, Lisa, and the Mac 1997–2011 – Steve Jobs’s “second act” at Apple, and the creation of the iMac, iPod, iPhone, and so on 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. 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!) 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.

0 views
Unsung 3 days ago

“Artifacts from a strange moment”

Welcome to another Super Mario Sunday! This is an 11-minute video from gruz 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: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/artifacts-from-a-strange-moment/yt1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/artifacts-from-a-strange-moment/yt1.1600w.avif" type="image/avif"> 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. 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 Nintendo’s own “clone” I mentioned before . What I wouldn’t give for some oral history of what looks like an absolutely fascinating time and place for software. #craft #details #games #history #super mario bros #youtube

0 views
Unsung 3 days ago

Face with symbols over mouth, apparently

A nice moment in the iOS emoji keyboard – after selecting an emoji from the grid, its name shows up for a second: I have small reservations here, as reusing a placeholder like this trips up my “ this is cheap ” 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. (Another way of looking at it: This is a tooltip in a place where tooltips cannot exist.) #search #touch #typography

0 views
Unsung 3 days ago

“-4.5° rather than -45°?”

Two nice follow-ups to topics we covered before. In February, Nobert Heger did some analysis of precisely which pixels in Tahoe are intercepted by mouse when trying to resize a window. In April, Steve Ruiz, author of tldraw, did this more extensively for all the drawing apps like Canva, Figma, Illustrator, and so on: 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. 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. = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/1.1600w.avif" type="image/avif"> Remember the “ if you put the Apple icon in reverse ” joke from January? Last month, Jim Nielsen on his blog pulled on that thread and showed a few more examples : = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/2.1600w.avif" type="image/avif"> 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. One finding from this blog post for me was that things changed. In Big Sur, the squircle form factor was encouraged, but not enforced . Well, it is enforced now , when even shapes very similar to the squircle are now inside “the gray box of hell”: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/4.5-degrees-rather-than-45-degrees/3.1600w.avif" type="image/avif"> These gray boxes are not some pedestal for icons. They’re the actual icons. 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. #iconography #interface design

0 views
Unsung 4 days ago

More molly guards

Ever since I wrote a post about the molly guard , I have been on the lookout for those, and I think I collected enough to do a little follow-up. First, some classic industrial molly guards from a museum in Germany: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/1.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/2.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/3.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/4.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/4.1600w.avif" type="image/avif"> This IBM electronic typewriter had a gorgeous perspex molly guard around the power button: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/5.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/5.1600w.avif" type="image/avif"> 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: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/6.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/6.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/7.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/7.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/8.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/8.1600w.avif" type="image/avif"> 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: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/9.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/9.1600w.avif" type="image/avif"> This one is even more clever. You know how some old floppy drives have a handle that lowers the reading/​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: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/10.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/10.1600w.avif" type="image/avif"> On the other side, these following guards are more of a “you really shouldn’t do this” variety – much closer to a disabled state in graphical user interfaces: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/11.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/11.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/12.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/12.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/13.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/13.1600w.avif" type="image/avif"> Let’s jump into software. This is a nice situational molly guard in Finder when you press ⌘O and have a lot of files selected: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/14.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/14.1600w.avif" type="image/avif"> iPhone’s “slide to unlock” no longer graces the home screen, with one exception – stopping the alarm: 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? Speaking of stuff I don’t love, you might recognize this molly guard from Chrome: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/16.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/16.1600w.avif" type="image/avif"> This one never felt pleasant to me. You might say “isn’t the point of the molly guard that it doesn’t 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. Contrast with this extremely skeuomorphic CD burning molly guard in early iTunes, suggested by one of the readers: And lastly, something I didn’t expect to ever see. Per this issue (page 14) of an alumni magazine of University of Illinois, here’s the actual Molly with her father: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/18.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/more-molly-guards/18.1600w.avif" type="image/avif"> #definitions #interface design #real world

0 views
Unsung 5 days ago

“Then suddenly we were boring, bloated, and not particularly interesting.”

In 2021 and 2022, product manager Steven Sinofsky wrote a… …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. Sinofsky called the series Hardcore Software: Inside the Rise and Fall of the PC Revolution . It covers 1989–2012 and somewhere inside over 100 chapters, there is a fascinating six parter about the “ ribbon ” redesign of Office 2007. 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. 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. 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: […] 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. […] Bloat is owning a product that you cannot master. This below is a great observation about the perils of an idea of a “simple mode,” which Sinofsky argues is always a leaky abstraction : 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. It was great to see this argument for a broad definition of a bug, as it slides exactly into my post from a while back : 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. 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: 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. And some about the challenges of figuring out what features people use: […] 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. I should stop quoting and let you read in peace. But, check this out. Lisa wasn’t the only one having linguistic fun: Early keyboard shortcuts were simple, like using Ins(ert) key to copy text from the scrap (clipboard). #case study #complexity #definitions #flow #software evolution What is Software Bloat, Really? A Tour of “Ye Olde Museum Of Office Past” Competing Designs, Better Design Progress From Vision to Beta First Feedback and a Surprise Defying Conventional Wisdom to Finish Office

0 views
Unsung 6 days ago

Good type against all odds

This is not italics. This is not even oblique . 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 rolling shutter in photography.) 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 good. 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 see. 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. 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. Here are some surprising small caps: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/2.1600w.avif" type="image/avif"> Here’s a cute depiction of a train carriage, somewhat hampered by the limitations of a similar workhorse 5×7 pixel font display: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/3.1600w.avif" type="image/avif"> 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: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/4.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/4.1600w.avif" type="image/avif"> Here, someone added nice decoration to fill out the space: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/5.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/5.1600w.avif" type="image/avif"> Here, someone removed all the line height to create a fascinating vertical ligature. This is Gorton and the letters are carved into the plastic, so this required some effort! = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/6.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/6.1600w.avif" type="image/avif"> 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: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/7.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/7.1600w.avif" type="image/avif"> Even if you underline, you can go a little… well, below and beyond: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/8.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/8.1600w.avif" type="image/avif"> Or, here, with maybe the most impressive, three-dimensional underline I’ve ever seen: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/9.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/9.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/10.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/10.1600w.avif" type="image/avif"> This I spotted on an old typesetting machine, and I would like to believe this is an intentional easter egg: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/11.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/11.1600w.avif" type="image/avif"> This was on a computer keyboard. You don’t expect hyphenation in this context… = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/12.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/12.1600w.avif" type="image/avif"> …and you definitely don’t expect an old-fashioned contraction: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/13.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/good-type-against-all-odds/13.1600w.avif" type="image/avif"> #above and beyond #craft #details #real world #typography

0 views
Unsung 1 weeks ago

Three good interactive explainers

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. 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/​unique interactive moments worth knowing about: 1. Curves and Surfaces , Bartosz Ciechanowski 2. ASCII Characters Are Not Pixels , Alex Harri 3. Tab Roving , Niklas Gadermann Also, kudos to all three creators for their explainers working equally well on phones as they do on desktop computers. #above and beyond #interface design #web Every example has draggable points, but it also pops up an undo button once you start messing around, so you can feel safe experimenting: Specific ideas and definitions are color coded between text and the interactive pieces: For complex three-dimensional shapes, you can simply rotate them around to orient yourself better: 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 I can lick my elbow” sense: 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: A button to copy code to clipboard is always appreciated: I don’t know, I liked these minimalistic sliders: 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!

0 views
Unsung 1 weeks ago

A mixed blessing

The otherwise excellent note-taking app Bear has an interesting bug that’s worth talking about while it’s still here. 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: But when you have a larger selection with a mixed state (some checkmarks are on, others off), this is what happens: This feels like an obvious thing to implement, and this is also where the code itself wants to go when left alone. 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: It feels strange to recommend that, particularly as it seems like it loses data. So, what gives? 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 idempotent 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. 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: Elsewhere, in Figma, typing a number on top of a “mixed” state changes all the properties of relevant objects to that number: 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. 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? #bear #bugs #details #flow #keyboard

0 views
Unsung 1 weeks ago

“Whoever is doing this had some fun with adding these portions.”

I hate lorem ipsum with passion, but guess what? There’s more intentionality in it than I assumed, and even easter eggs, as this fun 25-minute mini documentary from Emily Zhang/The Rabbit Hole shows: = 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"> = 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"> 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. Just a fun watch all around. #typography #youtube

0 views
Unsung 1 weeks ago

Writing about fonts

In last week’s post , I made an off-hand comment about Vercel’s Geist Pixel announcement , and I thought it might be interesting to turn this into more of a full-fledged critique. 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. Here’s my advice that I believe would make announcements like this better: 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 started it 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 the machine! But I acknowledge that it might be hard. 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.) 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.) 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. Just to round up this post, some recent counterexamples: #craft #david jonathan ross #storytelling #typography 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 have to use these 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. 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. 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. 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. Related: talk about struggle. Don’t motion in the direction of struggle, 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. Talk about your inspiration or history. What we all do here is part of something 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? Let me type! Immediately and everywhere. I don’t think any modern font announcement/​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 go to the font page , switch to Geist Pixel at the top, and then scroll all the way to the bottom. This feels entirely too far away.) Show, don’t tell, generally. The Geist Pixel announcement feels rife for an avalanche of this, 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 why at the same time. I would love to see the spread of variants, specific examples of how the font is not “breaking in production” or not “scaling properly across viewports.” I don’t know what is a “semi-mono approach” and I would like to learn. 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.) 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. Fran Sans announcement post by Emily Sneddon (complements the font page ) – personal, distinctive, talks about the process, shows interesting artifacts. I feel that every small essay from David Jonathan Ross’s Font Of The Month teaches me something new – pick a font you like on that page, then click Notes next to it. Departure Mono font page by Helena Zhang doesn’t use a lot of words, but still tells a lot. Shantell Sans process post by Shantell Martin (complements the font page ) – already talked about it before .

0 views
Unsung 1 weeks ago

See you on the other side

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: 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”)? Plus, I think any design features that help your brain transition between abstract (list) and physical (map) views are very welcome. 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. #details #google

0 views
Unsung 1 weeks ago

“In a world of unresponsive 911 calls, it is the 912 that actually works.”

I know I just mentioned 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. On that note, this is an interesting, meandering essay by Ernie Smith at Tedium , reflecting on the enshittification of Google and the two-year anniversary of &udm=14 , a simple site that removes AI from Google’s search results: 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. Somewhere in the middle, the essay transitions into talking about the value of good tools and single-serving websites: 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. 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. 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. 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. Previously in this general category, we covered Keyhole and (Gmail) Simplify . If you have a favourite small tool or a simple tool-like website, I’d love to hear from you! #ai #enshittification #google #toolmaking

0 views
Unsung 1 weeks ago

“Nemo? That’s a nice name.”

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. Resetting to default state happens on your phone, too. I’ve been thinking about it this past week and found a few examples. 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.) 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: = 3x)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/3-framed.1600w.avif" type="image/avif"> = 3x)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/4-framed.1600w.avif" type="image/avif"> 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. 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: 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. The extra challenge for Google Search, as it is for many other apps, is that they also 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 how it remembers its precise state even after the system evicts it from its memory. 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. = 3x)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/6-framed.1600w.avif" type="image/avif"> = 3x)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/7-framed.1600w.avif" type="image/avif"> 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. But Spotlight does freshen itself up after about 7 or 8 minutes… = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/8.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/8.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/9.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/9.1600w.avif" type="image/avif"> …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: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/10.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/nemo-thats-a-nice-name/10.1600w.avif" type="image/avif"> #details #google #interface design #raycast

0 views
Unsung 1 weeks ago

“The broken, slapdash, bed-shitting end to one of the most iconic franchises in all of gaming history”

I absolutely love Billy Maher’s body of work . 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.) I linked to his work once before , and today I wanted to share a recent essay about the disaster that was the 1999’s game Ultima IX . = 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"> = 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"> I have never played any Ultima games, but this felt a gripping read. […] 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. 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. 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 Ultima series 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: They met the deadline — what other choice did they have? — but the playable game eluded them. 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 enshittification long before the word’s invention. 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, but one with a sad ending. Maher also lists some learnings that are universal enough to apply to a lot of other projects: And, in case you want more, here are handy links to Maher’s all Ultima essays: I (3 parts!), II (3 parts), III , IV , Multima , V , VI , Worlds , Underworld (2 parts), VII , and VIII . I have no personally read them in order, and I’m better for it. #enshittification #games #software evolution No game can be all things to all people. Development teams need a clear leader with a clear vision. Checking off a list of bullet points sent down from marketing does not a good game make. 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. It’s better to release a good game late than a bad game on time.

0 views
Unsung 1 weeks ago

Shift & ⌥ & Splat & ⎋ Escape

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. On a Mac, the shortcuts are iconographic. Command is ⌘. Option is ⌥. Shift is ⇧. Control is ⌃. Fn is 🌐 . 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 (⎋). 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). Why did Apple go this way? My speculation is the revered Braun 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: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/1.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/2.1600w.avif" type="image/avif"> 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. It’s a hard situation. Here is one of Mac’s own menus being thoroughly inconsistent, and an example of CleanShot using both the icon and the label to be sure: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/3.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/4.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/4.1600w.avif" type="image/avif"> “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 decades to get there for modifier keys alone. Even on the 2026 computers, many other keys like Esc and Tab are still single-legended: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/5.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/5.1600w.avif" type="image/avif"> With all that in mind, I want to show you what I saw the other day in Google Docs, on my Mac: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/6.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/shift-and-option-and-splat-and-escape/6.1600w.avif" type="image/avif"> This is one of those cryptic things that I would love to understand the thinking behind. Because, on the surface, this breaks so many rules: There is also a visual argument that cannot be ignored. We’ve been there once before ; if in your menu keyboard shortcuts start overwhelming the commands themselves, you are probably doing something wrong. 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. 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. #google #iconography #keyboard #mac os 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!) Complex and generally uncommon dual key shortcuts – to collapse the sidebar, you really need to press ⌃⌘A and then press ⌃⌘H, in sequence. Three-modifier-shortcuts are in general really unpleasant and Google Docs does not seem complicated enough to warrant them. (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.)

0 views