Latest Posts (20 found)
Unsung Today

“Scaring the daylights out of unsuspecting users”

(It’s Halloween Week on Unsung, where we’re sharing scary, spooky, and creepy stories.) In 2018, users of the still relatively-new Amazon Echo devices would occasionally hear their Alexa… laughing. It felt completely unprompted, and creepy as hell. There are so many memes and exaggerations that it is hard to find the genuine recording of the synthesized laughter, but I think this video from WTNH News8 captures what it genuinely sounded like: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/scaring-the-daylights-out-of-unsuspecting-users/yt1-play.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/scaring-the-daylights-out-of-unsuspecting-users/yt1-play.1600w.avif" type="image/avif"> There’s not much to the mystery, so I’ll jump to Amazon’s explanations to the story, as excerpted in this Ars Technica article : In rare circumstances, Alexa can mistakenly hear the phrase “Alexa, laugh.” We are changing that phrase to be “Alexa, can you laugh?” which is less likely to have false positives, and we are disabling the short utterance “Alexa, laugh.” We are also changing Alexa’s response from simply laughter to “Sure, I can laugh” followed by laughter. Combine this with potentially overeager wake words… It’s not uncommon for Echo devices to hear sounds and mistake them for a user’s wake word. Amazon’s smart speakers can be programmed to respond to a few words: “Alexa” is the most common, but other options like “Echo” and “Amazon” are available as well. These bouts of laughter could be a byproduct of Echo devices mistakenly hearing their wake words. …and it all starts to make sense. “Echo, laugh” is three grunt-esque syllables and I can imagine other words or even noises interpreted as these. But one of the commenters under the article had a good observation: I’m confused what circumstances could possibly lead to this behavior. Why does Alexa even have a “laugh creepily” response? Perhaps this was nothing more than a programmer trying to add something “cute” to software, and that idea backfiring horribly. It feels similar to all those random and awfully cheap Google easter eggs when you search for specific phrases that randomly change the font to Comic Sans, or rotate the screen, or do other basic things, just because that’s “fun.” (You know me, I will never miss an opportunity to hate on these.) Anyway, it seems like the problem went away after the described patch was implemented. The original WTNH News8 video continues with “One Twitter user even reported an Amazon Echo that began listing the names of local funeral homes and cemeteries without prompting,” and the idea of someone pranking the news team on Twitter was the thing that made me laugh.

0 views
Unsung Today

“As user-friendly as a cactus”

(It’s Halloween Week on Unsung, where we’re sharing scary, spooky, and creepy stories.) There aren’t very many YouTube videos that talk about user interfaces of specific programs. I shared one long ago covering the Apple Music app , and this review by Tantacrul (a.k.a. Martin Keary) of music notation software Finale is so much better and more fun, and I wish there were more like it: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/as-user-friendly-as-a-cactus/yt1-play.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/as-user-friendly-as-a-cactus/yt1-play.1600w.avif" type="image/avif"> It’s not just a cutting critique of the user interface of a badly-aged app. It’s also a great introduction to the whole space, and a thought-provoking case study that goes beyond just UI, but also into business context and market changes. (Finale was released in 1988 and discontinued in 2024.) While I would love to see productions like this for other niches (Blender! CAD! screenwriting software! design tools…?), this video already feels like a must watch to anyone working on complex software – even if it’s far away from music. It is a cautionary tale, and it covers the issues of an aging codebase, complexity, evolving system conventions, user habits, deferred maintenance, plugin ecosystems, innovator’s dilemma, and so on. It will make you think. From the beginning of the video: I want to look at how Finale got started, what was happening behind the scenes and how it got swept away due to larger external forces that its creators could not have predicted. And ultimately, how, when the writing was on the wall – when it was clear that big improvements were needed – it found itself stuck, unable to change. This is a case study in how creative software dies. The video itself is also more creative than you might expect. As a matter of fact, toward the end, it can get a little… unhinged. You’ll know when that happens. And that seems like a perfect transition into Halloween Week on Unsung! Let’s spend an entire week talking about scary and weird stories. It’s going to be fun!

0 views
Unsung Today

Apple’s iPod recreation

Just a week ago , I bemoaned the lack of any good iPod click wheel explainers, and today the news broke about Apple Music hiding a functioning iPod on their 404 page . I am usually not a fan of easter eggs – most of them are poorly made – but this might be the best iPod recreation I’ve seen, and it’s an interesting thing to study: = 3x)" srcset="https://unsung.aresluna.org/_media/apples-ipod-recreation/1-framed.1600w.avif" type="image/avif"> Most importantly, it works well on mobile, too – well, some of the page chrome and ads feel a bit the way, but it’s not a big deal (and you can hide them using the Hide Distracting Items feature in Safari) – so you can pretend you’re holding an iPod in your hand. Worth spending a bit of time with it, especially if you have never used an iPod in your life: Kudos to whomever put this together. This is how you do easter eggs. (I tagged this as emulation , even though this is a grounds-up recreation in HTML, CSS, and JavaScript.) I think it generally covers all the modes etc. (with small exceptions) the typography looks accurate, it has the little “haptic” beeps, it has proper acceleration and the scrollbar, it has a little music library with various playlists, I have only noticed a few small bugs.

