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.
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.
Michael Abrash's graphics programming tutorials - https://www.jagregory.com/abrash-black-book/
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.
It was educational to try, but fundamentally not a path likely to result in anything but a painful educational experience.
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.
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.
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.
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.
Oh boy, where do I start! You severely underestimate the state of the art for MSDOS bootloader viruses.
E.g., https://en.m.wikipedia.org/wiki/Michelangelo_(computer_virus...
I certainly have some fond memories but I'm pretty happy with modern UIs
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.
But still, I can't help but feel nostalgic!
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.
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.
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.
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.
I did have to do a quick check to see if this library required me to configure expanded memory, however.
Using XWindows just to manage xterms, with everything in text mode besides the window manager itself?
Welcome to 1994 using DG/UX with X terminals.
For a second I thought you are talking about UI in "modern" web apps. Ok some of them are pleasure to work with, but the rest ...
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.
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”)
That frees them to think about other things. Arguably, more important things.
Low.
They were pissed we replaced the Y/N text items with a checkbox. Any deviation, including things like lower case text, were pushed back.
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.)