Man, that wasn't minimalism, _the computers really were small._
Man, that wasn't minimalism, _the computers really were small._
Yes, they were. But it was more than that. The machines were very diverse. Several very different video card options were all in wide use and to make them work efficiently meant low level frame buffer work. Pointers were rare and weird, and again, diverse; bus mice, serial mice and other stuff. Writing a GUI compatible with all the permutations of PC hardware while being simultaneously efficient enough to run from floppies was possible with difficulty, but what value would it have provided? These were 16 bit machines with either no or extremely limited (286) MMUs; just how many processes were you going to be multitasking with your 512K of MMU-less RAM?
DOS was just a program loader, and being just a program loader it was perfectly suited to the PC market. You bought a system with the 'adapter' cards you needed, booted DOS and let some program take over the system, be that Word Perfect, Paradox, Lotus 123 or whatever. That was the real, day to day use case for the PC. An advanced user with a 'fast' disk could bounce between programs in a few seconds and that was entirely sufficient for the vast bulk of PC users. It's also not dissimilar to the contemporary phone/tablet use case.
And I don't remember anyone getting too hung up on the C:> prompt. They either acquired the clues needed to run a few commands or had someone make a .BAT file to kick off their program.
There were certainly contemporaries with compelling UIs, but they invariably cost more and had a vastly smaller catalog of software.
Commodore also had the PC Colt series PC compatible systems cheaper than IBM and Compaq etc.
The Commodore name and reputation of selling C64s in toy stores made businesses not see the Amiga seriously.
There also was that Amax Mac emulator for the Amiga as it used the same CPU as the Mac.
But all people could see was the AV part not the other parts.
Computer stores blackballed Commodore products because the VIC20 and C64 sold in toy stores.
A 286 was not as powerful as a 68000 with the coprocessors.
68000 w/coprocessors "felt" on par with a low end 386... though clearly it still lacked in raw computational performance.
The Amiga ran games better than even a 486 thanks to coprocessors multitasking events.
And people were paying for the big heavy cases, expansion slots, full keyboards and etc. Amiga didn't look the part. (And neither did Apple until the Mac IIs came out.)
noooo, why did you make me remember real mode[1]!?
[1]: https://en.wikipedia.org/wiki/Far_pointer#In_16-bit_x86
DOS also provided a little bit of an abstraction layer with its system calls, and some utilities. I just wanted to make the distinction in case any readers took you literally
https://en.wikipedia.org/wiki/Terminate_and_stay_resident_pr...
It's frankly amazing that Microsoft ever managed to get Windows to run on 5150-class machines (which were allowed to have as little as 256 KiB of RAM per the minimum requirements). While the Macintosh had half that much RAM (128 KiB) it had the luxury of storing most of its system and graphics code in ROM. On the PC all the code for Windows had to reside in memory, with an elaborate system to swap code in and out of RAM as needed with absolutely no hardware memory management support. Raymond Chen's Old New Thing blog has some interesting reading on the topic of 16-bit Windows memory management:
1. GlobalAlloc vs LocalAlloc: https://blogs.msdn.microsoft.com/oldnewthing/20041101-00/?p=...
1a. 4-part series on the history of GlobalAlloc: https://blogs.msdn.microsoft.com/oldnewthing/20041104-00/?p=... https://blogs.msdn.microsoft.com/oldnewthing/20041105-00/?p=... https://blogs.msdn.microsoft.com/oldnewthing/20041108-00/?p=... https://blogs.msdn.microsoft.com/oldnewthing/20041109-00/?p=...
2. Walking the stack in Win16: https://blogs.msdn.microsoft.com/oldnewthing/20110316-00/?p=...
3. Fixing up pointers to discarded code segments: https://blogs.msdn.microsoft.com/oldnewthing/20120622-00/?p=...
4. MakeProcInstance: https://blogs.msdn.microsoft.com/oldnewthing/20080207-00/?p=...
5. 16-bit x86 calling conventions: https://blogs.msdn.microsoft.com/oldnewthing/20040102-00/?p=... (Note that 16-bit Windows used the Pascal calling convention to save 3 bytes per function call, which according to a comment on that blog post allowed it to be shipped on one fewer floppy disk compared to the C calling convention.)
That's the L2 cache of an Ivy Bridge CPU.
I remember finding an old laptop that I somehow ended up with in some box: Windows 3.1 with a TCP stack in 8 MiB of RAM.
That's the L3 cache of an Ivy Bridge CPU.
It might not sound impressive today. But back then, playing full screen video on a PC usually required an "MPEG accelerator card"
(Excuse the awful recording quality, all I had was a mediocre phone at the time)
That's the total of the data+instruction L1 cache on each core.
I've used WordStar on a machine with 64 KB addressable, which was as WSIWYG word processor as possible on the text monitor with 80x25 characters. It showed you all the possible actions in each step too -- what even today so many programs don't manage to do. If I remember it didn't keep the whole program in the RAM at once, but had its own swapping mechanism.
I've also used a Turbo Pascal there, which was even on such a machine amazingly fast. By default the compilation was directly to memory, no waiting on any disk.
I sometimes wonder if I'd have gotten into programming sooner had I had exposure more than just Oregon Trail or Number Munchers.
Like, 'cascading' windows (e.g. in Program Manager) made sense in a world where a 12-14" 640x480 monitor was normal, users still wanted to ability to multitask, and skeuomorphic design (everything is a 'window') was the most intuitive analogy for users.
Nowadays you would just tile your two main windows on your widescreen monitor.
Rarely do I really need/want two windows. Worse, since most of what I do is data entry, copying out of a browser is not something I will do by transcribing text, which means I'm likely reaching for the mouse. Which means I don't really care about the wins of a tiling window.
Granted, I do tend to side towards training of a more tiling like experience is far superior to just diving through. However, I no longer subscribe to the idea that knowing the shortcuts and other fancy management tricks of advanced window managers is necessary. I do it nowdays solely because it makes me happy. And this is perhaps why I find the phone so non-compelling of a platform to use.