0 views
Unsung Yesterday

Mailbag: October 2026

First of all, I wanted to send a thank you to everyone who ever sent me an email or a message. I read all of them, but can’t always respond timely – and sometimes at all – but I enjoy receiving those, and learn a lot from them. I wanted to excerpt a few things I received in recent months, so that you can enjoy them, too! Gabriel Roth pointed an obvious flaw in the Ishmael editor’s Ghost Cut implementation that completely eluded me: You didn’t mention perhaps the worst thing about the Ghost Cut feature in Ishmael — sometimes I want to move text between apps! If I cut something in Ishmael and I want to paste it into BBEdit, I’m out of luck. The “solution” is to copy it first, but the idea of changing cut + paste to copy + cut + paste in certain cases but not others makes me shudder. Ben Zotto sent in a 2006 essay by Joel Spolsky that covers the just-mentioned February 29, 1900 bug on a different occasion. “So, it’s a bug in Lotus 123?” “Yeah, but probably an intentional one. Lotus had to fit in 640K. That’s not a lot of memory. If you ignore 1900, you can figure out if a given year is a leap year just by looking to see if the rightmost two bits are zero. That’s really fast and easy. The Lotus guys probably figured it didn’t matter to be wrong for those two months way in the past. Spoiler: Bill Gates makes an appearance. A while back, I ended a post saying “Who would ever benefit from it behaving this way?” A reader wrote with this fun anecdote: My work buddies coined an absurd acronym for those absurd UI misses: HCTPBWIW How Can This Possibly Be What I Want I received a letter from Pierre-Luc Gagné, explaining in some detail the mysterious Canadian keyboard with unique symbols I wrote about last month . The answer to the mystery: this keyboard was used by Canadian government, which for a while mandated both this specific layout, and these specific icons. The layout originated by the province of Québec trying to improve French keyboards, and was meant to find a balance between the original American-centric layout, and the needs of French language: [The previous layout] prioritized English by putting every accented letter except é under two keystrokes. Glyphs that are far less commonly used like « and < were their own keys, but è and à needed two keys to be written. Francophones write à all the time . This was basically a remnant of typewriters’ operations brought forward to computers. The [new layout] moved most accented letters to their own key. Only the circumflex (^) [requires] two keystrokes, but that accent is the least used. The effort started in the 1990s. Gagné reports that by 2006 it was deemed okay to use the layout, but forgo the special icons – that explains the disappearance of those unique symbols from Apple’s keyboards – and some time after that, the federal government withdrew the order forcing the layout, as well. (It is now only a “guidance.”) Shining more light at the mystery, Gagné writes: “The anglophone majority in Canada never adopted this keyboard, so it’s seldom talked about in English.” (If you are interested in researching this more, the keywords are CAN/CSA Z243.200-92, SGQRI 001, and ISO 9995-7.) From social : The argument that rounded corners reduces the clickable area of a button reminds me of the Mitch Hedberg joke that Kit Kat carving their name into each bar is robbing you of chocolate. Lastly, Kevin Smith wrote this à propos updates , but it is also a good anecdote to follow the more recent post about Linear’s zero-bug policy : I missed the deadline to submit mine, but here’s my folklore.org -type anecdote from my days at Apple: I personally wrote the novice-friendly Terminal warning about the sudo command in OS X. For the longest time, users were greeted with the 90s-vintage warning about properly using sudo: “ We trust you have received the usual lecture from the local Systems Administrator… ” As an AppleCare support drone, I guided customers through a sudo command at least once per week, and always needed to reassure them about what this geeky text even meant. Finally one day I filed a Radar (arguably something that was above my pay grade!) and provided a suggested revision to the sudo warning that was way less inside-baseball. To my utter shock, the Terminal team used my language word-for-word in an OS X update a few months later. I was never even notified that my change was used, it just appeared in Terminal! As far as I know, the sudo warning was removed entirely from Terminal at some point. But as a low-level employee who never even worked in Cupertino, it was an honor for a few of my own words to live inside the OS for a number of years. Thanks again!

0 views
Unsung 2 days ago

Rough and smooth around the edges

