But first, some important credits: Emulator: Basilisk II, a 68k Macintosh emulator, by Christian Bauer et al, modified and compiled with Emscripten by James Friend. Installed software from vintage computing archives: WinWorldPC, Macintosh Garden, and Macintosh Repository.
Now put down the keyboard, raise your arms slowly and back away from the NodeJS interpreter. ;)
Electron is only here to ensure that state is saved (save a game, quit the app, start the app, your save game is still there) and to make the mounting of disk images and transfer of files from your local machine super easy.
I wish my old Performa 575 booted that fast or ran Photoshop 3 that well. I am old enough that I started with Photoshop 3 on such a machine, so this really was a trip for me. How utterly cool.
Now if I could run Photoshop 3 natively on THIS box… hoo boy would that be responsive.
Really miss Fireworks.
Crystal Quest and it's sequel, Crystal Crazy
</pointless historical nitpick>
Imagine that being a selling point in an Apple product today...
(I only ever used one real 68k Mac, and that was something donated to my school’s art department).
All software will approach "human speed," whether it's adding two integers or getting near instant predictions from a GAN. All available resources will be used until it's "good enough. Just ship it," and efficiencies will multiple as in any natural selection: defensive measures like "confusing code," and "unrelated system fails when this one is changed" allowing mostly harmless dumb code to survive and propagate.
Some intrepid learner comes to study the code one day. "Huh, I guess this is how you're supposed to do it. Seems kinda weird but I'm sure it was written this way for a reason. It's been like this for a decade!" And so they copy the procedure into their greenfield project.
Efficient code will always be sacrificed to the god of "Just Ship It" as long as the overall performance is "Good enough." And why not?
Only if you really have to use modern software (which, admittedly, we all have to from time to time). Vim, my terminal, grep and GCC are faster than ever!
To really enjoy computers the trick is to run old software on modern hardware.
Every year it seems to get worse.
Plus, most of modern Excel's apparent slowness comes from the animated text input and the animations between cells in the spreadsheet. I think that the text animations could be safely removed, but animations that give users a sense of relativity on the 2D plane when they make movements are very useful for UX.
Sorting large datasets with varying cell heights will bog down your system. Force uniform cell height and sorting can easily be twenty times quicker.
This doesn't happen with any other application.
Hiding the ribbon makes a _huge_ difference. That's hilarious and awful.
you'll find various games and demos preinstalled, thanks to an old MacWorld Demo CD from 1997. Namely, Oregon Trail, Duke Nukem 3D, Civilization II, Alley 19 Bowling, Damage Incorporated, and Dungeons & Dragons.
That meant that 650MB was just colossal. Thousands of exquisite icons, games, productivity, utilities, etc. It was vast.
Besides, the drivers were 2X or 4X, so it really took you a while to browse the whole thing.
Every reading noise would correspond to another portion of the screen being partially painted, something to look forward to.
Same thing hit again later with Napster and building up collections of albums. I didn't even care about the music, but those loading bars hit a primal spot of "acquire," "forbidden fruit," and "anticipatory glee."
Without a doubt I would have a different career should I have not have access to this information.
This is what I do today https://method.ac
I learned so much from those magazines: tips and tricks, reviews of products I could never afford, industry analysis. Being featured on a Q&A session was ecstatic.
A few years ago I had coffee and a Cuban cigar at that store when I visited my parents. I heard it went out of business recently.
Size of this .app on my Mac: 866 MB
Yes, I know, it’s silly to snark on Electron app sizes by this point. You want to see some real bloat? Let’s compare the included Adobe Photoshop 3 and Adobe Photoshop 2020:
Photoshop 3.0.5: 8.9 MB
Photoshop 21.2.1: 2.76 GB
Now that is some bloat.
Sadly I’m not terribly knowledgable if this is easily implementable or not but theoretically you don’t need to allocate all the disk space, just the parts you’ve written to.
Consider graphics resources: modern screens typically 9 to 16 times as many pixels per square inch. Even though Macintosh computers have always been known for their graphical interfaces and use in publishing, user interface elements did not always exploit increased colour depth in the early 1990's. A graphics resource in a modern application can use an additional 4 to 32 times more memory just for colour. Software also tends to incorporate more graphical elements these days, thus adding more bulk. We shouldn't be surprised by Photoshop being 310 times larger. Since people tend to notice the visual quality of software, whether it enhances the software or is pure cosmetics, it is not necessarily a bad thing.
Other aspects of software will also influence its growth. Modern software tends to support more languages and regional variations in how data (numbers, time, etc.) are represented. This virtually always produces a noticeably larger program. More features means more code and associated data, while optimization tends to focus upon speed at the expense of size. Again, programs will be larger. When it improves accessibility and functionality, this "bloat" is a good thing.
I am not saying that bloat is always a good thing and I appreciate how much developers of the past could do so much with so little. My favourite example are early versions of Clarisworks, where a stripped down installation could fit on a single floppy disk while offering a word processor, spreadsheet, database, paint program, vector illustration, and telecommunications software. It also addressed the needs of most home and home office users, even considered in the current context. That being said, most people would consider the presentation stark by modern standards and anyone who takes the time to actually learn how to use their software would find the features skimpy.
I use Photoshop every day, and I know that features added since version 3 that I use take up size:
* Layer styles
* Adjustment layers
* Smart objects
* Camera RAW
* Machine learning selection tools
* Generator for assets
So they have added real, valuable features for me. And I don’t particularly care about application size. Just funny to think you couldn’t even fit Photoshop on a CD at this point.
> Now that is some bloat.
Yeah, but you're roughly 310 times more productive now.
Electron Framework takes up 174 MB.
Past that, the big one is “disk” in Contents/Resources/app/src/ — which I will be completely honest, I don’t know what that is exactly. Is it a disk image? If so, does it have to be set to a reasonably large size at build time so you don’t run out of space in the emulator?
Still pretty cool but not some crazy technological feat.
If you want to mildly astonished of project(s) in a similar vein, look at all the stuff Fabrice Bellard have made! It's really quite impressive.
coincidently today firefox 79 was released, which brings back support for SharedArrayBuffer, which is a key part of the browser port of this emulator
I don't know if you can distribute OS 8.1, but there certainly might be a legal issue with the original ROMs. You're including one and the thing is people used to look elsewhere for those. They're easy to find, and there are tools to dump them if you happen to own such a Mac which would make this issue disappear.
About some posts here. I've never had decent performance with Hypercard in Basilisk II, on the other hand Mini vMac works great for that.
Lemmings run nicely in Executor, which happens to be a nowadays free compatibility layer for 68K Mac software that doesn't need neither a dumped ROM nor any copy of the Macintosh System Software.
Let's take a fully functional emulator that works well on mac OS (https://www.emaculation.com/forum/viewtopic.php?f=6&t=7361) and all 3 major platforms (https://www.emaculation.com/doku.php/basilisk_ii) and port it to JS using Emscripten, and then wrap that into an Electron app, and ship it again on mac OS.
Is this an exercise in how many layers of abstraction one can do things?
…compared to the brushed metal and bizarre volume control in QuickTime in Mac OS 9.
Even now, the OS seems really thoughtfully designed, you can clearly see the lineage to MacOS of today.
Small bug report, my cursor seems to jump around a bit after I've been running it for a few minutes!
Wonder if I can play these@
> Can I connect to the Internet? No. For what it's worth, the web was quite different 30 years ago - and you wouldn't be able to open even Google. However, Internet Explorer and Netscape are installed [...]
If IE and Netscape are available I'd assume this would be alright, unless it's some Electron thingy going on... how's that so?
The emulator this is based on (Basilisk II) does support networking, FWIW.
Separately, very old browsers only talk HTTP 1.0 (No Host: header support, so they can't connect to non-dedicated servers) and no modern ciphersuites. (Can't connect to HSTS servers that disallow insecure ciphers)
TLS would be a bigger issue at the protocol layer and with the web moving to HTTPS everywhere, you'd expect a great deal of sites not to load.
On the rendering side, HTML 5, CSS 3 etc weren't around. In fact I don't even think HTML 4 was around (or if it was, it would have been extremely new so still unlikely to be well supported -- remember how long it took browsers to pass the ACID tests?). Back then it was still common to use framesets and tables for formatting.
Ironically, you'd probably get a better experience elinks or lynx.
Can't remember the name, though (and it's also hard to search for).
edit: browser history to the rescue, it's https://github.com/ttalvitie/browservice
...and then think of how there's no theoretical reason why TLS 1.2, 1.3 or any crypto, really, won't work on such a processor; the practical reason is that no one has really spent the effort to create/port such an implementation.
Google worked, but any further link failed, as expected.
If you're actually on an ancient browser, Google's behavior does matter --- if they send you to https and don't work with ancient SSL/TLS stacks, then you can't use their products. For anything with a login, that seems reasonable, but for search, it seems pretty useful to allow HTTP for ancient browsers, because it's very hard to use the web without search.
A: Even a Mac Plus runs Glider.
If you're looking for games or other software for this check out the always excellent Macintosh Garden.
Cool toy though!