Windows 95 had a bunch of stuff from 3.1 built in too. You could use progman as the default shell, it had file manager, etc.

The pressure to not fuck up windows 95 was immense. You have to appreciate the landscape then.

You had os/2 not doing that well, Amiga not doing great, NeXT hurting, riscos kinda floundering and the failures of Windows 1 and 2.

The risk of it not slapping was immensely high. A huge amount of the company was bet on it.

They were risk adverse all over the place with the design, it's clear to see when you do a deep dive.

And even then, people balked at things like the 8MB ram "recommendation", which was seen as expensive at the time.

Even after the release and into 1996, large vendors were still shipping some computers with windows 3.1 - it was an option.

It was really both a risky product and had to be done.

Windows 95 was a game changer, especially for Internet connectivity. The built-in "dial up networking" / PPP was huge. I was working at an ISP at the time, and remember how difficult it was to get customers to download Trumpet winsock and set it up for Windows 3.x. It could take hours with a difficult customer.

I worked at an ISP in 1997 (the “You’ve got mail” one) and thankfully the software included a winsock. Our headaches were different; They had just come out with unlimited hours and busy signals were the cause of many complaints. After that got resolved, custom modem strings were really the only complicated bits.

I recall the original Windows 95 release shipping with TCP/IP but the protocol having to be manually added in the Network CPL: https://eml.berkeley.edu/wp/win95/isp.html

Yes! This was still much easier than talking someone through downloading a Trumpet Winsock Zip with a comm program.

I did support for a tiny ISP in 1999 [1], we had to have people remove and reinstall that from time to time. Many people could just do it, but I remember one customer I spent maybe two hours on the phone walking her through it. Would put her on hold when another call came in, and then check back with her. Eventually got it all settled.

[1] we had one T1 for internet and one T1 PRI for the modem pool, and outsourced to MegaPath for out of area dialup, and then shunted all the customers to that when the PRI stopped working

This ISP was a bit earlier. They did move to T1 PRI eventually, but before that we had stacks of modems attached to Livingston Portmasters (I think?) There was basically an octopus of cables coming out of the wall, dozens of individual phone lines, then serial cables, power bricks, power strips three layers deep. It was also always like 100 degrees on one of the POPs. It looked like the plastic was melting on some of the modems.

Ow wow, worked ISP support in 1997 - 1999 and indeed recalled having to reinstall TCP/IP stack and tweaking setting to make stuff work. Next to that, gruesome installation of ISDN drivers (which technically were out of support for us) for a specific brand of ISDN modems the incumbent telco provided to customers.

> You had os/2 not doing that well, Amiga not doing great, NeXT hurting

What was ever wrong with these? I never actually used them but everything I know about them sounds fantastic.

OS/2 Warp was amazing.

It ran Windows applications natively and crashed less than Win 3.1 — but still had some hardware compatibility issues.

It had a fancy scripting language and a lot of neat stuff already built in — unlike Windows at the time.

I really wanted to switch to it, but Win95 won…

> It had a fancy scripting language and a lot of neat stuff already built in

Rexx mentioned! https://en.wikipedia.org/wiki/Rexx

Used Smalltalk for the role .NET has nowadays on Windows, and SOM was so much better than COM.

However that price tag was horrendous as OS for home computers.

I loved the Amiga, but it was basically dead by 1995. Commodore had gone bankrupt, the hardware had stagnated for years, and it was impossible to add modern features like memory protection to the OS.

Memory protection was there on the last models, with the 68030.

For example with a Cobra expansion card, https://amiga.resource.cx/exp/cobra

The CPU was capable, Amiga OS wasn't.

There were utilities to enable it, like Enforcer with 68030.library.

It only protected the first page. It was not a general solution.

Dunno about the others, but I heard OS/2 was amazing... if you had the hardware for it. Which was notably higher end and more expensive than what DOS and Windows could run on.

The PC I got in 1992 would have been about 1000 euros more in today's money if OS/2 ready.

Yes it was amazing, but not worth the extra money for many of us.

I was an avid OS/2 user from 2.1 (1993) through Warp 4 (1996). This is sort of accurate and sort of not. It depends on what point in time you are referring to.

I did happen to have a machine with a monster CPU (for the time), but I knew many people with lesser CPUs. It really wasn't the CPU but the RAM. You had to have 4 MB, better to have 8 MB.

In those days, RAM was the most expensive thing on any computer. Also in those days a lot of the inexpensive clone machines like the Gateway and Dell were still using 30-pin (8-bit wide) RAM, so you had to use 4 sticks to get 32-bit width, and there were only 8 total slots (two banks). 1 MB SIMMs were at least obtainable, which means your practical limit was an 8 MB machine. 4 MB SIMMs were incredibly expensive, almost unobtainable, if your system board even supported them.