It is one thing to draw attention to a hiding place that can be seen , but it’s a different challenge altogether to have to point to something that’s not even on the screen. Let’s rewind to iOS 18 two years ago, and what happened when you swatted away a notification – the movement was nicely reversed, with the UI going back where it came from. A year later, in iOS 26, the movement was generally similar, with a new, more bubbly and “physical” treatment – but also a rather big bug where the background disappeared on the way out. Yikes. This year’s iOS 27 redeems itself in two ways. It not only fixes the animation quality , but it does something even better – it starts and ends the notification reveal in a little bar under the clock. As far as I understand, iOS has consistently been using those kinds of edge bars as signifiers of available edge swipes ever since iPhone X, and this new transition feeds nicely into this system. There is a difference between top drag from the left (notifications), and top drag from the right (control center), and this not only helps convey that, but also perhaps teaches some users about what an edge bar means – so that they know what to do if they see it elsewhere. I do miss the movement simplicity of iOS 18 – a lot of liquid glass feels too… liquid to me – but I like that this evolution also improved the animation on a slightly higher level. Yet, one has to be careful. Here’s YouTube’s animation that plays when you invoke “save to Watch Later”. It’s a concept similar to the iOS 27 choreography above – seeing the item hide itself inside “You” should help in knowing that’s the place to go to get it back – although the execution feels rough and not up to iOS standards: However, the team hasn’t fully thought through the implementation, and this is what happens on the iPad: I believe this is a bug where the left padding from the toolbar below was not added to the confirmation toast position – but its consequences are not just the animation feeling janky. It also teaches the user a wrong lesson, as the item accidentally lands on the Home icon instead.

0 views
Unsung 2 days ago

Before pixels: Speed-Minder

As you could probably tell, I was driving a bit recently, and once in a while saw this kind of a sign , often equipped with a (beloved) segmented font, reporting your current speed as detected by radar: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-pixels-speed-minder/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-pixels-speed-minder/1.1600w.avif" type="image/avif"> Just today, I learned of an early version of this idea: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-pixels-speed-minder/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-pixels-speed-minder/2.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-pixels-speed-minder/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-pixels-speed-minder/3.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-pixels-speed-minder/4.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/before-pixels-speed-minder/4.1600w.avif" type="image/avif"> This was a “Speed-Minder” deployed by Illinois State Police in the late 1950s or early 1960s. The car didn’t have a radar, it just reported its own speed , which I thought was clever. I am not even sure if it was as much to prevent drivers going too fast – I guess that’s what the name suggests – or just to help you calibrate your car’s own speedometer. I can’t find a lot of information whether this was effective in any way, but I just liked this visual of a non-digital speedometer mounted atop an old police car. (Before Pixels is an occasional foray into design ideas before screens came around, shared for context, amusement, and inspiration.)

0 views
Unsung 2 days ago

“No results” doesn’t mean “no results,” pt. 1

This is something I see time and again in Google Maps when plotting directions: = 3x)" srcset="https://unsung.aresluna.org/_media/no-results-doesnt-mean-no-results-pt-1/1-framed.1600w.avif" type="image/avif"> You might be thinking “this feels like a genuine error – not every two places on earth can be connected,” but that’s not it. I am in a good traffic corridor and, ten seconds later, doing the same exact thing again shows proper directions: = 3x)" srcset="https://unsung.aresluna.org/_media/no-results-doesnt-mean-no-results-pt-1/2-framed.1600w.avif" type="image/avif"> The clue as to what’s going on is elsewhere in both screenshots. My cell signal is low, and the Google Maps misrepresents no results arriving because of slow connection, with no results being there at all . Just to get Google Maps off the hook, here’s a similar thing in a Mastodon client Ivory: = 3x)" srcset="https://unsung.aresluna.org/_media/no-results-doesnt-mean-no-results-pt-1/3-framed.1600w.avif" type="image/avif"> There are 123 posts to be seen here, as the page itself conveys elsewhere. But at this moment, the internet is slow, and Ivory jumps to a wrong “no posts found” conclusion, instead of saying “cannot retrieve the posts because of a bad connection.” I believe what’s happening in these moments is that one kind of “no results” (software asked for posts, but the database results came empty) gets bundled with another (software asked for posts, but the database results didn’t come back in time, or transmission was interrupted). This feels important to me, because the wrong kind of an error can really confuse people and make them jump to the wrong conclusions – I guess Mark Simonson isn’t active on social! I guess I can’t drive there! – or even create bad mental models. Also, while this was a temporary situation for me, for a lot of people bad connection is a constant fact of life, so they might encounter this kind of confusion on a daily basis. Software should differentiate between different ways something can be zero , and in this case, communicate that back to the user. What’s really strange is that Google Maps has a separate “no internet connection” state that you can see in other moments – incl. an extra thoughtful and important manual try again button… = 3x)" srcset="https://unsung.aresluna.org/_media/no-results-doesnt-mean-no-results-pt-1/4-framed.1600w.avif" type="image/avif"> …but apparently still fails to use it in all the cases.

0 views
Unsung 3 days ago

“Because most users do not use dates before March 1, 1900, this problem is rare.”

