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

@rezmason Just stumbled on your post and wanted to make sure you saw this piece from John Calhoun about working on the color picker. https://www.engineersneedart.com/blog/almostfired/almostfired.html
Almost Fired

@adamengst I appreciate it! In the lead-up to this post, he answered a lot of my questions in private about various details of the color wheel's timeline. Much of its history just slightly predates his tenure at Apple, but he's generously shed plenty of light on the organization as he remembers it.

It just goes to show, it never hurts to ask 🌟

@rezmason Glad to hear you had connected with John. My experience is that most people from the old days are happy to share their stories.
@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 😉

@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
Oh and forgive me for the mis-autocorrect of your name!
@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 (@[email protected])

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, 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?

@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 @cstross This is wonderful! I skimmed the article on the phone (the iPhone, the most fabulous descendant of the Macintosh), and now I am reading it for real, playing with the emulators, and following your external links. *Thank you*!

I have been using Macs since late 1993, when the Classic II (with System 7) was relatively cheap on sale, so I can follow some of it supported by my own experience. But still I think Susan Kare’s original Control Panel is unsurpassed. I just love it.

@mwichary @siracusa
What a great walk down Memory Lane. Brings me back to why I loved computers back then as a teenager.

@mwichary That was amazing. It killed my browser tab on the NeXTSTEP section, but I'll admit I was playing with Terminal and was trying to see what ifconfig had to say for itself. Sadly I didn't use NeXTSTEP enough back in the day to remember the names of the interfaces - and I'm guessing the emulator might mess with that.

Folks can, and I assume still do, use that interface in OpenStep. Not a huge fan.