OS/2 would run very comfortably on an 8 MB machine, meaning all you really had to do was come up with the scratch for some 1 MB DIMMs and have a machine with the full 8 sockets. It was slightly upmarket for 1992 and 1993, but very far from high end. A ton of people in the BBS scene used OS/2 because it allowed you to run your own BBS in the background, or to connect to a BBS and be downloading files while still being able to use the computer, like say a word processor to write a paper.

By the time Windows 95 came out in late (September) 1995, 4 MB was considered the minimum and 8 MB was considered better. By then the Pentium had been released, but 486SX systems were pervasive and cheap. If you slapped more RAM in them, they would indeed run either OS/2 or Windows 95 just fine. Software rarely needed an FPU. System requirements between the two were basically the same.

The failure of OS/2 came down to software compatibility. The killer feature of OS/2 is that it could run all your DOS programs and all your Windows programs and unlike real DOS or Windows you could have multiple programs open at the same time without bogging-down or crashing the system. Heck, you could even run full-screen VGA games like Doom and task-switch out of them and return. You could be gaming while downloading.

But Windows 95 came out with an even better feature: the ability to run Win32 software that was formerly limited to Windows NT. And that turns out to be a way more important feature than being able to run lots of older software simultaneously. And as far as stability goes, if you only ran Win32 software on Windows 95 it was actually incredibly stable. As long as all the applications themselves are reasonably well-behaved, the inherently unsafe Windows 95 architecture of a large amount of globally shared unprotected memory hosting critical system data structures isn't a big problem.

So what did I do in 1996? Well, I got a true monster machine, a Pentium Pro 200 with I think 64 MB of RAM, and I ordered it with Windows NT 4. By then, Windows NT needed 32 MB minimum, but RAM was getting cheaper so it wasn't as much of a barrier.

So the irony of saying that you needed notably higher-end hardware for OS/2 is that notably higher-end hardware becoming the norm is what really killed OS/2 even among die hard fans.

Cheap RAM, cheap enough to run the even more stable Windows NT, was the last straw. OS/2 was mortally wounded when IBM failed to deliver Windows 95-on-OS/2. I thought at the time they should have done that, and I know now they could have done it. If they had done it, I think OS/2 could have competed with Windows 95. Instead it only limped along among die-hard fans like me. But once hardware caught up and I was able to run Windows NT, there really wan't much point in OS/2 anymore.

1992 ram situation was bad, but not that bad. There was no single most expensive component, it was always a contest between CPU, RAM, HDD and monitor :). 1992 30pin Simm prices:

1MB $30-50.

4MB $150 January 1992, lowest in went would be $100 in December 1992, and back to $130 in December 1994.

Sane combinations were 4x1, 8x1, 4x4, and quite insane 8x4. 1992 was also when non IBM vendors started using 72pin SIMMs, for example Dell Precision 386DX/33 4x72pin while 25MHz model shipped with 8x30pin simm sockets. Edit: Looks like DELL started switching to 72pin simms in early 1990 with 325P/333P/433P models, and in 1992 committed unconscionable abomination by releasing 333s/L 386SX with 72pin simms :o

Nothing was really wrong - they just never hit the spark that Microsoft did (and not to say it wasn't skill on their part).

NeXT was way expensive, OS/2 was way too business-oriented until too late, Amiga was mismanaged financially, Apple's Macintosh was too expensive, etc.

Trying to find a technological fault is what people did at the time. There were long threads on Usenet trying to ascribe things anecdotally to hypotheses that even then did not hold water.

It's sad to see looking for technological reasons happening here in the replies to your question, because that means that subsequent history has been forgotten. The technology turned out later in the decade never to have been the deciding issue, when things like the "Halloween documents" came to light. It was business agreements and marketing that sunk such products (albeit that one can argue that one can find traces of NeXT around even to this day), not technology. There were exclusionary pre-loading agreements with Microsoft, infighting inside IBM between two divisions, some utterly self-destructive litigiousness by some companies, and a whole bunch of Apple politics.

They were great operating systems hampered by various business missteps.

Windows 95's USER and GDI implementation was essentially an enhanced version of Win 3.1's. user32.dll and gdi32.dll were just thunking layers. The 16-bit components were guarded by a mutex named "Win16Mutex" to ensure serialized access to them from the 32-bit side.

Reminds me of how even well into the PowerPC era, much of Mac OS was still written in 68000 assembler, including QuickDraw (the equivalent of GDI).

This mutex also protected a lot of other stuff. For example, if you wanted to access a DirectDraw surface, you needed to lock it in RAM, and this acquired the Win16 mutex. So if you then called a GDI function to draw something, it deadlocked the machine.

Yep it was even an option during the initial setup.