There are really only three contenders for the most popular spreadsheet software: VisiCalc, the first computer spreadsheet and a system-seller for some home computers in the late 1970s, Lotus 1-2-3 dominating early PCs in the 1980s, and then Microsoft Excel (preceded very briefly by Multiplan). Excel dominated the market since the 1990s – so long it’s easy to assume it has always been there, but even hiding within Excel are some quirks of its predecessors. One of them is documented in an official Microsoft Excel troubleshooting document : When Lotus 1-2-3 was first released, the program assumed that the year 1900 was a leap year, even though it actually was not a leap year. This made it easier for the program to handle leap years and caused no harm to almost all date calculations in Lotus 1-2-3. When Microsoft Multiplan and Microsoft Excel were released, they also assumed that 1900 was a leap year. This assumption allowed Microsoft Multiplan and Microsoft Excel to use the same serial date system used by Lotus 1-2-3 and provide greater compatibility with Lotus 1-2-3. Treating 1900 as a leap year also made it easier for users to move worksheets from one program to the other. Yes, even in today’s version of Excel, you can easily get to Feb 29, 1900 – a date that never existed: I find what follows in the same doc really funny, as you can sense perhaps a frustration of someone needing to answer this over and over again, or held to blame for the decision that wasn’t even theirs to begin with: Although it is technically possible to correct this behavior so that current versions of Microsoft Excel do not assume that 1900 is a leap year, the disadvantages of doing so outweigh the advantages. If this behavior were to be corrected, many problems would arise, including: If the behavior remains uncorrected, only one problem occurs: But I also appreciate the details of what is a great example of bug-for-bug compatibility . Almost all dates in current Microsoft Excel worksheets and other documents would be decreased by one day. Correcting this shift would take considerable time and effort, especially in formulas that use dates. Some functions, such as the function, would return different values; this might cause formulas in worksheets to work incorrectly. Correcting this behavior would break serial date compatibility between Microsoft Excel and other programs that use dates. The function returns incorrect values for dates before March 1, 1900. Because most users do not use dates before March 1, 1900, this problem is rare.

0 views
Unsung 3 days ago

“We find many users write to us in a spirit of collaboration.”

From software company Linear, a blog post from last year titled Why we committed to a zero-bugs policy : When we tell people that Linear maintains a zero-bug policy a common response is disbelief. It may sound like a ridiculous approach, but we do it because no other way makes sense. The zero-bug stance means that we address bugs immediately, with the exact number of days depending on the severity: low-priority bugs need to be addressed within 7 days, high-priority bugs within 2. We formalized this approach two years ago. The impetus was actually a bug in a popular consumer app that I had reported to their team. Finally two years ago—and five years after I first reported the bug—I saw that it got fixed. I thought to myself, “wow, millions of users suffered through this bug for years for no reason.” If the company was going to fix the bug eventually, it would have been so much better to fix it right away. That’s the big idea behind our zero-bug policy. We want Linear to be a solid, high-quality product, which means we’re going to address any bug that comes in. Fixing a bug takes the same amount of work whether we do it right away or put it off. But it’s not a zero-sum game: fixing it immediately gives us a higher-quality product and spares users unnecessary pain for the same overall effort. It’s worth a read – especially if you’re a software quality process wonk – with some interesting observations on context switching and other things, for example: I’ve heard stories of companies whose backlogs grow to thousands of bugs. Eventually, instead of fixing the bugs, they just delete the whole thing and start over. It’s a reflection of how when you put bugs in a backlog, in most cases what you’re really saying is you’re never going to get to them. I also applaud the team for recognizing and pointing to the momentum boost and virtuous cycle on both sides – makers and their customers – when something gets fixed quickly after being reported: It’s not uncommon for Customer Support to file a bug in the morning—often through our Intercom integration—and have it fixed by lunch. That kind of turnaround allows us to turn a bad experience—an encounter with a bug—into an excellent one that changes their whole perspective on what it’s like to reach out to a company when something is broken. Over time these experiences have molded the way our user base reacts to imperfections in the product. Instead of coming to us angry or frustrated, we find many users write to us in a spirit of collaboration—working hand in hand with us to make Linear a better product because they trust we’ll respond quickly. It also often turns them into Linear advocates. However, there’s one thing that feels unresolved. The post says “low-priority bugs need to be addressed within 7 days, high-priority bugs within 2” – but what if a bug cannot be fixed within these time limits? I can think of a few reasons: I know getting deeper into the weeds would not make for a nice post with a punchy ending, but I also think the system feels incomplete this way – as with every process, a careless application of a “zero-bugs policy” could fall prey to a sibling of Goodhart’s Law , as the team starts deluding itself into categorizing things as “not bugs,” or find other ways to avoid bigger challenges if they cannot be fixed within the given time limits. Black-and-white systems struggle with shades of gray, and I’d be curious what is Linear’s answer to tackling this tricky part. a bug has a dependency on another, slower-moving piece of software (e.g. the browser or the operating system), the fix is a bigger systemic or change management challenge that will take months if not years to complete (e.g. a keyboard shortcut change or an internal migration), the fix requires a redesign larger than initially suspected, the team disagrees internally on the fix and needs time to hash it out.

