I wrote something new! It’s a UI design history essay about Mac’s Control Panel, and it uses emulation in some… maybe new and maybe interesting ways?

https://aresluna.org/frame-of-preference

Frame of preference

A story of early Mac settings told by 10 emulators.

When I was working on GUIdebook all those decades ago, I was dreaming of being able to tell a) better stories and b) use better technology to tell them. This is me finally getting a chance to try both!

I collaborated on this with @mihaip, whose Infinite Mac powers it and was a genuine inspiration. It was fun (although a little challenging) to integrate emulators into the story in this way, and I’m thankful for Mihai’s patience and code changes to make this possible:

https://infinitemac.org/embed

Infinite Mac

A classic Mac loaded with everything you'd want.

And those changes are now available for anyone who wants, too. Mihai added a bunch of stuff from pausing to screen updates, and he’s writing a separate blog post about it! I will link to it here and in the piece once it’s done.

I hope you enjoy this! I would also love a walkthrough like this for webOS; and iOS 6 transitioning to iOS 7; and Xerox Alto/Star, and comparing early Mac OS to Lisa, Xerox, plus Windows 1; and NeXTStep becoming Mac OS X, and…

This is @mihaip’s post with some more technical details – and some further twists like using an LLM to control an old computer!

https://blog.persistent.info/2025/07/infinite-mac-embedding.html

Infinite Mac Construction Set

persistent.info
Btw what I’m finding endearing in an (appropriately) old-fashioned way is that the entirety of our collaboration happened over one 100-message email thread spanning about three months.

This is your permission to seek out someone whose work you admire and email them with “A collab idea?” ha

Also: It was so much fun to learn new old things. I never actually had any 1984–2004 Macs myself, ever, but in the process of writing I ended up using ResEdit, hacking some CDEVs, resurrecting Mac OS 8.5 beta bits, and generally going deep on this platform I only admired from afar in Poland. (I even emulated Lisa on my machine for the first time!)

@mwichary Well I admire your work! 😁 And I'm working on something very similar, with a focus on the evolution of the classic Mac color picker. infinite-mac has greatly accelerated my research, but I opted to reimplement QuickDraw and some other code in JS; tight integration between emulators and the web stack is a great idea, and for you to get it to work is a stellar achievement!

If you have the time and interest, can we chat about our two projects and technical storycraft in general? 📖 Email, Fediverse, Bluesky DM, video chat, whatever would work for you can work for me.

https://rezmason.net/retrospectrum

@mwichary my goooooouidness. Thanks for this!!!

@mwichary

HOLY FREAKING MOLY. I have no words but "GAH!" right now. And maybe, "INCREDIBLE!"

I'm thinking, "There's no way there's an entire virtual mac inside this webpage. There is no freaking way. WAAAAAAYYYYYYYYYYYYYYYYYYYYYY!!!!!!!!!!!!!!!!!!!!"

SO, since you're a designer with a view towards the history of UI design, I must ask you this...

Does, like, SO much of modern UI design just fundamentally suck right now, or am I just a hopeless digital curmudgeon? I'm talking about the terrible iPad-style shoestring scrollbars, I'm talking about active and inactive title bars being nearly indistinguishable from each other, I'm talking #6a6a6a text over #9a9a9a backgrounds (or something like that), that kind of mess. I'm talking about the unfoundedly cavalier attitudes like "You don't need a system tray," and "You don't need a minimize button. You're using it wrong."

Because if it's the latter (I'm just a curmudgeon), meh, I guess we all have a role to play in this crazy world. But knowing it to be the former (stuff just sucks a lot more now) would be at least a little gratifying. XD

@rl_dane To me it’s a little bit of Column A and a little bit of Column B…

@mwichary Is there a button for resetting the entire article? I missed noticing what I did to trigger one of the easter eggs and wanted to find it again, so I did it by deleting the cookies.

(P.S. There's a typo in the '87 section, "(Apple //outsorced// this feature to a different company)"

@tiikerikani Thanks for the typo report!

The debug thing to reset is

window.localStorage['globalTasksCompleted'] = null

and then reload

or, you know, incognito mode. 😁

@mwichary This is a goddamned tour de force. Congratulations. Incredible.

I quibble with one thing: "outside of the title bar, there is absolutely no text present here.” But do you mean words? Numbers are text in my thinking! As opposed to only symbolic elements.

@glennf Oh, interesting! I see your point. To me numbers do not register as text (somehow?), but „words” is a better word anyway.

@mwichary (editors never stop poking)

I think you’ve invented a new kind of storytelling. Not just embedding the emulator, which is cool and I gather not unique, but the narrative you wrap around it. I love something that can only be told in one medium—to duplicate this article, you can't do anything but create a machine or environment capable of emulation.

@glennf Thanks! I was so inspired by @mihaip’s work and wanted to do something where the story and emulators actually are aware of each other and talk to each other. I’m actually kind of amazed that it works (there’s one easter egg I’m really proud of, haha).

Fun to get to be an alchemist of sorts!

@mwichary @mihaip Two geniuses working together. I am on a slow internet on the road right now, so I have to work through the rest of it later—the more complicated emulators aren't loading.
@glennf @mihaip Yeah, the last three can be pretty taxing overall.
@mwichary This is amazing. Thanks for posting it!
@mwichary Thank you, I love this so much!

@mwichary It seems that emulation psrt is not really working on iPadOS 26 Safari - not sure if that's because of iPad or iOS 26 beta 🤔

Maybe it's worth adding some screenshot-fallback if it's even possible to recognize that emulator haven't started?

@kkolakowski Thanks! I think up until Mac OS 8.5 it worked on my iPad, but the last three indeed killed mobile Safari.

iPad should actually default to videos, not emulators – has that not happened for you?

(You can also individually toggle to a video or emulator if you click on Details.)

@mwichary Yes, sorry for that too eager post. I started poking around it later and I think it's mostly because of my weak network right now (I'm in a train)

