Maybe I'm just getting old, but Windows XP was the last version of Windows where usability and UI consistency seemed to be central to the design.
The menu bar was in the same place in every application. Short-cuts were consistent between apps. I didn't have to contend with four different version of the file browser to open a file, or "Show more options" on right-click to get a non-idiot-proof context menu. Icons were high contrast, there were text descriptions and tools tips (instead of cryptic grey-on-grey icons), short-cut combinations were actually included in the menus, and almost every application had a help file!
> The menu bar was in the same place in every application. Short-cuts were consistent between apps.
Thank the "web-devs"... instead of having native looking apps that use OS controls/widgets they want to push dumb html/css/js to "unlease their creativity"... I'm sorry but huge middle finger to you.
I want all my apps to use the same widgets and paradigme and look the same...
Exactly! Let's go back to the times when things were consistent! Remember when you couldn't tell AIM from ICQ from MSN Messenger from Skype because they looked and behaved consistently?
Just find an old Windows VM and put Winamp next to Sonique next to RealPlayer next to Windows Media Player next to QuickTime -- those sure were the days, until the damn "creatives" came with their stupid "web tech."
Exactly! We spent years training reflexes and keyboard shortcuts, only to have window borders change appearance (and get thinner!), menus rearrange, controls vanish unless moused-over, etc. It's an insult.
I try not to think about the collective time and frustration lost to companies wanting their native apps to be "on brand" and cross-platform consistent rather than native. A bunch of extra work to make it that way. A bunch of extra work to maintain it, any place dumb "look and feel" shit like specially-animated buttons or whatever made it fragile. Then on the other side, 99% of the time it's worse to use than if they'd at least mostly stuck with native widgets, so wastes time and causes frustration among users, and then there's the special case of that for accessibility, which is often a true shit-show.
All because the marketing suite can't stand not getting their fingers in something. I want to see the fucking study that says having the buttons on iOS the same shape as the ones on the website adds any number of dollars to the bottom line. C'mon, this is important enough to spend a bunch of money on, slow development, and also make UX worse, must have a good reason for it, right? Surely it's not just an exec who's never done the actual job pushing things for vanity purposes, or a variety of roles padding their portfolios, or needing to market this to toddler-like C-suiters inside the company on some damn powerpoint, right? LOL.
I connect this in my head to a shift in presentation of things like big box stores, which look a lot more consistent and marketing-designed these days than they did in, say, the '90s. Hell, fast food chains, too. It's like some time in the '00s marketing departments across the board received a much greater mandate and I've got this funny feeling that only some of that, and maybe not most of it, is really justified by added value in dollar terms.
But then, for as much as we pretend to be data-driven in business and pay lip service to various science-adjacent notions and think we've really got it all figured out, mooooost of it falls apart if you poke at it a little and it all starts to look very fad and social-proof driven. So I guess just add this to the list of weird stuff companies do for maybe-bad reasons.
I feel the same way, I feel despair when I think about all of the time wasted for such trivial bullshit. But then I'm told I'm being dramatic and to get back to my Jira stories. Line must go up, huh?
While I do think native controls are the better choice, I disagree that companies even though it's harder. They do it mostly because it's easier: write once in JS, push to web, mobile and electron on desktop and be done with it.
This may be the nostalgia factor, but XP was genuinely one of the best operating systems I've ever run.
I had the "Student Edition" and you could trim down all the services to the point that you would have a running OS using just 18 processes. Linux at the time could not compete with that. (Of course, things have changed a lot since then).
Measuring total process count seems like a bit of a nonsense metric, it seems more related to how the services are structured or what features you want enabled rather than any measure of "goodness".
From a security and robustness POV, surely /more/ process separation is a good thing?
Of course, and I recall there being a single windows process that pretty much did everything -- but at the same time I knew that there were no other processes acting in the background other than the ones I actively used, and Windows.
So the point is just “shorter list is easier to look through, and remember which processes are supposed to be there”?
In Linux it was usually pretty obvious what daemon did what on a somewhat well curated system, though. No svchost.exe, and no gargantuan system processes or a kernel overstepping its boundaries.
Back then I was not so savvy with what every process did (over the years, of course, one learns). Windows XP had one main process, and everything else was practically userspace apps
Well, some of these processes did a lot, didn’t they? Sadly, Windows also does or did a lot in the kernel that should actually happen as a process in userspace.
When was this? I used VectorLinux on a 600MHz celeron with 64MB RAM for a year at uni, and I could tell you what every process was doing there - everything else had to go.
Well, okay, puppylinux was pretty good if I recall in that respect. This was ~15ish years ago, and I think that debian and slackware were bloated in comparison to XP back then
Yeah VL was based off slack but they ripped a bunch of things out, and I carefully went over the bootscripts and removed a bit more of things I didn't definitely need.
I don't really blog, and I've forgotten all the juicy details at this point. It was an old thinkpad that just barely booted up windows ME and then couldn't do anything useful. VectorLinux was a really great match for it, I think they claimed to have fiddled with the kde libraries at the source level and ripped out a bunch of things to make it all snappier - I don't know to what extent that's true, but that crappy little laptop allowed me to run firefox, openoffice, skype, matlab and latex (not all at the same time - at most two) for my first year of uni.
I think that’s true. I recently installed Windows 2000, also for nostalgia, and marveled at the icons. I like the Windows 3.11 (not so much the 3.0) icons even more.
They have such a charm and special style that only works through their low pixel count, but if you would pixelate icons today it would just look gimmicky and out of place with the rest of the OS.
It depends on the design of the icon. You generally can't scale Windows 3.1 graphics to higher resolutions without it looking like it's lacking details. The charm was with what you couldn't see and your mind could fill in the blanks.
Yep, that’s what I mean. Art comes from restriction, and the designers at Microsoft did really charming stuff with what they had to work with.
I still vividly remember such simple but delightful things as the Excel icon, or the icon of a stylized 386 processor for the System category in Control Panel.
Windows 2000 was this for me, but it's true that you could opt out of the bubble gum skin and get a more conventional look from XP if you preferred that.
I doubt we'll see as tight consistency again but the cause and effect more being Windows XP released 6 years after the taskbar debuted in Windows whereas now there is closer to 30 years of stuff expecting to still run the same as it did back then rather than a change of goals. I still wouldn't mind if it were a bit better on the consistency anyways though...
Yes, this was purely a "why not?!" project, it doesn't really make sense and using VMware or true low-level emulation like 86Box is a way better option than using completely unsupported software.
Following on from this, I looked at another of your articles, and learned of the existence of Andrey Muzychenko, and his reverse engineering efforts and making this https://github.com/k4zmu2a/SpaceCadetPinball
Crazy! Playing right now, so happy. Reverse engineering and the people who practice it are legends.
I’m old enough to remember the release of Windows 3.0! (Before that I used Windows 2.1 and was technically around for all Windows releases, but didn’t hear about the release.)
But just last month, when I installed Windows 2000 on a new-old-stock laptop from 2008 (which was surprisingly challenging as well), I realized that it does start to feel retro by now…
Were there any shims or workarounds (specific to an upgrade path from a DOS-based Windows) that were left in place in XP to keep things chugging along?
I’m wondering whether a clean install worked more efficiently versus an upgraded install.
This article is not very clear. After the author realizes that they don't have low-level access privileges they just... do the thing that failed 20 times before and suddenly it works with no explanation as to why.
They tried upgrading from Windows 98 to Windows XP, hoping that it would work like upgrading from Windows 98 to Windows 2000 did, but it didn’t. Then they realized that upgrading from Windows 98 to Windows 2000 and then to Windows XP might work, and it did.
It’s important to realize that Windows XP was the successor both to the NT line (Windows NT/2000) as well as to the DOS-based consumer-oriented line (Windows 95/98/ME), hence upgrading from Windows 98 to Windows XP is the natural path, whereas upgrading to Windows 2000 in between is kind of a detour.
I think clean installation failed, there is/was another installation route with upgrade.
I agree that the low-level explanation is lacking, but in fairness dosbox-x doesn't sound like it offers that (out of the box).
I'm guessing what happened, the boot sector etc. were installed by 98, win2k had some way of converting from FAT32 to NTFS, and the winxp installer just sets some flags and dumps install files on disk somewhere.
Getting all that from "it's the NT conversion" is a stretch, but.
That's my current theory as well. IMHO that's the reason why an upgrade from 98 to XP failed while it ran successfully by using Windows 2000 as the base installation.
Note that I was totally skipping the text-based installation stage when upgrading from Windows 2000 while I got it when starting the installation from Windows 98 - that's where the "NT conversion, stupid!"-theory came from.
No, he was not realizing that. Was wondering if that's the case. The realization comes later with understanding NT vs FAT conversion that was happening. Hence why the upgrade route via W2000
Why Dosbox/Dosbox-X instead of qemu or VirtualBox in general? Dosbox and Dosbox-X focus much more heavily on accurate emulation, rather than fast virtualization. Peripherals are implemented to match the original period-correct hardware, rather than as a "good enough" view or cooperative facade requiring guest support. Weird CPU errata (like specific carry register behavior) is implemented.
Why the author chose Dosbox-X to try to run Windows XP? It sounds like Because They Can.
This makes me very much want to tinker with DosBox myself.
Qemu can IIRC do similar things with drivers but possibly because it was co-opted to run android emulator imgs (which are all very standard and boring), it seemed difficult to tinker with custom drivers and emulated hardware.
The above could just be my own inexperience talking, but examples are one of the best ways to learn, if DosBox-X takes extra care that's noteworthy at least.
One of the primary reasons for using DosBox vs virtualization, at least for actual DOS software, is that lots of old DOS games and apps are designed to run on a specific x86 chip and clock speed.
The classic example is the earlier Wing Commander games - run them on anything faster than the period correct 286/386 CPUs that were out at the time of release, the games timing/speed gets severely messed up. DosBox has nice features to let you control the CPU speed to try and make these games work again.
Software such as Wing Commander were never tested/designed originally to run on faster CPUs that didn't exist back then and software timing can sometimes only be correct on very specific chips and clockspeeds.
Here with XP, its just cool - not a practical or performant choice.
DOSBOX-X and x86box emulate 3d graphics accelerators properly, and the native drivers in Windows support these. That means you can run games that require 3D acceleration. VirtualBox, VMWare often do not support 3d acceleration for older OS - not sure about qemu though.
Nothing. Author wanted to push the limits of unsupported stuff on a ongoing project. Myself I prefer vmware instead of virtualbox and/or qemu. When it comes to virtualization and fast spinning whatever flavor of the month a new OS pops vmware is undisputed king.
This is objectively incorrect: vmware/qemu and dosbox are _not_ interchangeable technologies even if it seems like they try to do the same thing, with various comments on this post nicely explaining why and how =)
Maybe I'm just getting old, but Windows XP was the last version of Windows where usability and UI consistency seemed to be central to the design.
The menu bar was in the same place in every application. Short-cuts were consistent between apps. I didn't have to contend with four different version of the file browser to open a file, or "Show more options" on right-click to get a non-idiot-proof context menu. Icons were high contrast, there were text descriptions and tools tips (instead of cryptic grey-on-grey icons), short-cut combinations were actually included in the menus, and almost every application had a help file!
Can we go back to that, please?
> The menu bar was in the same place in every application. Short-cuts were consistent between apps.
Thank the "web-devs"... instead of having native looking apps that use OS controls/widgets they want to push dumb html/css/js to "unlease their creativity"... I'm sorry but huge middle finger to you.
I want all my apps to use the same widgets and paradigme and look the same...
Exactly! Let's go back to the times when things were consistent! Remember when you couldn't tell AIM from ICQ from MSN Messenger from Skype because they looked and behaved consistently?
Just find an old Windows VM and put Winamp next to Sonique next to RealPlayer next to Windows Media Player next to QuickTime -- those sure were the days, until the damn "creatives" came with their stupid "web tech."
I think they were referring to internal consistency?
Windows XP did allow apps to do some crazy things, though not sure how much of that was unique to XP vs legacy APIs.
Exactly! We spent years training reflexes and keyboard shortcuts, only to have window borders change appearance (and get thinner!), menus rearrange, controls vanish unless moused-over, etc. It's an insult.
I try not to think about the collective time and frustration lost to companies wanting their native apps to be "on brand" and cross-platform consistent rather than native. A bunch of extra work to make it that way. A bunch of extra work to maintain it, any place dumb "look and feel" shit like specially-animated buttons or whatever made it fragile. Then on the other side, 99% of the time it's worse to use than if they'd at least mostly stuck with native widgets, so wastes time and causes frustration among users, and then there's the special case of that for accessibility, which is often a true shit-show.
All because the marketing suite can't stand not getting their fingers in something. I want to see the fucking study that says having the buttons on iOS the same shape as the ones on the website adds any number of dollars to the bottom line. C'mon, this is important enough to spend a bunch of money on, slow development, and also make UX worse, must have a good reason for it, right? Surely it's not just an exec who's never done the actual job pushing things for vanity purposes, or a variety of roles padding their portfolios, or needing to market this to toddler-like C-suiters inside the company on some damn powerpoint, right? LOL.
It’s all such a waste of human life time, an actual tragedy.
I connect this in my head to a shift in presentation of things like big box stores, which look a lot more consistent and marketing-designed these days than they did in, say, the '90s. Hell, fast food chains, too. It's like some time in the '00s marketing departments across the board received a much greater mandate and I've got this funny feeling that only some of that, and maybe not most of it, is really justified by added value in dollar terms.
But then, for as much as we pretend to be data-driven in business and pay lip service to various science-adjacent notions and think we've really got it all figured out, mooooost of it falls apart if you poke at it a little and it all starts to look very fad and social-proof driven. So I guess just add this to the list of weird stuff companies do for maybe-bad reasons.
I feel the same way, I feel despair when I think about all of the time wasted for such trivial bullshit. But then I'm told I'm being dramatic and to get back to my Jira stories. Line must go up, huh?
While I do think native controls are the better choice, I disagree that companies even though it's harder. They do it mostly because it's easier: write once in JS, push to web, mobile and electron on desktop and be done with it.
Yeah but look how _cool_ those css effects look. What, people actually use keyboards to navigate?
> I'm sorry but huge middle finger to you.
Amen.
My inner voice of Nostalgia just whispered: All the gorgeous pixels gone with the wind.
[delayed]
This may be the nostalgia factor, but XP was genuinely one of the best operating systems I've ever run.
I had the "Student Edition" and you could trim down all the services to the point that you would have a running OS using just 18 processes. Linux at the time could not compete with that. (Of course, things have changed a lot since then).
Measuring total process count seems like a bit of a nonsense metric, it seems more related to how the services are structured or what features you want enabled rather than any measure of "goodness".
From a security and robustness POV, surely /more/ process separation is a good thing?
Of course, and I recall there being a single windows process that pretty much did everything -- but at the same time I knew that there were no other processes acting in the background other than the ones I actively used, and Windows.
So the point is just “shorter list is easier to look through, and remember which processes are supposed to be there”?
In Linux it was usually pretty obvious what daemon did what on a somewhat well curated system, though. No svchost.exe, and no gargantuan system processes or a kernel overstepping its boundaries.
Of course, that’s very different nowadays…
Back then I was not so savvy with what every process did (over the years, of course, one learns). Windows XP had one main process, and everything else was practically userspace apps
Well, some of these processes did a lot, didn’t they? Sadly, Windows also does or did a lot in the kernel that should actually happen as a process in userspace.
When was this? I used VectorLinux on a 600MHz celeron with 64MB RAM for a year at uni, and I could tell you what every process was doing there - everything else had to go.
Well, okay, puppylinux was pretty good if I recall in that respect. This was ~15ish years ago, and I think that debian and slackware were bloated in comparison to XP back then
Yeah VL was based off slack but they ripped a bunch of things out, and I carefully went over the bootscripts and removed a bit more of things I didn't definitely need.
Blog post please
I don't really blog, and I've forgotten all the juicy details at this point. It was an old thinkpad that just barely booted up windows ME and then couldn't do anything useful. VectorLinux was a really great match for it, I think they claimed to have fiddled with the kde libraries at the source level and ripped out a bunch of things to make it all snappier - I don't know to what extent that's true, but that crappy little laptop allowed me to run firefox, openoffice, skype, matlab and latex (not all at the same time - at most two) for my first year of uni.
> Icons were high contrast
Seriously. Who demonized having legible color icons in exchange for blurry grayscale icons?
Ironically, having to support high-DPI displays destroyed having nice icons.
I think that’s true. I recently installed Windows 2000, also for nostalgia, and marveled at the icons. I like the Windows 3.11 (not so much the 3.0) icons even more.
They have such a charm and special style that only works through their low pixel count, but if you would pixelate icons today it would just look gimmicky and out of place with the rest of the OS.
It depends on the design of the icon. You generally can't scale Windows 3.1 graphics to higher resolutions without it looking like it's lacking details. The charm was with what you couldn't see and your mind could fill in the blanks.
Yep, that’s what I mean. Art comes from restriction, and the designers at Microsoft did really charming stuff with what they had to work with.
I still vividly remember such simple but delightful things as the Excel icon, or the icon of a stylized 386 processor for the System category in Control Panel.
> the designers at Microsoft
Susan Kare did a lot of those! I love how they're just as expressive at 16-colors as at higher color depths. https://www.stardock.com/blog/502254/the-evolution-of-comput...
Ah, thanks for telling me that. I had absolutely no idea she had any involvement, but now it makes perfect sense.
That's true. Right up until you look at Haiku and its vector icons. But I get it. Everyone has to look the same.
Windows 2000 was this for me, but it's true that you could opt out of the bubble gum skin and get a more conventional look from XP if you preferred that.
This was still largely true with Windows 7. Starting with Windows 8 the UI story really went to hell.
Okay, that's good to know. I was a Mac user from 2007 to 2018, so I missed the entirety of the Windows 7/8 generation— going directly from XP to 10.
10 was a bit of an improvement over 8, so at least you skipped the worst with 8. I haven’t had the heart to install 11 yet though.
> Windows XP was the last version of Windows where usability and UI consistency seemed to be central to the design.
Ever used Win 7? Way better, and not a candy UI.
Aero is like the definition of candy
Not of candy (like XP), but of eye candy maybe.
I doubt we'll see as tight consistency again but the cause and effect more being Windows XP released 6 years after the taskbar debuted in Windows whereas now there is closer to 30 years of stuff expecting to still run the same as it did back then rather than a change of goals. I still wouldn't mind if it were a bit better on the consistency anyways though...
This, especially if you turned off the extra UI bits, under performance options.
Honestly, Windows 2000 UI with the right click menu on the start button from Windows 10 onwards would be a near perfect Windows UI for me!
I know the 3D effects are considered dated now, but I found them very useful from a separation PoV.
Hi folks, thank you so much for your comments!
Yes, this was purely a "why not?!" project, it doesn't really make sense and using VMware or true low-level emulation like 86Box is a way better option than using completely unsupported software.
Currently going through your comments...
Question: Why didn't you just slap a No-CD patch on The Sims to see if it could run?
The game is almost 25 years old (ow, my bones) I don't think anyone would bat an eye if you circumvented the DRM
> The OOBE started, but what an experience it was! This wasn’t an experience. This was pure madness!
Very enjoyable. I was overjoyed seeing shots of 3D pinball.
Following on from this, I looked at another of your articles, and learned of the existence of Andrey Muzychenko, and his reverse engineering efforts and making this https://github.com/k4zmu2a/SpaceCadetPinball
Crazy! Playing right now, so happy. Reverse engineering and the people who practice it are legends.
There are people who create checksums of iso's and there's people like me.
And then there are people who do not read the ToS and then there's also nobody else.
I miss the simplicity of windows xp. sometimes.
I still use Windows XP, even managed to install the last ever version of Netscape. It was working with most mainstream site up until a few years ago.
As much as I love my retro-computing, I keep it far away from open networks…
It makes me feel so old to hear Windows XP described as "retro-computing". >smile<
I’m old enough to remember the release of Windows 3.0! (Before that I used Windows 2.1 and was technically around for all Windows releases, but didn’t hear about the release.)
But just last month, when I installed Windows 2000 on a new-old-stock laptop from 2008 (which was surprisingly challenging as well), I realized that it does start to feel retro by now…
Were there any shims or workarounds (specific to an upgrade path from a DOS-based Windows) that were left in place in XP to keep things chugging along?
I’m wondering whether a clean install worked more efficiently versus an upgraded install.
Clean install failed directly. Without a hiccup at the very first file. Only taking the upgrading route via W2000 it worked.
Correct, that was the only way to get things working.
This article is not very clear. After the author realizes that they don't have low-level access privileges they just... do the thing that failed 20 times before and suddenly it works with no explanation as to why.
They tried upgrading from Windows 98 to Windows XP, hoping that it would work like upgrading from Windows 98 to Windows 2000 did, but it didn’t. Then they realized that upgrading from Windows 98 to Windows 2000 and then to Windows XP might work, and it did.
It’s important to realize that Windows XP was the successor both to the NT line (Windows NT/2000) as well as to the DOS-based consumer-oriented line (Windows 95/98/ME), hence upgrading from Windows 98 to Windows XP is the natural path, whereas upgrading to Windows 2000 in between is kind of a detour.
The authentic Windows XP experience!
I think clean installation failed, there is/was another installation route with upgrade.
I agree that the low-level explanation is lacking, but in fairness dosbox-x doesn't sound like it offers that (out of the box).
I'm guessing what happened, the boot sector etc. were installed by 98, win2k had some way of converting from FAT32 to NTFS, and the winxp installer just sets some flags and dumps install files on disk somewhere.
Getting all that from "it's the NT conversion" is a stretch, but.
That's my current theory as well. IMHO that's the reason why an upgrade from 98 to XP failed while it ran successfully by using Windows 2000 as the base installation.
Note that I was totally skipping the text-based installation stage when upgrading from Windows 2000 while I got it when starting the installation from Windows 98 - that's where the "NT conversion, stupid!"-theory came from.
The way I read it is that instead of trying to upgrade directly from 98 to XP, they went from 98 to 2000, and then to XP.
No, he was not realizing that. Was wondering if that's the case. The realization comes later with understanding NT vs FAT conversion that was happening. Hence why the upgrade route via W2000
Fun article. A bit of mental time-travel back to early teen years and struggling to learn native windows game programming. :)
Cool and all but what is wrong with qemu, virtualbox, etc?
Why Dosbox/Dosbox-X instead of qemu or VirtualBox in general? Dosbox and Dosbox-X focus much more heavily on accurate emulation, rather than fast virtualization. Peripherals are implemented to match the original period-correct hardware, rather than as a "good enough" view or cooperative facade requiring guest support. Weird CPU errata (like specific carry register behavior) is implemented.
Why the author chose Dosbox-X to try to run Windows XP? It sounds like Because They Can.
> Because They Can.
It's probably also a great way to find bugs.
Ooh.
This makes me very much want to tinker with DosBox myself.
Qemu can IIRC do similar things with drivers but possibly because it was co-opted to run android emulator imgs (which are all very standard and boring), it seemed difficult to tinker with custom drivers and emulated hardware.
The above could just be my own inexperience talking, but examples are one of the best ways to learn, if DosBox-X takes extra care that's noteworthy at least.
One of the primary reasons for using DosBox vs virtualization, at least for actual DOS software, is that lots of old DOS games and apps are designed to run on a specific x86 chip and clock speed.
The classic example is the earlier Wing Commander games - run them on anything faster than the period correct 286/386 CPUs that were out at the time of release, the games timing/speed gets severely messed up. DosBox has nice features to let you control the CPU speed to try and make these games work again.
Software such as Wing Commander were never tested/designed originally to run on faster CPUs that didn't exist back then and software timing can sometimes only be correct on very specific chips and clockspeeds.
Here with XP, its just cool - not a practical or performant choice.
DOSBOX-X and x86box emulate 3d graphics accelerators properly, and the native drivers in Windows support these. That means you can run games that require 3D acceleration. VirtualBox, VMWare often do not support 3d acceleration for older OS - not sure about qemu though.
They are less fun (to the author).
>This is what I like about emulation and playing around with those systems so much.
IIRC one can have some issues with virtualization - dynamic clocks and sheer speed, where emulation has benefits
One can emulate with the others, sure, but not all equal. Accuracy is a comparison benchmark
In case you ever want to run Windows XP at 1MHz, of course. [1]
(/s, of course, but you get the idea – more control.)
[1] https://www.youtube.com/watch?v=_FxHyofXglI&pp=ygUQd2luZG93c...
Not as much pizzazz.
Nothing. Author wanted to push the limits of unsupported stuff on a ongoing project. Myself I prefer vmware instead of virtualbox and/or qemu. When it comes to virtualization and fast spinning whatever flavor of the month a new OS pops vmware is undisputed king.
This is objectively incorrect: vmware/qemu and dosbox are _not_ interchangeable technologies even if it seems like they try to do the same thing, with various comments on this post nicely explaining why and how =)
We've achieved inner-platform-ception. Again. It's recursive.