In The Beginning...
What a difference a year makes
Often it seems like no other industry advances as fast as that of the personal computer. Few people even stop to think that in the 20+ years we've been computing, the details of how interact with our computers have changed dramatically. Even the GUI-laden Windows 3.0 is a far cry from the technology (and some would say bloat) endowed to Windows 2000, or even 98/Me. With that, let's take a look at how Bill Gates has shaped the way you work and play!
The command-line interface
Back in the day, there was the command-line operating system. Simple 80 character 25 line monochrome screens were the magic gateway to the hardware of the age. With the rise of the personal computer, we saw IBM contract with Microsoft to create PC-DOS, which would later become MS-DOS. This operating system became the foundation for all things that would be built from that point forward and as imperfect and intimidating as it was, it was familiar enough to hardcore Unix users so that it made some modicum of sense. Soon vendors began to learn how to work within the confines of this environment and a plethora of business applications came to the market. Word Perfect, Lotus 1-2-3 and dBase became fixtures in the corporate world, and as things progressed, utility makers began creating programs to help make living in the command-line world a little easier.
As the screen on the left shows, the syntax of DOS commands could be quite cryptic. Users had to deal with commands names, attributes, and switches just to perform simple operations like copying or deleting files and directories. To address that, groundbreaking applications like Norton Commander, pictured on the right, were developed. Their goal was to help make the DOS interface more user friendly, and it worked surprisingly well for many. The ability to select and copy files with a few intuitive keystrokes was a welcome advance. In fact, as mice became more of a fixture on the PC, utility makers began building mouse support in as well, making it even easier for users to operate. As crude as the simple 80x25 screen capture of Norton Commander may look, it really should be praised for helping to push the technological envelope at the time it was introduced. For the first time, novices had a chance of working their way around their own system without having to have a tech manual or command list spread out in front of them. Just hit a few function keys and you are off and running.
It's getting hard to remember
Things started progressing quickly at this point and soon applications and utilities became bottlenecked by the original 640-kilobyte memory limits of existing systems. If you load a pseudo-graphical front end and run programs underneath it, you may be out some 30 or 40K. Add to that the overhead of a mouse driver, a VESA graphics driver, and possibly a network interface driver, and suddenly, you may only have 500K left.
Microsoft had added the ability to access memory beyond 1 megabyte, but they did so in an odd way. To ensure compatibility with previous applications, they maintained the 640K limit and used a small 64K chunk of upper memory as a 'gateway' to the rest of the memory in the system. This 64K expanded memory paging area was really no more than a crutch, but programmers began to rely on it, and even though another, more efficient memory extension became available (Extended Memory), the damage had been done and vendors were reluctant to reprogram their applications.
Memory management became a serious problem, and luckily utility makers again pushed the envelope with a slew of new utilities. One market leader was Quarterdeck, which created the QEMM memory manager. This memory optimization program went a long way to helping ease the pain, as it was able to load parts of drivers and the operating system into that 384K block of memory between 640K and 1MB to free up more primary memory. As they got more comfortable with the nuances of DOS memory management, Quarterdeck took another exciting leap - this time into the world of multitasking.
Their DESQview/386 product took full advantage of the 32-bit processing capabilities provided by the 386 processor and the extended memory protocol to allow users to load more than one program at a time and switch between them. It had some bugs, but it worked pretty well. They used a slick character-based interface with mouse support to make managing things a bit easier, but as good as this idea was, it was only a stopgap measure.