I'll double check later with more stable internet 😉

@kkolakowski No worries. Let me know!
@mwichary This was fantastic
@mwichary Nice! It took me a while before I discovered the "unsupported glyphs" were indeed todo items (I was spending way too much time into the web-inspector to see what was going on... That will teach me to jump into any detail I get thrown at).
@mwichary The Dutch localisation of the Control Panel even has a spelling error (keyboard "vertarging" should be "vertraging").
@doekman Ah! That is actually probably me. I had to redo this screenshot from a book.
@doekman Should be fixed now. Thanks for reporting!
@mwichary really, really fun read. the emulation really spiced it up. thanks for it!
@mwichary That’s fab, I love how the emulators match the perspective of the screens. Really impressive.
@mwichary sooo nice! Thanks for putting this out, Marvin!
@mwichary This is some glorious writing. Thank you.
@mwichary It is one of the most gorgeously looking pages.
@mwichary This is captivating! Amazing work, thank you. I have crosstitched the first control panel too, to celebrate the brith of my first child https://eldritch.cafe/@jena/114823733349790729
Jena Warrior Princess (@jena@eldritch.cafe)

Control Panel 1.0 - <p>Pour célébrer la naissance de mon enfant, j'ai brodé le panneau de contrôle du premier Macintosh.</p> <p align="center"><img src="https://jena.pink/bl-content/uploads/pages/38a99ac981b9bcddf6a73848fcc0ed97/IMG_5479.jpeg" alt="Broderie au point de croix, avec une résolution de 28dpi, représentant le panneau de contrôle Macintosh" width="75%"></p> <p>À partir d'une capture d'écran, j'ai créé le modèle à broder, en mettant son nom dans la barre de titre, sa date et son poids de naissance. J'ai mis plusieurs mois à le réaliser, et il est né quelques semaines avant que j'arrive à le terminer, ce qui tombe bien parce que je devait de toute façon attendre la naissance pour les informations de dernière minute.</p> <p>Je suis impatiente de partager un jour avec lui l'origine de cette œuvre de Susan Kare.</p> <p>Vous pouvez jouer avec l'original (dans une émulation) dans ce <a href="https://aresluna.org/frame-of-preference/">très bel article de Marcin Wichary</a>.</p> https://jena.pink/control-panel #broderie #famille #Macintosh

Eldritch Café
@jena Oh! Do you have a photo?
@mwichary Yes! I've added it to the post (it was only linked to my blog post before)
@jena Cool! Thanks! It’s fun to see
@mwichary Thanks! it was fun to make, I'm such a fan of the original design. Thank you again for your article.
@mwichary I’m scrolling along, and get to the Portable shown at an oblique angle and I think “surely not… he didn’t make that interactive.” You did!
@mwichary This is absolutely amazing. Thank you for creating such an immersive and educational experience. I so appreciate your care for details and love of design history. Bravo!

@mwichary

Simply brilliant.

The final three emulations didn't work for me in Firefox (i.e. Gecko). Interesting failure modes: (1) mouse pointer in the emulated screen moved far less than it should have with trackpad movement, as if there were some multiplier at work. The pointer would move 1/5 of the simulated screen by the time the pointer of the enclosing system moved out of the emulation. (2) When I did manage to get the in-emu pointer to the right place and click, after the popup warning that the emulation now controlled the mouse, no pointer was visible in the emu (or anywhere else) until ESC.

@kdawson Thanks for reporting! I will report back to Mihai.
@mwichary, I think that its clock needs some adjustment. It's saying 7 August…
@mwichary this is incredible. great work.

@mwichary Gosh, like *checks* yep, everyone has noted — this is amazing. Inline emulation is mad scientist level. Kudos!

One fun note, Stickies was also third party. Here’s the author’s blog post: https://jens.mooseyard.com/1997/04/13/they-made-me-an-offer-i-couldnt-refuse/

Complete with classic System 7 easter egg 😉

@mwichary I haven't started reading yet, but you've already accomplished something amazing: endeared your dynamic flash messages to me.

@mwichary Question:

> The two keyboard toggles make sense. Even in the early 1980s, there were keyboards – terminals or electric typewriters – whose repeating style you might have gotten used to. We already knew that once something lodges itself in your fingertips, it’s really hard to override it, even consciously, so it was clever to add customization to work around that.

The two keyboard sliders? (hare and tortoise and the one below it) don't actually make any sense to me. What are they for?

@akkartik The same two settings that appear in the Keyboard section of all the other control panels in the article, and probably on your desktop or laptop: how long do you hold a key before it starts repeating, and how quickly it repeats.
@mwichary That first Easter egg! 😍
@mwichary
How much was building out from the Xerox Star base point and how much was just reimagining of what Star had already designed in?

@gregalotl I am more familiar with Alto than Star, so it’s hard for me to answer easily.

My bet is that it’s similar to trying to answer the question: was iPhone a smartphone, or was iPhone *the* smartphone?

@mwichary This is so incredible! Reading it alone would be worth it, but being able to actually try out the different operating systems fully is amazing. And the design is great too