0 views
Unsung 4 days ago

Obsessive about obfuscation

My perhaps strangest confession to date: I’m annoyed about all the common ways people obfuscate text. I think I developed this frustration during the GUIdebook times . In my gallery of splash screens , I would often be faced with this situation: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/obsessive-about-obfuscation/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/obsessive-about-obfuscation/1.1600w.avif" type="image/avif"> I didn’t want to propagate the registration info, and could think of a few ways to obfuscate it: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/obsessive-about-obfuscation/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/obsessive-about-obfuscation/2.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/obsessive-about-obfuscation/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/obsessive-about-obfuscation/3.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/obsessive-about-obfuscation/4.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/obsessive-about-obfuscation/4.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/obsessive-about-obfuscation/5.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/obsessive-about-obfuscation/5.1600w.avif" type="image/avif"> The first one felt okay, but it looked like the information just wasn’t there to begin with. Black bars and blurring didn’t look realistic, felt ugly, and drew too much attention to something ultimately not as important. Eventually I arrived at the last solution – the Diffuse filter in Photoshop – which I felt kept the text’s “texture” (or, color in the typographical sense). You can see it everywhere in GUIdebook’s splash collection . What somehow didn’t occur to me at that time was an even better solution: to modify the existing text instead of covering it. Make up a realistic name or serial number, typeset it exactly the same way, and plop it in the same place. This is exactly what I did recently in the post about ⌘1 in Messages – it started with a regular screengrab, but I replaced all the names and avatars with fake ones. I can tell you now: This approach is a lot of work. Which is why I was amazed to discover that a Mac email client called MailMate actually has this kind of a feature built in. It’s called Distortion Mode, and I believe it’s meant specifically to help in taking screenshots without disclosing anything – it replaces all the strings with fake Latin in a rather clever way, and even adjusts the timestamps! The product person in me is a bit weirded out by the name and the whole feature even existing. In what universe is it important to make it easy to take screenshots of mail software? Why wouldn’t the team work on something that actually matters? But maybe it’s okay and even desirable for apps to be a bit quirky this way. MailMate even owns up to it on : MailMate is not for everyone, but if it’s for you then you might never have to switch email client again. Plus, I mean, I started this post by saying “I’m annoyed about all the common ways people obfuscate text” – so let me pass the first stone to someone else.

0 views
Unsung 5 days ago

Motor, motor memory

While I didn’t have as much fun with car lights , I experienced another nice motor memory moment last week when using CarPlay. During my drive, I wanted to ask the new Siri something – but as only an occasional driver, and my phone out of sight, I was puzzled as to how to actually invoke it. I did see the new Siri app icon appear in the sidebar on the car’s screen, but tapping on that only showed me a list of prior conversations. Sure, I could probably initiate a new chat by tapping the button in the top right corner, but that corner felt really far away from where I was sitting, and didn’t feel inviting to someone who – just as a reminder – was driving a car at that time: So before giving up, I did one thing that somehow felt very natural – I pressed and held the “home” button in the bottom left corner: And… it totally worked. I feel that with any good motor memory story , your fingers do something seemingly on their own, and then it’s up to you to figure out why they did so. I believe in this case they did so because Apple built a good set of overlapping gestures and expectations: So, kudos to the many designers on sustaining a stable gesture system that lasted decades, and embedded itself in my fingers so well that it felt completely natural to invoke in a situation I really wasn’t allowed to split my attention or play with the interface. (An extra delightful moment in that last video – note how the physical home button and the virtual Siri button match in size.) In many other places – iPhone, Apple TV – you long press a physical button to invoke Siri. Also, on Apple’s touch devices and on Apple TV, “long press” on a touch target has been a consistent entry point to an “advanced function” in a same way right click is on desktop. Lastly, on earlier iPhones asking for Siri was literally a long press of the physical home button:

0 views
Unsung 6 days ago

“We all hope you have a great week, even if you never buy a Playdate.”

