Since it was a boxed-retail model, Infocom probably only made at most 50% of that, so effectively they made maybe $60-75 in today’s money (assuming less than 50%) per copy.
If there had also been an App Store or payment processor skimming 20% in the middle, they’d have made maybe $50-60 per retail copy in today’s dollars.
38,000 copies were sold in 1982 according to Wikipedia.
Let’s say they made $50/copy (which might still be a high estimate - I have no actual idea).
In theory, for 1982, it could have brought in nearly $2mil in today’s dollars assuming around $50/copy (roughly 80% of 50% of the box’s sales price).
I feel like if Iconfactory brought in that much or sold that many copies of any of our software in one year we’d be throwing a freakin’ party.
Obviously not all of that is profit, though! There were a lot of other things they had to produce in order to sell a copy of Zork - things like disks and boxes and manuals (remember those?).
I have no idea how much of the actual cost of the product would have gone into producing all of those parts, so this isn’t entirely comparable to today’s world of no-boxes and no-manuals, but let’s say they could produce the physical parts of the product for 50% of their real (unknown-to-me-but-guessed-at) wholesale price. That means they could have had revenue of 80% of 50% of 50% of the sales price - so maybe $28 per copy? (Fuzzy math here since I keep changing my estimates and rounding but you get the idea.)
Zork went on to sell hundreds of thousands of copies over time - although to be fair, I imagine the price dropped over that time, too.
Today, people expect constant updates and software is pretty much never finished. In the days of Zork, there were different editions and bug-fixes for each episode over the years, but people weren’t entitled to free updates every couple of weeks - if they wanted new bug fixes, they often had to buy a whole new box which meant a chance for more profit for Infocom each time, too.
Right now, Iconfactory Tapestry goes for $1.99/month or $19.99/year. With the App Store taking 20%, that’s more like $1.59/month or $15.99/year depending on which subscription level we’re talking about.
Looking at just the yearly number, it’s close to half of my wild guesstimate of Zork’s $28/copy.
The modern expectation for many apps is that they get updated continuously forever for that price, too, whereas in Zork’s day it was largely one-and-done. (And that’s ignoring the astronomical increase in software complexity since then.)
If we don’t update an app for a month or two, people seem to think it’s dead and they cancel subscriptions, don’t share it with friends, walk away and never come back - despite the app probably still working fine!
If they were subscribed monthly, we might not even get a full year worth of revenue from them. In the worst case, if they only paid for a month, we get a whopping $1.59 which isn’t even enough to buy a medium drink at McDonald’s!
None of this situation is exclusive to Tapestry - it affects all of our software and probably the whole industry (but maybe especially the indie software industry that typically doesn’t rely on selling services).
The drop in software prices over the years was fueled in part by cutting out the physical retail stuff - not filling boxes and shipping things really does lower the cost a lot - but the prices kept falling because you could “make it up in volume.”
For a short period of time that actually kind of worked - the lower prices and “at your fingertips” nature of online software meant selling more copies for less money to more people.
But, I think, not anymore.
]]>It was a pretty audacious (and expensive) idea, but his plan wasn't just to resurrect the trademarks and whatnot, but to also bring together a variety of hobbyist and small-scale projects into a large-scale re-release of the iconic Commodore 64 personal computer itself.
While I'm not very familiar with what has sprung up over the years, I know there have been many enthusiasts and companies periodically releasing hardware to fill this particular nostalgic niche - often in the form of a mini (or even full-sized) box that looked more or less like a C64, but functioned largely as an emulator-in-a-box bundled with a variety of games in a menu and maybe some USB ports with a nonfunctional decorative keyboard.
So while these products scratched some itches, they weren't "real" in the sense that you could have an experience the way you would with genuine hardware.
Unfortunately real hardware has been getting more and more difficult (and expensive) to obtain, and it seemed likely that these emulator products might be the best "new" option more casual enthusiasts were ever likely to get.
The game-console-like products weren't the only Commodore 64 projects out there, though. There were (and are) dedicated fans working on designing and building replacement parts for folks restoring the actual aging hardware from the 70s, 80s, and 90s. There were projects to recreate the keyboard keycaps, the cases, the main boards, and even the microchips inside among other things.
What the YouTuber Christian Simpson (aka Peri Fractic) managed to do was to get the band back together. He raised a bunch of capital, bought the rights to the Commodore name and iconic logo, and even managed to convince some of the original folks who worked at and ran Commodore back in the day to get on board.
He also convinced a lot of folks running hobbyist projects designing and building Commodore 64 replacement parts and upgrades to join, too, and together they combined forces into a brand new reincarnation of Commodore International with the intention of building a new authentic Commodore 64 machine.
This machine would be a faithful hardware-level reproduction - not just an emulator running on a modern processor, but a recreation of the underlying chips and circuitry using an FPGA.
By July they were taking pre-orders for a product that promised to be as true to the original as makes sense in 2025.
Right about the same time in July I was feeling especially nostalgic for hardware from the magical 8-bit era and this project seemed almost too good to be true. I wasn't sure if I wanted to throw money at what seemed like a vaporware product, but dang it, something about it somehow felt right.
I figured if they took 2 years to ship it'd be no big deal since it's not like they were targeting the bleeding edge of tech - the thing is already 40 years out of date, what's a couple more? And unlike some other projects, this one wasn't starting from scratch since they were pulling together many existing parts and pieces into a final product so I figured it had a decent chance of eventually succeeding.
Having convinced myself, I placed a pre-order on July 12, 2025.
A week or so later I started to get a little bit of cold feet about the Starlight edition I had initially pre-ordered. While the idea of a light-up glowy computer was sort of appealing, I decided that what I really wanted was the genuine nostalgia and Starlight wasn't that - it was something kinda new and different.
It was also slightly more expensive than the beige, so I convinced myself to cancel the Starlight preorder and use the price difference to also order a joystick - something else I had realized I'd need.
So on July 24, 2025 I cancelled the pre-order and placed a new one for the BASIC Beige model.
I worried I might have lost my place in line, so to speak, but it was what it was. I stopped thinking too much about it and mentally switched back to the mode of, "I'll be happy if this thing ships at all."
By late November I had somewhat forgotten about all of this until I got a mystery shipping notification from FedEx with a sender I didn't recognize. Long story short, I had guessed it must be the Commodore joystick (since the computers themselves weren't shipping yet) and started to get a little excited again.
Naturally FedEx managed to deliver it to entirely the wrong house, but luckily a neighbor either returned it to FedEx or dropped it off in my mailbox themselves. In any case, it eventually showed up!
With the arrival of the joystick, I started getting increasingly impatient for the actual machine. The joystick was sitting there on my desk taunting me. Eventually I hacked together a little project just so I could use the joystick with my iPad!
Then on December 18, I got an email notification from UPS that another mysterious shipment was incoming. It once again had some unknown-to-me sender and all of our Christmas shipments were accounted for. Could this be the Commodore?!
IT WAS!
It arrived on December 19 and that day turned into one of the most magical days I can remember having in a long, long time.
I chronicled the day on Mastodon in a thread, but I'm going to re-post it here with timestamps and this will serve as my "first impressions" review of the Commodore 64 Ultimate.
12:49 PM: IT'S HERE!! The Commodore 64 Ultimate is here!!
1:06 PM: The box is amazing! There’s a full freakin' spiral bound manual in here, too. There’s stickers. There’s a (USB) cassette tape?! They went so hard. They didn’t need to go this hard. This is awesome.
1:22PM: READY.
1:25 PM: If anyone decides they want one of these machines, in theory this is a $10 discount code. I have no idea if it is single use or not.
1:29 PM: My kids have already stolen it from me and are busy programming it while consulting the excellent manual!
This is probably how my dad felt…
1:55 PM: Typing on this is very very nice. (Aside from the outdated symbol placements and those wonky cursor keys.)
4:21 PM: I haven't hardly been able to touch the Commodore myself between work and the kids stealing it from me. 😛
7:17 PM: My oldest is still hacking BASIC on the Commodore - now by lamplight so he can read the manual. This is pretty much exactly what I was doing in the late 80s - although I was using an Atari 800 and books from the library for a lot of years since I didn’t get ahold of a C64 for the first time until they were already pretty obsolete.
12:24 AM: It is now past midnight and we had to tear the kids away from the Commodore to get them to bed.
I took the machine down to our main TV and we were sitting on the couch computing like it was 1988.
I even read off some BASIC programs for a kid to type in - which was a thing I did with my mom (because she knew how to type) as a kid. lol
Then we took turns playing some of the games on the included "cassette" along with copious amounts of rambunctious trash-talking.
12:29 AM: Basically, it was awesome.
I don't really anticipate a repeat of today's magic moments tomorrow, but it was 100% worth it for today even if we never use the thing again. (Although I know we will.)
I kinda can't believe this product exists and that it really did live up to the hype - even if it was only for today.
The Commodore 64 Ultimate hit me hard in the nostalgia and delivered on exactly what they promised to do and I kind of can't believe it.
Amazingly, some of the magic even carried into the next day - both my youngest and oldest spent several more hours hacking on BASIC programs, exploring menus, and flipping through the manual.
The C64U is a nearly flawless execution and all of the attention to detail with the box, the manual, the keyboard, and the ports have combined into something truly special, I think.
I have no idea if the C64U magic would work on someone who wasn't "there" back in the day or not or on someone who hasn't put themselves into the right mindset beforehand. Would it work on kids that haven't already been exposed to some of this world? I don't know, but this product is probably the closest way we have of finding out without a time machine - and I think anyone even a little bit of curious should give it a try while they still can.
]]>I spent a few minutes showing the kids Windows 3.1 running in a browser PC emulator (what a time to be alive).
They didn't like the windows-inside-windows thing.
Then we dropped down to DOS and their first comment was, "Delete everything!"
It took me a moment to remember the DOS delete command, but we did it. We deleted everything. DOS just lets you do it.
This is what they took from us.
I've spent most of my waking life on a computer and I honestly cannot remember what I did most of the time.
Back when Windows 3.1 was on my PC, what the heck was I doing with it?!
I have no idea.
Prior to regular BBS or internet access it's not like I had a ton of programs to run and I couldn't afford a bunch of games. It wasn't even easy to pirate stuff when you didn't know anyone personally who had any stuff to pirate!
Maybe I just tweaked configs and tested games a lot?
I dunno.
In the Apple II/C64 era before we got a PC I did have several shoeboxes of pirated disks, though, so there were many games to play. But even then, I can't remember very many specific games.
What the heck was I doing?!
I recall spending a lot of hours making levels for Lode Runner.
I also spent a ton of time trying to learn from often-outdated BASIC books I got from the library. Many times they were for systems I didn't even have so the BASIC wasn't always compatible which caused sometimes unsolvable (to me at the time) issues.
I recall spending a lot of effort around 6th or 7th grade plotting Super Mario Brothers characters on graph paper and coding them into a BASIC game I was making all by hand. I had a running and jumping Mario that way at one point.
But I often see posts of people nostalgic for specific games from the 8-bit era and I can hardly remember any. I had an Apple II clone called a Laser 128 and I remember when dad bought it from some reseller in town, they threw in a box of free software and that was one of the reasons he agreed to buy it. I didn't know at the time that the ENTIRE BOX was pirated or what that meant. It was just how things were back then in some places as far as I knew. Wild to think about.
I got my first modem when I still had the C64 which was pretty outdated even then. My modem was 300 baud, baby!
I remember learning that they go faster than 300 and I had serious FOMO for a long time.
What was I doing at 300 baud when it took positively FOREVER for just a menu screen on the BBS to transfer? I... don't know?
But I loved it enough to desperately want a faster modem.
It was the idea of possibility that was intoxicating.
Later on when we got a PC, we didn't initially get a modem because of course that cost a lot extra and my parents really didn't "get it."
I begged a lot over a long period of time.
As I recall, I believe I had to do a whole bunch of snow shoveling one day before they'd agree to take me to Radio Shack so we could get a modem.
It was 2400 baud. Holy shit, dudes! SO FAST!
Between the speed and juggling when I was allowed to use the phone, it took me a week to download the Doom shareware demo.
The anticipation almost killed me.
You'd think having grown up with those old slow speeds I'd be more patient, but no, I think I've become increasingly impatient as things got faster and better. Someone should study this.
Because of some quirk of how I learned about computer stuff and, maybe, the exact book selection my library had, for the longest time I was pretty convinced the only two ways to program a computer were BASIC or Assembly language.
And a lot of the BASIC books left me with the impression that Assembly was almost like... unknowable. I had no idea how to even dip my toes into that world at all. I never ran across anything that told me how to do it or what I'd even need. Nothing that clicked, anyway.
So in my early PC days, I found QBASIC which made sense - of course there was BASIC! But beyond that, I had no idea. So the notion of installing or finding a compiler, for example, was just... foreign. I didn't really get it. Didn't know about it.
Eventually I started to realize there was something called C... and Pascal... and some other things that sounded expensive and exotic. But I didn't have access to any of that stuff and didn't know what questions to ask to get it for a long time.
But things changed quickly.
My memory isn't great at dates or what happened in what order, but I entered high school in 1994 and at the same time, during the summer before high school, I got my first job at a BSS startup (it was just a guy in his apartment initially) that eventually (kinda quickly) turned into the first dial-up ISP in town.
Everything changed so fast during this timeframe.
At the start of high school, BBSs were hot stuff. By the end, some people in town were on cable Internet.
We spent some time working on him, giving him other things to chew on, testing him with super short absences and such, but we wanted a way to try to calm him down or reward good behavior while we were gone so we picked up a Eufy Pet Camera D605 (which I think has now been discontinued) and it let us watch what the dogs were up to and even toss them treats and talk to them using the app.
What we soon discovered is that while young Carrot was indeed nervously pacing or howling in sadness, our older dog Zelda was no angel either. Turns out, she would stand at attention by the window and bark at anything and everything (or more likely at nothing).
Presumably, this was making Carrot even more nervous than he already was. Probably they were both acting as a feedback loop for each other.
While the pet camera allowed us to try to talk to them or tell them no, or reward calm sitting with treats, Zelda, at least, was too smart for it. She knew we weren't there and she knew there wasn't any consequence to not listening to the weird robot camera thing.
Zelda is no stranger to being too smart for her own good. We've occasionally had issues with her ignoring calls to come back inside for much the same reason - she knew if we didn't have shoes on we probably weren't going to actually come get her. So to help correct that, we got a wireless collar that lets you vibrate or beep the dog with a remote control. It worked like a charm - after maybe a half dozen times, she figured out that she should listen to us.
The problem was, we couldn't use the collar to stop her barking when we were away from home because it works with a short range radio signal and there's no app.
Then one day while we were out eating and watching the dog barking her head off at home, I had the idea to make a wifi-enabled collar we could activate remotely when we saw her doing that on the pet camera.
How hard could it be?
Way back in June I picked up a Seeed Studio XIAO ESP32C6 which is basically a whole little computer on a chip the size of my thumb. It has WiFi, Bluetooth, 32 bits, 160 MHz, 512KB of RAM, 4MB of Flash, integrated battery charging circuit, a bunch of I/O ports, and more. I don't even think this is the most powerful or cheapest or top-est of the line thing out there, either. It's impressive and mundane all at the same time!
I thought maybe I could use it to build my WiFi collar idea - all I needed was a way to vibrate and buzz and some simple code to toggle them on and off and a battery and a way to mount it on a dog... okay, so it's not entirely straightforward but it seemed doable.
I ordered some little vibrating motor boards and buzzer boards, some wire and connectors, some rechargeable batteries of various sizes, and spent much of June and July just watching the little thing blink on my desk.
Eventually I got up the nerve to try getting it talking on WiFi - I guess I expected this to be a huge pain, but weirdly the Arduino libraries (or whoever supplies these things) turned out to be super trivial to use. Since I wasn't making a polished product here, I could get away with just hardcoding my SSID and password and in like 3 lines of code it was connected to WiFi and had an IP address!
A few hours later I had an entire web server running on it - there are Arduino libraries for basically everything!
A day or so after that, I had a simple web interface with buttons to blink the LED, vibrate the motor, buzz the buzzer, or any combination of things I wanted.
The tricky part was figuring out how I was going to mount everything on my dog. I spent a long time playing around with all the pieces of the circuit on my desk like a puzzle trying to decide how I could pack them into a small enough space that I could 3D print a container for it all.
Eventually I came up with an idea and spent an entire Saturday and Sunday modeling and test-printing a case and lid prototype in Tinkercad (I should really learn a better tool).
After a few iterations, I was able to stuff all the electronics in the box, thread it on the collar, and screw the parts together. It worked!
The only remaining thing to do was setup some basic password protection and poke a hole through my router so we could access the web interface from outside the house - and then test it!
So yesterday afternoon we all piled in the car to go grab some fast food as an excuse to leave the dogs home alone and test the collar. My wife watched the camera on her phone and used my phone with the web interface for the collar. The moment Zelda barked, she got beeped and boy she wasn't expecting that! She jumped backward in surprise and immediately stopped barking - lol.
She relapsed maybe 3 or 4 times and then gave up and went to lie down on her bed. She very quickly learned her lesson - so I think it worked!
Obviously this isn't a finished "product" by any means - it has loads of usability problems - but it was fun and I'm glad I did it. It's not the most practical thing - it really needs to be used with a camera, obviously, and it being WiFi means it's probably not much good outside (never mind it's not even remotely waterproof).
Still, though, it's amazing that it's possible to have a bonkers hardware idea like this and to be able to make it all at home.
Over the years I have occasionally wished I had a blog again if only to have a place to put longer thoughts that don't fit comfortably on social media platforms, but I didn't really want to build my own blogging platform (like I had in the old days) nor did I really want to use a gigantic system like Wordpress.
I considered a static site generator, but when I looked into it a few times over the years, it seemed like they were primarily command line tools or scripts and folders of bare files and I didn't want to deal with that every time I went to post a rambling thought. Maybe I'd have been fine with it once I got something up and running, but I just never seemed to feel ambitious enough to start setting it up.
More than once I seriously considered going totally bare-bones and actually just editing HTML pages manually if only to avoid having any tool dependencies, but I didn't like the idea of dealing with a mess of hundreds of bespoke HTML files someday in the future if I decided to migrate to something more structured.
Then I ran across Publii which has a really nice GUI that runs locally on my Mac (or Windows or Linux) and it does all the things a static site generator typically can do - but like... with buttons and rich text editors and whatnot.
So I kinda like it quite a bit so far! Obviously it can't do everything and it's not as flexible as some other tools which may or may not bite me someday, but for the moment I really just wanted something simple and easy to use - the kind of thing where I can spend maybe one afternoon configuring and then not think too much about it again.
Publii is all open source and free (there are paid plugins and themes out there for it which help support the developers). Everything is stored on your local computer so you can build previews for the site pretty quickly, you have a local copy you can work with offline (not that I'm ever offline), etc. All the data is stored in mostly regular files so if the app ever died there's a SQLite database with your stuff in it that could probably be pretty easily converted to some other format with a script. Stuff like that.
And it also has a bunch of deployment configuration options to make it easy to publish changes - I'm using SFTP, but it can send your site directly to GitHub Pages, GitLab, some Google stuff, Amazon S3 compatible hosts, a Git repo, etc. with the push of a button.
So here we are. I have a blog again. I don't know how often I'll use it or if anything I post here will be good or worth your time or anything like that... but hey - we'll see.
]]>