Still don’t quite get the DOS nostalgia. Individual games were good, but the whole ecosystem was finicky and crash-prone by the early- to mid-90s, not to mention deeply ugly (ALL CAPS console, lousy inconsistent GUIs, unnaturally short filenames, etc.). My friends and I couldn’t wait to run Unix, NeXTSTEP, hell even classic MacOS. We only ran DOS/Windows because that’s all we had. Though don’t get me wrong, we still had tons of fun and learned a lot.
The irrelevancy is the appeal. It's become something mostly disconnected from everything else.
A world of computing that's not focused around networking or communications where the relationship is between the user and the machine as opposed to the machine being a vessel for a relationship with others.
It is inherently a different kind of computing with a different kind of performance expected between the participants. It's like how people who restore classic cars don't do so because they need a way to get groceries and drive to the office. Anyone with their head on straight would admit modern cars are cheaper to maintain, safer, and have better fuel economy. Doesn't matter, it's not the point.
You nailed it. My attraction to retro-computing is a mixture of nostalgia and a desire to unplug and go "off the grid". Early computers (DOS, Mac, C64, Apple II, BBC Micro, etc.) had a much more intimate feel than today's omni-connected communications devices. It's kind of like reading a book vs watching a live stream (with busy chat scrolling by).
Another aspect to it is the low latency you get when using a machine with very few layers of abstraction between the software and the (usually CRT) display. Using something like WordPerfect for DOS is a dramatically different experience than modern MS Word or Google Docs. Vastly fewer visual distractions as well.
The OS itself was very basic. Learning to program things like TSRs, dealing with HIGHMEM, BASIC and BASIC assemblers vs C and other tools. It was a complicated environment by the restrictions, but those restrictions when explored taught one a lot about programming.
It was a great environment to learn in. I spent time there, on the Amiga, and other systems. I honestly love how easy and powerful systems are now, but miss swap meets and the like for meeting up, talking hardware, software, etc.
I thought DESQview was pretty cool. But none of my nerd friends appreciated it that much. Until I showed them they could hide _Bards_Tale_ or _Sopwith_ from the game-hating highschool librarian with a simple hot key.
I was a brief DOS user for several months (in between C64 and discovering UNIX) around the early 90's, and my opinions of it from the time mostly align with yours. I think the early 90's was an especially rough period for DOS users, because people were trying to push it way beyond what it was originally meant to be.
However, while I certainly don't have nostalgia for DOS in general, there were some positive things about the platform and ecosystem. Some subset of applications had TUI interfaces that were very nice (e.g. Borland C++), and while I'm a die-hard Linux terminal user, I find myself occasionally missing some of the tightness of those interfaces. (I think the UNIX terminal heritage, such as the "alt" key translating to ESC+key, no key-down/key-up events, etc., can limit our modern TUI interfaces.)
I sometimes tinker with some 8086 emulator code for fun, which can lead me to diving into the internals of DOS. Looking at its API (and how the API evolved through the 80's), I can appreciate the simplicity that was necessary to run on machines with as little as 64KB of memory. So I may not have nostalgia for it -- there was certainly plenty of pain -- but it can still be very interesting to explore from an objective historical perspective. There may even be a few things we can learn from it.
There were entire communities based around specific DOS games and applications. Notably: ZZT, MegaZeux, a slew of abandonware games, QBASIC, and so on.
A lot of people discovered just how limited DOS was because they were fascinated by computers, but DOS (and likely Windows on top of it) was the only thing they had at the time. Yet they wanted to push the boundaries and ended up finding the ceiling. At least that's been my experience.
For creative pursuits, limitations can counter-intuitively be good to have. Not only do you learn a lot (and have fun) when you're forced to understand a system well to work around its limitations, but it removes a lot of the distraction of choice ("option paralysis"), so you make creative decisions instead of technical ones.
That's why it was all so much fun. I had so much fun that I'm still actively maintaining one of those originally DOS QuickBasic game engines -- it was ported to FreeBASIC and modern OSes long ago, but it's still got that DOS look and various limitations.
MS-DOS filenames were too short to be useful, but the systems once up and running, tended to run until they were obsoleted. MS-DOS itself is mostly just a program loader, with a bit of file system API to make programming easier. The nice thing was that it was simple, could be backed up easily, and stuff worked as expected, for decades, if necessary.
The other thing is we didn't have to worry about security (much). Because everything could be backed up, and a known safe system state was achievable, and you could even write protect non-hard drive based machines, you could run ANYTHING, and there was nowhere in the hardware for malware to hide if things got squirrely and you rebooted.
You could always just reboot from a write protected system disk, and get back to work. This is a level of security that hasn't been matched since, except for mainframes with their fixed assignment of resources.
I wrote a system that recorded inspections of equipment, involved hand held computers, and a weird Emulex serial card to talk to them. The code was all in Turbo Pascal, with PL/N running on the handhelds. I supported it for a decade until Windows and Networking made things obsolete. It was a great job.
I was a big fan of 80x50 or 80x43 character screen mode.
WAT?! You didn't enjoy running QEMM, running the optimizer to figure out the best order to load things. Configuring EMS and XMS memory? Editing your config.sys and autoexec.bat. Manually setting dip switches and setting pins to try to get your cards to each have a unique IRQ
I certainly have some fond memories but I'm pretty happy with modern UIs
On the surface of it, I look back fondly at those times. It was certainly a good environment to learn about computer basics.
But realistically, I also recall getting pretty frustrated at times. Such as when I just wanted to play Wing Commander: Privateer, but had to spend hours messing with memory settings in `autoexec.bat`/`config.sys` and rebooting just to get it to run. And then I had to spend hours more fiddling with the memory settings, IRQs and the like, just so I could get sound from my Gravis Ultrasound/Soundblaster instead of the PC speaker.
>Manually setting dip switches and setting pins to try to get your cards to each have a unique IRQ
Also, thinking about which IRQs are available when buying a hardware device and how that maps with possibilities for existing devices.
Even more fun - realizing that the solution is to swap network cards amongst a couple of computers because the other network card has more options. So you do the swap (and update the software to use the new ports) and then hope that both computers will even load afterward.
Had to do the planning by hand since this was before I was on the Internet and I don't remember seeing web apps that help with this.
I feel like most of the folks on the DOS nostalgia train are people who didn't actually live through that era trying to make all those things work. As you note, it was finicky, crash prone, and very very annoying to work with.
We did have fun, but we would've had more fun on a more capable, less slapdash OS. Which is why so many of us abandoned Win/DOS at our first opportunity -- either on (likely university-owned) Unix or BSD hardware, or on early Linux, or for some to the Mac or Amiga or even Atari, all of which were empirically better platforms than DOS/Windows at the time EXCEPT for gaming.
I wouldn't paint with such a broad brush. I've recently gotten way into retrocomputing, DOS included, I absolutely lived through that era. I spent my formative computing years in the early to mid 90s deep in DOS, mostly playing games, watching demos, listening to and writing tracker music, and doing pretty rudimentary C/C++ programming.
At the beginning of this year, I built an AMD K6 machine, got my Gravis Ultrasound card working again (which involved ordering a replacement mixer chip from China), and have had an absolutely wonderful time reliving my early computing experiences. And yes, that also includes fiddling with IRQ settings, maximizing low DOS memory, etc. Would I do day-to-day work in this kind of environment? Hell no! But it's a really fun distraction.
What still blows my mind is that there were vastly better technologies at the time.
Back in 1992 or so, I was an Amiga user. I was blessed with both advanced GUIs and advanced shells. AmigaOS wasn't quite Unix, but the shell had similar power. I had friends who used Apple Macintosh computers, and they also bragged about the stuff they could do. (And of course you had other things like NeXT, Acorn's RISC OS, SCO UNIX, and OS/2, all of which had pre-emptive multitasking, but weren't on my radar at the time.)
But the PC was everywhere, and the Amiga was fading, so I got a PC, even though it was ridiculously primitive. While building PCs was fun, everything was a struggle. DOS was crappy, you had to fiddle with memory managers, no multitasking, a terrible file system, and so on. Windows 3.0 was not the dominant player that it would become with Windows 95, and you still did many things in DOS, such as programming. On the positive side, the gaming situation was pretty much as good as it had been on the Amiga. The 1990s was a great time for games.
But it's insane that so much superior tech existed at the time, yet we lost of all that to MS-DOS. It wasn't really until Windows 2000 that we had something decent again, even then it was quickly derailed. I really appreciate that Apple came back and MacOS X became an alternative.
The transition from ANSI graphics to the ugliness of Windows 3.1 or even Desqview was pretty rough. I spent a ton of time in terminal emulators and BBS programs that I found much more intuitive and "pretty". Their graphical counterparts were hideous by comparison. I think I still carry some of that bias with me.
I did have to do a quick check to see if this library required me to configure expanded memory, however.
One of my first jobs involved writing a modern (for the time) GUI app to replace some ancient services that involved logging in a mainframe to use. They needed to updated for a host of technical reasons, but there was also hope that more user-friendly versions would decrease the onboarding time for new employees.
The first version was a fairly literal replacement of the workflows. The users were pissed. They demanded the checkboxes be replaced with "Y" and "N" options to mimic what they were used to. It was interesting to see the reluctance to any change at all.
> The users were pissed. They demanded the checkboxes be replaced with "Y" and "N" options to mimic what they were used to.
If you removed my keyboard workflow, I'd be pissed too. Muscle memory means you don't have to think about it; with the mouse, you always have to think about what you're doing, and can't think of other things (e.g. why you're doing it) while you're doing the rote bits.
Is there a particular reason you couldn't've supported the Y/N workflow? (i.e. “Y” is like “set, tab” and “N” is like “clear, tab”)
> They were pissed we replaced the Y/N text items with a checkbox.
At this point, I'd probably factor out the UI, hand them the client-side source code and tell them to get on with it. If they want to customise the UI, then so long as you're not supporting it…
… but yeah; that's a less reasonable objection than I thought it was. (Still a change to their workflow, and still understandable, but there were legitimate business reasons that the workflow needed to be changed.)