In my inbox, over the years, in no particular order: From: YouTube Premium Subject: YouTube Premium Individual plan price update Email summary: The monthly price is increasing from $13.99 to $15.99. From: 1Password Subject: Important: We’re updating the cost of your subscription Email summary: The annual price is increasing from $35.88 to $47.88. From: GeoGuessr Subject: Upcoming Change to Your GeoGuessr Subscription Email summary: The monthly price is increasing from $4.99 to $6.99. From: DreamHost Subject: Upcoming DreamHost Price Change Email summary: The monthly price is increasing from $13.99 to $16.99. From: Printful Subject: Product and shipping price updates Email summary: Some prices and shipping rates are increasing. The only two emails I could find that were actually honest about the price going up in the subject line, instead of obfuscating it with terms like “change” or “update,” were Apple’s and Panic’s. The former had a subject “Your Subscription Price Increase,” and looked like this: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-all-hope-you-have-a-great-week-even-if-you-never-buy-a-playdate/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-all-hope-you-have-a-great-week-even-if-you-never-buy-a-playdate/1.1600w.avif" type="image/avif"> The latter was titled “Playdate’s price is about to go up a bit” and looked like this: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-all-hope-you-have-a-great-week-even-if-you-never-buy-a-playdate/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/we-all-hope-you-have-a-great-week-even-if-you-never-buy-a-playdate/2.1600w.avif" type="image/avif"> Also note both telling you what the previous price was.

1 views
Unsung 6 days ago

“Hindered by its headline feature”

On his channel about new and old hi-fi equipment, Techmoan profiles a modern Fosi Audio Neo player . Techmoan’s video was originally linked here, but I failed to notice it was an unreleased, patron-only video. If you want to see it, subscribe to Techmoan’s Patreon – it’s worth it! – or wait a few days until the video is released to the public. I will re-link the video then. I’m sorry about that. Fosi Audio Neo apes the iPod. At first glance, it looks exactly the same – a deck-of-cards-sized device with a wheel, and above it a screen showing either the currently playing track, or a hierarchical, textual menu: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/1.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/2.1600w.avif" type="image/avif"> But the reviewer quickly discovers that the iPod copycat is a disaster in use, its creators accidentally highlighting two important rules: To the first point: iPod actually had five main buttons, not just one. This is most visible in the third generation, which put most of the commands above the wheel: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/3.1600w.avif" type="image/avif"> In all the other models, the buttons were integrated around, or even within the wheel: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/4.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/hindered-by-its-headline-feature/4.1600w.avif" type="image/avif"> But the modern product only has one button, and that’s too few for all the necessary functionality. Now “going back” means an unnatural long press. The other necessary commands – like pausing, next track, and previous track – are offloaded to an onscreen menu, which means extra modes and focus states that the original iPod didn’t have. By trying to be simple in a naïve way, the creators of the Neo made their device more complicated. As for the details? The new player has no acceleration curve when you scroll fast, which would help you traverse long lists as quickly as short ones. It has no scrollbar to give you a sense of how long the list is. It has no haptic-like beeps to help mesh the fluid rotation with discrete item jumps (your mouse wheel is doing the same thing!). It has no side-to-side transitions to help you orient yourself in the hierarchy. And, the reaction to every click seemed so slow that it made even me, the viewer, anxious. This second aspect is similar to Photoshop vandalizing its dialogs , or CleanShot bulldozing its settings . Here, the new player also underestimates the sophistication and thoughtfulness of the things it aims to copy. The difficult truth is that while software needs to be simple to the user, that simplicity is nothing but complicated to people designing it. (I tried to find a good iPod click wheel explainer, but I couldn’t find any. (There have been a few web approximations over the years, but they also get a lot of nuances wrong.) I wonder if I should create an online iPod simulator, walking designers through all of its important interface details.) “simple” does not mean “fewer things,” simplicity cannot happen without a lot of small details done well.

0 views
Unsung 1 weeks ago

“Traditional, but puzzling”

In the 1990s, users of some Unix-based operating systems would sometimes see a peculiar error. It happened occasionally when sending an email to a person you might have already sent email to before, and in addition to the error being confusing, the message itself was particularly bewildering. Let’s say you wanted to send an email to “MWichary.” Instead of a confirmation, you would see this: As many strange errors tend to be, this one was at an intersection of four different things. The cause of the error was something many of you will recognize – code being anal about lower- and uppercase. Behind the scenes, a piece of software called sendmail always assumed lowercase user names, which was true early on. “MWichary” was quietly changed to “mwichary” – a user that didn’t exist – and the program reported the literal outcome, instead of its chain of reasoning. The second part was a sort of a meta-error in the error handling routine. Sendmail correctly reported back “User unknown,” but then reflexively added whatever the system error value reported, for extra debugging color. These are usually helpful, reporting things like “Host is down” or “No space left of device” – I bet you’ve seen some of the very distinctive strings if you ever did anything adventurous in the terminal. In this particular context, however, the system error was pretty useless. “Not a typewriter” meant basically “this is a program being run in the background; it’s not meant to accept any user input or write anything for the user to read.” It’s not an error as much as a condition , and is true for a lot of programs quietly doing the operating system’s bidding. But… why was the message phrased this way? That’s just history. Computers were originally connected to typewriters as input/​output. Some of these typewriters were local, attached to the front panel, or console . Others were remote typewriters, or tele typewriters, often shortened to teletype or even tty. If you recognize these terms, that’s because they are still with us today! = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/traditional-but-puzzling/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/traditional-but-puzzling/1.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/traditional-but-puzzling/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/traditional-but-puzzling/2.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/traditional-but-puzzling/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/traditional-but-puzzling/3.1600w.avif" type="image/avif"> You can see how “This doesn’t have input/​output I can do something with” can become a terse “Not a typewriter” in an era when every character feels costly , and a typewriter is your only option for input and output. Then, the string was simply kept a few decades too long, even after typewriters were replaced by teletypes, terminals with screens, and eventually Terminal and Console apps. The fourth piece was fun with grammar: the simple choice of joining the two messages by a colon made it feel like the user was supposed to be a typewriter. The message was eventually renamed. If you encounter it today, it will say “Inappropriate ioctl for device,” which I guess is an improvement. But its code remains . It’s entirely possible it will still be named that decades from now, even after we all forget what typewriters were. (The title of the post comes from the explanation in the manual for the Solaris operating system .)

