Windows 95 ran your parents' PC. By today's standards, it was an awful, horrible product, but that didn't keep the operating system from overwhelming success. What did Microsoft get right and what did it screw up?

Twenty-three years ago, on Aug. 24, 1995, Microsoft formally released Windows 95.

I was at the Microsoft launch event, attending as press to cover the event (see my badge). The event was enormous, covering a large portion of the Microsoft campus, with Jay Leno as the master of ceremonies. Microsoft licensed the Rolling Stones song "Start Me Up" (which it also used in the Windows 95 TV ad). Clearly, Microsoft pulled out all the stops to market Windows 95, and the result was a whopping commercial success.

The legacy of the technology is not so clear. Looking back 23 years, what did Microsoft do right and what did it do wrong?

By today’s standards, Windows 95 is a miserably flawed product. At the time, it was head and shoulders above the product it replaced, Windows 3.x/Windows for Workgroups, though Windows 3.x was built on an operating system foundation that was antiquated even at the time. Windows 95 tried to hide the fact, but it booted into MS-DOS as well. It launched a 32-bit OS from there, but many of the inherent problems of MS-DOS necessarily plagued Windows 95. Windows 95 also promised support for the older 16-bit Windows applications—so you could continue to run Windows 3.x software—but that brought along its own set of engineering compromises.

Nominally, Microsoft competed with itself by selling more than one operating system. They were targeted at different markets, though. In August 95, Windows NT was at version 3.51, a well-regarded version, and Windows NT version 4, which incorporated the Windows 95 user interface, was released just a year later, on Aug. 24, 1996. The Windows NT platform remained a high-end product for workstations and servers until 2002, when Microsoft decided that mainstream, consumer PC hardware was capable of running Windows NT, and it supported only 32-bit applications.

Many Windows 95 quality problems came from the newness of the software architecture and the low-quality standards of Microsoft and independent software vendors (ISVs). In retrospect, the fault falls especially on ISVs and most heinously on device driver authors. Windows 95 systems would lock up or crash for seemingly arbitrary reasons. The Windows 95 architecture was such that a fault in a single application, especially in a device driver, could bring down the whole system.

Windows 95 blue screen of death: Look familiar?

Windows NT and its successors were much more stable, but as a general rule, the instability problem lived on long after Windows 95. Microsoft didn’t really conquer the quality problem until after the Windows Vista debacle. Vista broke a lot of existing code, something Microsoft had been loath to do, but it needed to be done. And after Windows 7, that brought us to today’s Windows 10, an extremely stable product.

Yet, Windows 95 set the stage for much of what is right with PCs today. A good example is plug-and-play, the idea that you should be able to install new hardware with the expectation that it configures itself. Plug-and-play didn’t work very well at the time (most people said "plug and pray"), but that got fixed eventually, and it’s a good thing that it did.

Like this article? Sign up for the weekly newsletter. We don't waste your time. Subscribe now!

Windows 95 could run 32-bit applications and (gasp!) support more than 640 K of RAM without hacks (see extended and expanded memory). This enabled much more sophisticated applications. The user interface was a huge improvement on Windows 3. The basic Start Menu/Taskbar/Tray structure remains today because it’s a good one—there is a reason it has been emulated by competitors. Windows 95 supported filenames longer than eight characters and a 3-bit extension. It ran DOS virtual machines (MS-DOS applications were still very important in the market) stably in the virtual 8086 mode of the 80386 and later processors. Because of the new 32-bit architecture, Windows 95 was also used to launch new initiatives that are still with us today, such as DirectX.

The dawn of the end-user Internet

It’s worth noting that August '95 was, in many ways, the dawn of the commercial Internet era. Getting a TCP/IP stack running in Windows 3.x was difficult, but Windows 95 came with one that worked. (So did OS/2, but that's another tale.)

Plus, ominously for many players in the industry, Windows 95 came with a web browser: Internet Explorer 1.0. The bundling of this program, at a time when Netscape was trying to charge money for the year-old Navigator browser, was the most public instigation for the U.S. government’s pursuit of Microsoft on antitrust grounds. A lot of lawyers got richer than they already were, and Microsoft had to change a lot of its rules.

The introduction screen for Internet Explorer 1.0

In the decade that followed, Microsoft lost a lot of market share and prestige. But it wasn’t because of any legal actions; rather, Microsoft faltered in product quality. Linux's quality and value turned it into the default platform for servers. The quality and features in Google Chrome won it market share that Internet Explorer long had retained, largely through inertia. Once again, Microsoft had to compete.

And that competition forced Microsoft to improve the quality of its own products. Back in 1995, we all had a lot less experience with computers, and the average person knew nothing. While average users still know little about the internals of their computer operating system, we all know problems when we see them.

It all began on Aug. 24, 1995.

(All images courtesy of the author.)