0 views
Unsung 1 weeks ago

“No standard format for writing data to these tapes”

An 11-minute video from MattKC documenting huge effort to revive a backup tape from a 2000 game Frogger 2: Swampy’s Revenge: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/no-standard-format-for-writing-data-to-these-tapes/yt1-play.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/no-standard-format-for-writing-data-to-these-tapes/yt1-play.1600w.avif" type="image/avif"> This is a pretty harrowing story of restoration, including an extremely obscure backup tape made by a short-lived Dutch company, attempts to reverse engineer a poorly documented data format, a data recovery company that damaged the tape instead of restoring it, and a mad hack to trick the drive into reading it anyway.

0 views
Unsung 1 weeks ago

“Is clip art actually dead?”

A good video from Linus Boman about clip art , most (in)famous from Microsoft Office, and specifically PowerPoint of the 1990s–2000s: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/is-clip-art-actually-dead/yt1-play.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/is-clip-art-actually-dead/yt1-play.1600w.avif" type="image/avif"> Turns out clip art is a lot older than I expected, and… it also never fully went away. On top of that, Boman covers a lot of aspects – from quality and perception, through the “user interface” of clip art, to how the means of conversion and reproduction changed it forever. I also loved the little “sidebars” in the video. Even if you don’t care about clip art per se, a lot of the threads in the video will be relevant to things like shadcn , Inter , Google Fonts, Canva, The Noun Project , the Claude aesthetic , and so on. Also relevant: Internet Archive’s MS Clipart Search .

0 views
Unsung 1 weeks ago

The distance between ⌘8 and ⌘9

One thing that might be fun to add to the ⌘1/2/3 tab post is this: while ⌘1–8 select tabs from the left, ⌘9 doesn’t jump to the ninth tab, but to the last tab: I think it’s thoughtful – a recognition that both edges are important. (Previously we’ve seen Bear understanding that , too.) Why not ⌘0, though? Sure, you can say it’s not as elegant (0 is smaller than 9), or that it wouldn’t work in Hungary… = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-distance-between-cmd8-and-cmd9/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/the-distance-between-cmd8-and-cmd9/3.1600w.avif" type="image/avif"> …but I think the Occam’s Razor is simply that ⌘0 has already been taken by a popular “zoom to 100%” command by then, and overlapped too often for comfort.

0 views
Unsung 1 weeks ago

“Both of these games have had their heydays and then both went astray a bit.”

On the most recent episode of the Waveform podcast, the hosts talk about two new announcements in the MMORPG world (relevant bit starts at 1:21 and goes on for 14 minutes): = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/both-of-these-games-have-had-their-heydays-and-then-both-went-astray-a-bit/yt1-play.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/both-of-these-games-have-had-their-heydays-and-then-both-went-astray-a-bit/yt1-play.1600w.avif" type="image/avif"> The context is this: The new announcements are yet another revisit for each universe: I haven’t played either game, but the segment made me think: why have we never seen non-game software do this kind of stuff? I can think of multiple reasons, but at the same time I am surprised I can’t come up with even just one example of a software company doing something similar – I mean, rewinding the clock – with one of their bloated apps. We have seen companies reboot their software – the most (in)famous examples in recent times I can think of would be Apple’s iMovie ’08 and Final Cut Pro X , Sonos software refresh in 2024 , and Digg redesign in 2010 – but that feels different. Of course, time and again, we also see competition take another crack at a problem and steal the market from an incumbent afraid to cannibalize itself , but that’s also a different thing. In a post not long ago , I wrote: I think that kind of push and pull is important, especially today. I don’t love using Google Sheets, but my favourite spreadsheet is not Excel 97 , either. My favourite spreadsheet is some hypothetical anachronistic version of Excel 97 that also has modern high-dpi typography, and a ⌘K command palette, and today’s trackpad gestures, and support for AVIF and HEIC. …and I still think I would love to see “Excel 97 Revisited” today. But I’m not sure I’ve ever seen anything like it. Please let me know if I am missing something obvious! RuneScape launched in 2001, and World of WarCraft in 2004, each game already had a “relaunch”: RuneScape via Old School RuneScape in 2013, and World of WarCraft with its Classic edition in 2019 – both revisiting and perhaps straight replaying the respective original game, but with some new improvements. RuneScape announced RuneScape 4 – an old game engine but with more modern graphics, World of WarCraft announced World of WarCraft: Forever , which feels like a cross between “reboot” and “rewind” – going back to the original, but creating brand new events and universes within.

0 views
Unsung 1 weeks ago

“They take time. Put in the time.”

À propos the last post , from music editor Marc Weidenbaum : The first is don’t let anyone or anything, or anything acting like anyone, or anyone promoting anything, convince you that craft is outdated or will ever be outdated; you will only improve, only make the sounds you imagine in your mind’s ear and feel in yourself, by working steadily to achieve them. Also recognize that expected paths lead to unlikely ends the more patiently and curiously, guided by instinct and experience, you walk those paths. There is always an excuse to not put in the work. If you allow “AI” (I put it in quotes because it’s less a specific thing, in this context, than what is often cast as, to borrow a historical term, a specter) to become that excuse, well, it’s unfortunate, but there would have been other excuses. So, the best thing to do is put the threat you may perceive from AI in a tidy little box full of all those other excuses, don’t distinguish it from them, and get to work. […] I’ll close now as I opened, with the bad news. These two suggestions, you may have noted, have something in common: they don’t happen instantly, at the push of a button. They take time. Put in the time. (Quote discovered via Robin Sloan’s newsletter .)

0 views
Unsung 1 weeks ago

“I’m ready to throw up at any moment.”

I linked to his work before , and here’s The Art Of Storytelling with another interesting video – about what made Jobs such a good presenter: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/yt1-play.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/yt1-play.1600w.avif" type="image/avif"> I’m not going to spoil the findings, which are presented well with good corroborating examples. But the most interesting thing to me was one short video snippet of Jobs being visibly nervous before a very early, 1978 presentation: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/1.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/1.1600w.avif" type="image/avif"> It made me think about other examples of Jobs being off his presenting game. The most well-known one is likely the 2005 announcement of the “iTunes phone,” or Motorola ROKR E1 , just over a year before the iPhone. It’s a really painful watch, seeing Jobs squint at the sort of interface he usually makes fun of, regretting the whole deal, very aware of the smartphone they themselves are working on, but unable to speak about it yet (the relevant part starts at 17:24): = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/yt2-play.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/yt2-play.1600w.avif" type="image/avif"> But I have another, trickier suggestion: the “Antennagate” presentation of 2010 , where Apple had to do damage control over the issue of the iPhone 4 losing cell signal when gripped a certain way: = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/yt3-play.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/yt3-play.1600w.avif" type="image/avif"> Now, this isn’t a bad presentation. I actually think it is a great one. The arguments are valid, the data solid, and the whole thing comes together well. In the recently leaked and generally rarely witnessed slide-less Q&A portion, Jobs displays understanding of the issue and answers questions well; perhaps I’m grading on a curve here, but even his one moment of anger/​frustration seems so much better handled than the famously impatient and immature Jobs would have done earlier in his career. Both videos are worth studying and teach how to do damage control well, and how to tell stories of things you would otherwise choose never to talk about. But also, early on, it was really fascinating to see Jobs reading off of so many generic, cheap-looking slides with literal sentence fragments, breaking the “show, don’t tell” rule, and – I think – generally using the slides as a crutch walking him through the narrative. It really took me aback because I don’t ever remember Jobs doing that as prominently. = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/2.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/2.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/3.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/3.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/4.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/4.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/5.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/5.1600w.avif" type="image/avif"> = 2x) and (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/6.2096w.avif" type="image/avif"> = 3x) or (width >= 700px)" srcset="https://unsung.aresluna.org/_media/im-ready-to-throw-up-at-any-moment/6.1600w.avif" type="image/avif"> It makes sense. Jobs had to rush back to work from vacation, and the time to put this all together was very limited. I don’t mean necessarily to pick on anyone here, but rather find in all this a confirmation of a universal truth. Sure, Jobs was smart and had a lot of charisma on stage. But in the end, at some point, slides are just like any other kind of craft. You design the slides, you revise them, you practice, you let the practice influence the content, you get feedback, you kill your darlings, you revise again, and repeat all that so many times you get sick of it all. It’s clear to me that the team here ran out of time for this, and there’s something comforting in the fact that even Jobs couldn’t wing it, and still had to put in the work.

0 views